Dokumentacja Gentoo Linux -- Tenshi
1.
Wprowadzenie
Tenshi to program służący do monitorowania logów systemowych, stworzony z myślą
o przeszukiwaniu jednego lub kilku takich plików pod kątem linii pasujących do
stworzonych przez użytkownika wyrażeń regularnych i przy każdym wykryciu takiej
linii raportujący o tym w odpowiedni sposób. Wyrażenia regularne przypisywane są
do kolejek, z których każda ma własny okres oczekiwania pomiędzy raportami oraz
własną listę adresów mailowych odbiorców raportu.
Kolejki mogą być konfigurowane tak, aby wiadomość była wysyłana tak szybko, jak
tylko program natrafi na odpowiednią linię lub by list był wysyłany co jakiś
określony okres czasu.
Dodatkowo można zamaskować nie interesujące nas pola w logach (takie jak na
przykład numery PID). Dokonuje się tego również za pomocą standardowych dla
wyrażeń regularnych operatorów grup ( ). Pozwala to na tworzenie bardziej
przejrzystych raportów. Wszystkie raporty są dzielone w zależności od nazwy
hosta oraz grupowane, kiedy tylko jest to możliwe.
Program odczytuje plik konfiguracyjny, a następnie uruchamia w tle demona, który
monitoruje wybrane pliki z logami.
Warto zapoznać się z przykładowym plikiem tenshi.conf oraz
stroną podręcznika systemowego man 8 tenshi w celu zdobycia większej
wiedzy na temat pracy z programem.
Ważne:
Kiedyś pakiet ten nazywał się Wasabi, ale nazwę zmieniono w związku z
tym, że był to zarejestrowany znak handlowy innej firmy.
|
2.
Przykłady
W pliku tenshi.conf warto posiadać następujące wpisy:
Listing 2.1: Przykładowe ustawienia kolejek w pliku tenshi.conf |
...
set hidepid on
set queue mail tenshi@localhost sysadmin@localhost [0 */12 * * *]
set queue misc tenshi@localhost sysadmin@localhost [0 */24 * * *]
set queue critical tenshi@localhost sysadmin@localhost [now]
group ^ipop3d:
mail ^ipop3d: Login user=(.+)
mail ^ipop3d: Logout user=(.+)
mail ^ipop3d: pop3s SSL service init from (.+)
mail ^ipop3d: pop3 service init from (.+)
mail ^ipop3d: Command stream end of file, while reading.+
mail ^ipop3d: Command stream end of file while reading.+
critical ^ipop3d: Login failed.+
trash ^ipop3d:.+
group_end
critical ^sudo: (.+) : TTY=(.+) ; PWD=(.+) ; USER=root ; COMMAND=(.+)
misc .*
|
Każda wiadomość ipop3d nie pasująca do wyrażeń regularnych kolejki mail
lub critical zostanie przekierowana do kolejki trash (wbudowana
kolejka zerowa). Każda pozostała wiadomość będzie przekierowywana do kolejki
misc. Wpisy wewnątrz (.+) zostaną zamaskowane.
Poniżej znajduje się przykładowy raport z kolejki mail wysłany po 12
godzinach pracy programu.
Listing 2.2: Przykładowy raport - kolejka [mail] |
host1:
79: ipop3d: Login user=___
74: ipop3d: Logout user=___
host2:
30: ipop3d: Login user=___
30: ipop3d: Logout user=___
19: ipop3d: pop3 service init from ___
12: ipop3d: pop3s SSL service init from ___
1: ipop3d: Command stream end of file while reading line user=??? host=bogus.domain.net [192.168.0.1]
1: ipop3d: Command stream end of file, while reading authentication host=bogus1.domain.net [10.1.7.1]
|
Poniżej znajduje się przykładowy raport z kolejki critical. Takie
wiadomości są wysyłane natychmiast po tym jak tylko pojawi się wpis pasujący do
wyrażenia regularnego.
Listing 2.3: Przykładowy raport - kolejka [critical] |
host1:
1: /usr/bin/sudo: ___ : TTY=___ ; PWD=___ ; USER=root ; COMMAND=/bin/dmesg
|
Listing 2.4: Przykładowy raport - kolejka [critical] |
host1:
1: /usr/bin/sudo: ___ : TTY=___ ; PWD=___ ; USER=root ; COMMAND=/bin/bash
|
Listing 2.5: Przykładowy raport - kolejka [critical] |
host2:
1: ipop3d: Login failed user=admin auth=admin host=bogus1.domain.net [10.1.7.1]
|
Listing 2.6: Przykładowy raport - kolejka [critical] |
host2:
1: ipop3d: Autologout user=??? host=bogus.domain.net [192.168.0.1]
|
3.
Wymagania
Tenshi wymaga, aby działał program 'tail'. Niezbędny jest także moduł Net::SMTP
pozwalający na wysyłanie raportów pocztą. Powinien on być częścią instalacji
perla.
Użytkownicy Gentoo mogą zainstalować ten program poprzez ebuild
app-admin/tenshi.
4.
Zasoby
Najnowsze wydanie tenshi znajduje się tu: tenshi-latest.tar.gz.
Wszystkie wydania są także dostępne na stronie
http://dev.gentoo.org/~lcars/tenshi.
Wszelkie prośby, sugestie i raporty o błędach prosimy przysyłać na adres
tenshi@gentoo.org
|