Strona 1 z 1

[+] Skrypt zbierający informacje systemowe

: 28 października 2008, 20:26
autor: TooMeeK
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?

Kod: Zaznacz cały

#/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ć:
echo "-----------------------TEMPERATURY I NAPIECIA-----------------------"
sensors >> $plik
echo "-----------------------ILOSC WOLNEJ PAMIECI-----------------------"
free -m > $plik
A czy ktoś wie jak wstawić do logu średnie dzienne obciążenie procesora?

[ Dodano: 2008-10-28, 21:35 ]
tak testowałem mail:
mail -s "Raport o stanie serwera "$(cat /etc/hostname) -c boss@firma.pl ja@firma.pl

: 02 listopada 2008, 05:25
autor: ShinnRa
ja bym na pewno zmienił tą linijkę no chyba, że plik ma zawierać tylko info o pamięci:

Kod: Zaznacz cały

echo "-----------------------ILOSC WOLNEJ PAMIECI-----------------------"
free -m > $plik
^^

: 02 listopada 2008, 18:12
autor: Stawi
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

: 02 listopada 2008, 20:05
autor: winnetou

Kod: Zaznacz cały

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 informacje o procesach running_processes/all_processes i jeszcze jedna liczba, o której nic nie wiem.

: 05 listopada 2008, 13:25
autor: TooMeeK
ShinnRa, dzięki za podpowiedź. Co powiesz na:
cat /proc/meminfo > $plik
?
winnetou, właśnie wczoraj wyniuchałem ten plik (ogólnie przejrzałem co prezentuje katalog /proc) tylko nie zdążyłem posta napisać ;)

: 05 listopada 2008, 13:46
autor: ShinnRa
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
&quot pisze:

Kod: Zaznacz cały

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 informacje o procesach running_processes/all_processes i jeszcze jedna liczba, o której nic nie wiem.
Ostatnia liczba to id ostatnio stworzonego procesu.

Generalnie co do plików w /proc to polecam:

Kod: Zaznacz cały

man /proc
tam jest wszystko bardzo ładnie opisane.

: 24 listopada 2008, 21:24
autor: TooMeeK
Rozwiązałem to tak:
  1. Konfiguracja Exima:

    Kod: Zaznacz cały

    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ć.
  2. Do powyższego skryptu na końcu dopisałem:

    Kod: Zaznacz cały

    #Wysyla w postaci tekstu w mailu
    mutt -s "Raport o stanie serwera METEOR" [email]admin@firma.pl[/email] -c [email]network@firma.pl[/email] < $plik
I w ten sposób otrzymuję raporty. Czy są lepsze rozwiązania?

: 25 listopada 2008, 09:51
autor: Utumno
Od tego sa systemy SNMP takie jak Munin czy Cacti.

: 28 listopada 2008, 18:28
autor: fair
Trochę poza tematem ale może się komuś przyda:
link