Dzienniki monitorowania systemu Linux i powiadomienia e-mail?


13

Mam serwer z wadliwym przyciskiem zasilania, który lubi się restartować. Zwykle pojawiają się znaki ostrzegawcze, na przykład plik dziennika acpid w katalogu / var / log zaczyna spamować śmieci przez około 10 godzin.

Czy istnieje prosty sposób, aby coś monitorować dziennik acpid i przesyłać mi e-mailem informacje o nowej aktywności?

Nie uważałbym się za bardzo zaawansowanego, więc każdy „przewodnik”, który możesz mieć do osiągnięcia czegoś takiego, byłby bardzo pomocny i bardzo doceniany. Dziękuję Ci!


Czy zmiana przycisku zasilania i / lub serwera jest wiarygodnym rozwiązaniem?
Meetai.com,

Odpowiedzi:


19

Możesz użyć czegoś takiego jak LogWatch . Lub nawet prosty skrypt taki jak ten (jest to pseudo kod, który musisz zmodyfikować w swoim środowisku):

 #!/bin/bash
 GREP_STRING=`grep -c <error string> <acpid log location>`
 if [ $GREP_STRING -ne 0 ] 
 then
    <send email notification>
 fi

Włóż to do crona, aby uruchamiał się co godzinę, a powinieneś otrzymać wiadomość e-mail z informacją, kiedy robi się dziwnie.


1
logwatch działa dla mnie świetnie.
J.Zimmerman

3
Problem z tym scenariuszem jest to, że wyśle ten sam błąd w kółko, aż plik zostanie obrócony
chmeee

Na Ubuntu / Debian logwatch można zainstalować za pomocą: aptitude install -y logwatch
Meetai.com

8

Możesz użyć OSSEC HIDS, aby skonfigurować reguły dla plików dziennika i jednocześnie uzyskać informacje o bezpieczeństwie od swojego hosta.

Konfiguracja jest bardzo łatwa:

  • Pobierz źródło
  • Rozpakuj go i uruchom ./install.sh
  • Wybierz instalację lokalną
  • Odpowiedz na pytania (e-mail, czeki itp.)
  • Edytuj /var/ossec/rules/local_rules.xmlzgodnie z poniższym opisem
  • Uruchom OSSEC za pomocą /var/ossec/bin/ossec-control start

local_rules.xml

<group name="local,syslog,">
  <rule id="100001" level="13">
    <regex>^.*Your string.*$</regex>
    <description>I've just picked up a fault in the AE35 unit. It's going to go 100% failure in 72 hours</description>
  </rule>
</group>

Zasady mogą być bardzo elastyczne i złożone. Zobacz tę tabelę, aby poznać parametry związane z regułą.

Jeśli nie chcesz lub nie potrzebujesz innych funkcji bezpieczeństwa, możesz je dezaktywować, usuwając includelinie pod rulestagiem.



3

I możesz wysłać to za pomocą czegoś takiego:

EMAILMSG="/tmp/logreport.$$"
echo "Something to put in the email" >> $EMAILMSG

cat $EMAILMSG | mail -s "Whatever Subject You Like" user@domain.com
rm -f $EMAILMGS

3

Używam Zabbix z narzędziami IPMI do restartowania uszkodzonych serwerów na żądanie. Myślę też, że OSSEC jest dobrym wyborem, ale naprawdę musisz eksperymentować i debugować, zanim umieścisz go w prod ...


3

Pobierz i zainstaluj Splunk na serwerze. Jest podobny do logwatcha, ale zapewnia wyszukiwarkę twoich logów.

Możesz go skonfigurować tak, aby indeksował dzienniki, możesz następnie przeszukiwać dzienniki i znajdować wzorce, znajdować błędy, a następnie sprawdzać, co robią inne dzienniki w tym konkretnym punkcie awarii.

Można również ustawić wysyłanie alertów lub wykonywanie skryptów przy określonych progach. Jeśli więc konkretny błąd zacznie być spamowany w twoim dzienniku, możesz napisać go w skrypcie, aby automatycznie zrestartować naruszającą usługę.

Używamy splunk w naszym klastrze serwerów i to uratowało życie!


+1 za Splunk wygląda całkiem nieźle, daję mu szansę później wieczorem.
Mark Davidson,

1

W poprzednim pracodawcy korzystaliśmy z logsurfer + do monitorowania dzienników w czasie rzeczywistym i wysyłania powiadomień e-mail. Dostrojenie fałszywych wyników zajmuje dużo czasu i konfiguracji, ale mieliśmy zestaw reguł, który działał całkiem dobrze w przypadku różnych ustaleń i alarmowania, znacznie bardziej wartościowego niż Nagios do podobnych celów.

Niestety nie mam już dostępu do pliku konfiguracyjnego, aby dostarczyć próbki tego, co przefiltrowaliśmy, ale strona powinna dostarczyć więcej informacji i przykładów.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.