[Sysfence-commit] sysfence/dokprojektlic specuzytkownika.tex,1.2,1.3
Status: Alpha
Brought to you by:
emes
|
From: mkoperto <mko...@us...> - 2004-05-30 09:27:44
|
Update of /cvsroot/sysfence/sysfence/dokprojektlic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18172 Modified Files: specuzytkownika.tex Log Message: nowa wersja Index: specuzytkownika.tex =================================================================== RCS file: /cvsroot/sysfence/sysfence/dokprojektlic/specuzytkownika.tex,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- specuzytkownika.tex 29 May 2004 23:36:00 -0000 1.2 +++ specuzytkownika.tex 30 May 2004 09:27:32 -0000 1.3 @@ -18,7 +18,7 @@ Ka¿dy proces otrzymuje swoj± nazwê. W przypadku procesu rodzicielskiego jest to \texttt{sffetch}, a w przypadku procesów potomnych \texttt{sfwatch}. Nazwy procesów dostêpne s± np. po wykonaniu polecenia -\texttt{ps wxu} w kolumnie \texttt{COMMAND}. Podstawowe nazwy wzbogacane sa +\texttt{ps wxu} w kolumnie \texttt{COMMAND}. Podstawowe nazwy wzbogacane s± o dodatkowe informacje: \begin{itemize} \item \texttt{STOPPED} -- gdy proces zosta³ zatrzymany, @@ -27,7 +27,7 @@ \end{itemize} Informacje te umo¿liwiaj± okre¶lenie zadañ i stanów poszczególnych procesów. -Komunikacja z procesmi odbywa siê za pomoc± sygna³ów. Przydatne sygna³y +Komunikacja z procesami odbywa siê za pomoc± sygna³ów. Przydatne sygna³y zamieszczone s± w tablicach~\ref{tab:s1} i~\ref{tab:s2}. \begin{table}[ht] @@ -59,14 +59,60 @@ \subsection{Konfiguracja} -Konfiguracja programu wczytywana jest z plików. Ka¿dy plik mo¿e zwieraæ wiele regu³. -Przyk³adowy plik \texttt{example.conf} z regu³ami dostêpny jest w katalogu \texttt{doc/}. +Konfiguracja programu wczytywana jest z plików. Plik konfiguracyjny sk³ada +siê z regu³. Ka¿da regu³a sk³ada siê z trzech czê¶ci: nazwy, warunku i akcji. +Przyk³adowy plik z regu³ami dostêpny w \texttt{doc/example.conf}. Plik dodatkowo +zawiera skrócony opis sk³adni jêzyka regu³. Poni¿ej zamieszczamy precyzyjny +opis gramatyki. +{\scriptsize \begin{verbatim} +ruleset := rule [<string>] <block_expression> <rundata> [<logdata>] [<stepdata>] + | rule [<string>] <block_expression> <logdata> [<rundata>] [<stepdata>] +block_expression := { <expression> } +expression := <atomic> [<log_op> <expression>] + | <block_expression> [<log_op> <expression>] +logdata := log [once] +rundata := run [once] "command" +stepdata := step <integer> +atomic := <stat> <comp_op> <threshold> +stat := la1 | la5 | la15 | memfree | memused | swapfree | swapused + | <fs_cond> | <proc_cond> +fs_cond := spacefree "path" + | spaceavail "path" + | spaceused "path" +proc_cond := nproc [<user_list>] [<state_list>] +user_list := <uid> [, <user_list>] + | <username> [, <user_list>] +state_list := <state> [, <state_list>] +state := sleeping | running | stopped | uninterruptible | zombie +log_op := && | || +comp_op := = | < | > | <= | >= | != +\end{verbatim} } +Jest on dostêpny równie¿ w pliku \texttt{parseopt/grammar.txt}. Poni¿ej zamieszczamy kilka przyk³adowych regu³. -\begin{verbatim} -rule "" { - la1 >= 8.00 -} run once 'echo "SHOW FULL PROCESSLIST" | mysql | mail my...@em...' -\end{verbatim} +{\footnotesize \begin{verbatim} +if "something wrong" { + la15 > 4.0 + and + { + swapfree < 64M + or + memfree < 128M + } +} run 'echo "i wish you were here..." | sendsms +48ADMINCELLPHONE' + +rule "high load" { la1 > 3.0 and la15 > 2.0 } log + +when "memory low" { + freemem < 128M + or + swapused > 256M +} invoke once 'echo "go buy some memory" | mail me...@em...' +log once +step 60 +\end{verbatim} } +Nale¿y zwróciæ uwagê ¿e niektóre s³owa kluczowe posiadaj± zamienniki, np. zamiast +\texttt{if} mo¿na u¿ywaæ \texttt{rule},\texttt{when} lub \texttt{on}; zamiast \texttt{run} -- +\texttt{invoke} \texttt{exec} \texttt{execute}. Parametrami monitorowanymi w wersji 0.12 programu s±: \begin{itemize} @@ -81,4 +127,3 @@ \item \textbf{usedspace} -- wykorzystana przestrzeñ dla systemu plików, \item \textbf{availspace} -- dostêpne przestrzeñ dla systemu plików. \end{itemize} - |