|
Skrypt zbierający informacje systemowe
TooMeeK - 28-10-2008 20:26
Uszanowanko! Napisałem skrypt zbierający informacje systemowe i w zamierzeniu ma on wysyłać raz dziennie informacje na adres e-mail administratora danego serwera. W moim przypadku jest to Debian. Chciałbym go jednak bardziej dopracować, więc czekam na pomysły, co byście do niego dopisali/zmienili? #/bin/bash #Skrypt do zbierania informacji systemowych - Debian #Tworzę zmienną - nazwa pliku z datą i aktualnym czasem temp=$(echo "log_" | tr -d '\n' && date +%Y%m%d%H%M%S | tr -d '\n' && echo ".log") #Podanie zmiennej z nazwą pliku i pełną ścieżką plik=/var/log/$temp #Utwórz pusty plik - nazwa pliku zawiera czas w sekundach, wiec nie powtórzy się touch $plik #Zbieranie informacji echo "-----------------------SYSTEM I JAJKO-----------------------" >> $plik uname -a >> $plik cat /etc/hostname >> $plik echo "-----------------------LOGI SYSTEMOWE-----------------------" >> $plik echo "-----------------------AUTH.LOG - NIE UDANE LOGOWANIA-----------------------" >> $plik cat /var/log/auth.log | grep Fail >> $plik echo "-----------------------AUTH.LOG - UDANE LOGOWANIA-----------------------" >> $plik cat /var/log/auth.log | grep Accept >> $plik echo "-----------------------SYSLOG-----------------------" >> $plik cat /var/log/syslog >> $plik echo "-----------------------STAN MACIERZY DYSKOWEJ-----------------------" >> $plik mdadm --detail /dev/md0 >> $plik echo "-----------------------KTO JEST AKTUALNIE ZALOGOWANY-----------------------" >> $plik who -s >> $plik who -q >> $plik
Do tego eksperymentowałem z wysyłaniem tego na maila (mail, sendmal), ale coś nie idzie. Czy w Debianie trzeba konfigurować serwer pocztowy? Pytanie laika, wiem :-/
[ Dodano: 2008-10-28, 21:23 ] Zapomniałem dodać: A czy ktoś wie jak wstawić do logu średnie dzienne obciążenie procesora?
[ Dodano: 2008-10-28, 21:35 ] tak testowałem mail:
ShinnRa - 02-11-2008 05:25
ja bym na pewno zmienił tą linijkę no chyba, że plik ma zawierać tylko info o pamięci: echo "-----------------------ILOSC WOLNEJ PAMIECI-----------------------" free -m > $plik
^^
Stawi - 02-11-2008 18:12
A ja bym zainstalowal logwatch - robi wszystko co podaliscie i wiele wiecej. Poza tym jest w pelni konfigurowalny - troszke upierdliwie ale sie da.
Pozdr :D
winnetou - 02-11-2008 20:05
Dziękuję...
TooMeeK - 05-11-2008 13:25
ShinnRa, dzięki za podpowiedź. Co powiesz na: ? winnetou, właśnie wczoraj wyniuchałem ten plik (ogólnie przejrzałem co prezentuje katalog /proc) tylko nie zdążyłem posta napisać ;)
ShinnRa - 05-11-2008 13:46
ehh... ^^ chodziło mi raczej o to, że dałeś tylko jeden > co powoduje usunięcie całej zawartości pliku.
Ja osobiście wolę pobierać wszystkie informacje o systemie z /proc
Kod: echo "-----------------------ÂŚREDNIE OBCIÂĄÂŻENIE SYSTEMU-----------------------" >> $plik cat /proc/loadavg >> $plik
wynik jest w postaci: średnie obciążenie w ostatniej minucie, w ostatnich 5 minutach i ostatnich 15 minutach, do tego info o procesach running_processes/all_processes i jeszcze jedna liczba o której nic nie wiem ;)
ostatnie liczba to id ostatnio stworzonego procesu.
Generalnie co do plików w /proc to polecam
man /proc
tam jest wszystko bardzo ładnie opisane.
TooMeeK - 24-11-2008 21:24
Rozwiązałem to tak:l Konfiguracja Exima:
dpkg-reconfigure exim4-config
(swoją drogą nie ogarniam jego pliku konfiguracyjnego) - na firewallu otworzyłem tylko port 25 do wysyłania komunikatów z serwera, bo poczty na nim nie potrzebuję trzymać.l
lDo powyższego skryptu na końcu dopisałem: #Wysyla w postaci tekstu w mailu mutt -s "Raport o stanie serwera METEOR" admin@firma.pl -c network@firma.pl < $plik
l
I w ten sposób otrzymuję raporty. Czy są lepsze rozwiązania?
Utumno - 25-11-2008 09:51
Od tego sa systemy SNMP takie jak Munin czy Cacti.
fair - 28-11-2008 18:28
trochę off top ale może się komuś przyda link
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|