Monitorowanie systemu za pomocą powiadomień e-mail

11

Obecnie mam Ubuntu Server 16.04 LTS i chcę otrzymywać powiadomienia e-mail z informacjami o zużyciu zasobów na moim serwerze. Procesor, pamięć, zamiana, nazywasz to.

Rozumiem, że mogę używać Spojrzeń do monitorowania lokalnego, ale nie będę cały czas patrzeć na informacje w konsoli. Potrzebuję tylko powiadomień e-mail, które informują mnie o zasobach, które przekraczają normalne / krytyczne wartości i są powiadamiane.

Czy ktoś zna metodę, która pozwala mi to zrobić?

SierżantSerk
źródło
netdata jest idealna dla twoich wymagań.
luv.preet

Odpowiedzi:

13

Dam ci małą listę narzędzi - podczas gdy osobiście poleciłbym Nagios tak, jak się do tego przyzwyczaiłem. Ma dużą bazę użytkowników, dobrą kolekcję wtyczek itp. - Ale słyszałem też dobre rzeczy o Icingi .

Należy pamiętać, że konfiguracja Nagios lub Icinga zajmie trochę czasu, zanim uzyskasz doskonale działającą konfigurację, która obejmuje / monitoruje wszystkie istniejące usługi. Początek najprawdopodobniej nie jest taki łatwy, ale gdy już zaczniesz działać, jest to urocza konfiguracja, która powiadomi wszystkie zdefiniowane usługi, jeśli stan się zmieni, więc coś, co można zgłosić / zdefiniować jako krytyczne

Nazwy projektów i linki

Przede wszystkim - szybki przegląd:

Ustawienia klienta i serwera

Inne ciekawe oprogramowanie

  • Wędzenie (ograniczone pod względem funkcji)

Konfiguracje dla jednego hosta

Więcej informacji

O Nagios

Wikipedia pisze

Nagios / ˈnɑːɡiːoʊs /, obecnie znany jako Nagios Core, to darmowa aplikacja typu open source, która monitoruje systemy, sieci i infrastrukturę. Nagios oferuje usługi monitorowania i ostrzegania dla serwerów, przełączników, aplikacji i usług. Ostrzega użytkowników, gdy coś pójdzie nie tak, i ostrzega ich po raz drugi, gdy problem został rozwiązany.

Przykładowy obrazek - pokazujący 1 z kilku twoich widoków:

wprowadź opis zdjęcia tutaj

Oto dobry post AskUbuntu na temat instalacji Nagios . Nagios Exchange oferuje ogromną kolekcję wtyczek, dodatków, dokumentacji, rozszerzeń i innych.

O Munin

Wikipedia pisze

Munin to darmowa i otwarta aplikacja do monitorowania systemów komputerowych, monitorowania sieci i monitorowania infrastruktury. Oferuje usługi monitorowania i ostrzegania dla serwerów, przełączników, aplikacji, usług itp. Ostrzega użytkowników, gdy coś pójdzie nie tak, i ostrzega ich po raz drugi, gdy problem został rozwiązany

Przykładowy obraz

wprowadź opis zdjęcia tutaj

O Icinga

Wikipedia pisze

Icinga to system komputerowy typu open source i aplikacja do monitorowania sieci. Został on pierwotnie stworzony jako rozwidlenie aplikacji do monitorowania systemu Nagios w 2009 roku.

Icinga próbuje ominąć niedociągnięcia w procesie rozwoju Nagios, a także dodać nowe funkcje, takie jak nowoczesny interfejs użytkownika w stylu Web 2.0, dodatkowe łączniki bazy danych (dla MySQL, Oracle i PostgreSQL) oraz interfejs API REST, który pozwala administratorom integrować wiele rozszerzeń bez skomplikowanej modyfikacji rdzenia Icinga.

Przykład Obraz przedstawiający 1 z kilku widoków:

wprowadź opis zdjęcia tutaj

O Spiceworks

Wikipedia pisze:

Spiceworks to profesjonalna sieć dla branży technologii informatycznych z siedzibą w Austin w Teksasie. Firma została założona w styczniu 2006 roku przez Scotta Abla, Jaya Hallberga, Grega Kattawara i Francisa Sullivana w celu tworzenia oprogramowania do zarządzania IT.

Spiceworks to społeczność internetowa, w której użytkownicy mogą współpracować i szukać wzajemnych porad, a także angażować się na rynku w celu zakupu usług i produktów związanych z IT. Szacuje się, że z sieci korzysta ponad sześć milionów specjalistów IT i 3000 dostawców technologii.

O monit

Wikipedia pisze

Monit to bezpłatne narzędzie do monitorowania procesów typu open source dla systemów Unix i Linux. W Monit status systemu można wyświetlić bezpośrednio z wiersza poleceń lub za pośrednictwem macierzystego serwera HTTP (S). Monit zyskał popularność dzięki Ruby on Rails i serwerowi WWW Mongrel [potrzebne źródło], ponieważ potrzebne było narzędzie, które mogło zarządzać wieloma identycznymi procesami Mongrel, które musiały zostać uruchomione w celu obsługi skalowalnej strony Ruby on Rails, a Monit był dość wyjątkowy dostosowane do potrzeb społeczności Ruby on Rails. Wiele popularnych stron Railsowych używa Monit, w tym Twitter i scribd.

O kaktusach

Wikipedia pisze:

Cacti to internetowe narzędzie do monitorowania i tworzenia wykresów oparte na otwartym źródle, zaprojektowane jako aplikacja dla standardowego narzędzia do rejestrowania danych RRDtool. Kaktusy pozwalają użytkownikowi na odpytywanie usług w ustalonych odstępach czasu i tworzenie wykresów wynikowych danych. Zasadniczo służy do tworzenia wykresów szeregów czasowych danych, takich jak obciążenie procesora i wykorzystanie przepustowości sieci. Częstym zastosowaniem jest monitorowanie ruchu sieciowego poprzez odpytywanie przełącznika sieciowego lub interfejsu routera za pomocą protokołu Simple Network Management Protocol (SNMP).

Interfejs może obsługiwać wielu użytkowników, każdy z własnym zestawem grafów, dlatego czasami jest używany przez dostawców hostingu (szczególnie serwer dedykowany, wirtualny serwer prywatny i dostawców kolokacji) do wyświetlania statystyk przepustowości dla ich klientów. Można go użyć do skonfigurowania samego gromadzenia danych, umożliwiając monitorowanie niektórych ustawień bez ręcznej konfiguracji RRDtool. Kaktusy można rozszerzyć, aby monitorować dowolne źródło za pomocą skryptów powłoki i plików wykonywalnych.

O Zabbix

Wikpedia pisze:

Zabbix to oprogramowanie do monitorowania sieci i aplikacji typu open source dla przedsiębiorstw, stworzone przez Aleksieja Władysława. Jest przeznaczony do monitorowania i śledzenia stanu różnych usług sieciowych, serwerów i innego sprzętu sieciowego.

Zabbix używa MySQL, PostgreSQL, SQLite, Oracle lub IBM DB2 do przechowywania danych. Jego backend jest napisany w C, a webendend w PHP. Zabbix oferuje kilka opcji monitorowania

dufte
źródło
4

Możesz użyć kilku rozwiązań. Jednym z nich jest monit.

W wierszu polecenia uruchom następujące polecenie:

sudo apt-get install monit

Monit powinien być teraz zainstalowany i dostępny za pośrednictwem jednego z następujących adresów URL:

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

Konfiguracja Monit

Zanim zaczniesz używać Monitautomatycznego monitorowania serwera, musisz wykonać podstawową konfigurację. Najpierw wykonaj kopię zapasową istniejącej Monitkonfiguracji domyślnej za pomocą następującego polecenia:

sudo mv /etc/monit/monitrc /etc/monit/monitrc.bak

Następnie utwórz nowy monitrcplik za pomocą polecenia

sudo /etc/monit/monitrc 

i skopiuj do niego następującą zawartość.

# How often in seconds should monit check your services.
set daemon 120

set logfile /var/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state

# Configure your SMTP out server. 
set mailserver smtp-server.columbus.rr.com port 25,localhost

set eventqueue
    basedir /var/lib/monit/events # set the base directory where events will be stored
    # optionally limit the queue size
    slots 100 

# Use one of the following 2 lines. The second line alerts on every little change and can be annoying.
set alert [email protected] but not on { instance, pid, ppid } #does not send alert on pid changes
#set alert [email protected] 

set httpd port 2812 and
    #Change username and password
    allow Username:Password
    # To enable SSL for WebUI uncomment the next 2 lines
    #ssl enable
    #pemfile /path/to/unified/certificate.pem
    # To restrict access to localhost only uncomment the following line
    #allow localhost

include /etc/monit/conf.d/*

Linie zaczynające się od # są komentarzami, które pomogą ci dostosować konfigurację. Upewnij się, że przynajmniej poprawnie skonfigurowano adres e-mail administratora, serwer SMTP i port SMTP. Należy również rozważyć zmianę nazwy użytkownika i hasła Monit WebUI. Jeśli masz certyfikat SSL, możesz włączyć to również dla dostępu HTTPS

Na razie użyj następujących poleceń, aby upewnić się, że Monit działa dobrze.

Aby przetestować Monitkonfigurację pod kątem błędów składniowych:

sudo monit -t

Aby uruchomić Monit:

sudo monit

Aby sprawdzić status monitorowania:

sudo monit status

Monitorowanie obciążenia systemu za pomocą Monit

Wymagane jest posiadanie działającej instancji Monit z odpowiednim /etc/monit/monitrcplikiem. Konfiguracje Monit dla różnych usług są ładowane z /etc/monit/conf.dfolderu. Aby monitorować obciążenie serwera Monit, utwórz Monitplik konfiguracyjny za pomocą następującego polecenia:

sudo /etc/monit/conf.d/systemload

Skopiuj do niego następującą zawartość, zapisz i wyjdź

# domain.com could be IP, hostname, or localhost
check System domain.com
    if loadavg (1min) > 4 then alert
    if loadavg (5min) > 2 then alert
    if memory usage > 75% then alert
    if swap usage > 25% then alert
    if cpu usage (user) > 80% then alert
    if cpu usage (system) > 30% then alert
    if cpu usage (wait) > 20% then alert

Ten kod spowoduje Monitwysłanie e-maila z ostrzeżeniem, gdy zostanie spełniony jeden z powyższych warunków (np. Średni ładunek trwa >4co najmniej 1 minutę lub gdy więcej niż 75% RAMjest pełny). Możesz dowolnie dostosowywać powyższe zasady. Poniżej znajduje się przykładowe powiadomienie e-mail wysłane Monitwraz z opisem tego, co spowodowało powiadomienie.

Przetestuj i przeładuj Monit

Po wprowadzeniu jakichkolwiek zmian musisz przetestować Monitkonfigurację:

sudo monit -t

Powinien zostać wyświetlony następujący komunikat: Control File Syntax OK.

Następnie sprawdź, czy Monitjuż działa, używając następującego polecenia:

sudo /etc/init.d/monit status

Jeśli Monitjest uruchomiony, załaduj ponownie Monitkonfiguracje za pomocą następującego polecenia:

sudo /etc/init.d/monit reload

Teraz uruchom przeglądarkę internetową i odwiedź jeden z następujących adresów URL w zależności od konfiguracji Monit (pamiętaj, aby użyć poprawnego numeru portu):

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

Powinieneś zobaczyć status systemu, obciążenie, obciążenie procesora, obciążenie pamięci i obciążenie wymiany

Monitorowanie pamięci za pomocą Monit

Następnie wymagane jest posiadanie działającej Monitinstancji z odpowiednim /etc/monit/monitrcplikiem. Monitkonfiguracje różnych usług są ładowane z /etc/monit/conf.dfolderu. Do monitorowania miejsca na dysku Monit, create aza pomocą pliku konfiguracyjnego Monit za pomocą następującego polecenia:

sudo /etc/monit/conf.d/storagespace

Skopiuj do niego następującą zawartość, zapisz i wyjdź

# add each drive you want to monitor below
check filesystem Ubuntu with path /dev/sda1
    if space usage > 90% then alert
check filesystem Home with path /dev/sda3
    if space usage > 90% then alert
check filesystem Media with path /dev/sdb1
    if space usage > 90% then alert

Powyższy kod będzie monitorował miejsce na dysku twardym w 3 partycjach na 2 dyskach. Jeśli któryś z nich jest wypełniony w ponad 90%, otrzymasz powiadomienie.

Możesz także monitorować określone usługi.

Monitoruj serwer Apache za pomocą Monit

Konfigurowanie monitorowania serwera Apache za Monitpomocą Monit’sgotowych szablonów konfiguracji. Wszystko co musisz zrobić, to skopiować istniejący szablon z /etc/monit/monitrc.ddo /etc/monit/conf.dfolderu.

sudo cp /etc/monit/monitrc.d/apache2 /etc/monit/conf.d/

Zamiast kopiowania możesz również utworzyć dowiązanie symboliczne. Tworzy się proces serwera WWW Apache apache2.pid. Powyższy apache2.pidplik monitora kodu , a jeśli nie istnieje, Monitspróbuje zrestartować Apache. Ponowne uruchomienie wywoła powiadomienie e-mail. Jeśli ponowne uruchomienie nie powiedzie się wiele razy, Monit przestanie monitorować serwer Apache.

...

2707974
źródło
2

Możesz także zajrzeć na SeaLion. Możesz ustawić niestandardowe alerty dotyczące wykorzystania procesora, pamięci itp. Ponadto możesz także dodawać własne metryki i konfigurować dla nich powiadomienia. Ponadto można zaplanować uruchamianie poleceń w określonych odstępach czasu i wyświetlanie ich wyników na ekranie osi czasu. Więcej informacji na ten temat można znaleźć tutaj .

Araknid
źródło
1

Wszystkie powyższe narzędzia świetnie nadają się do generowania wiadomości e-mail. Wolę otrzymywać e-maile do mojego codziennego monitorowania, ponieważ nie chcę siedzieć i oglądać deski rozdzielczej przez cały dzień. Problem polega na tym, że zalewają Cię wiadomości e-mail i interesuje Cię tylko sytuacja, gdy coś pójdzie nie tak. A skąd wiesz, że e-mail z jakiegoś powodu nigdy nie został dostarczony i uważasz, że wszystko działa dobrze.

Długo szukałem i natknąłem się na 2 produkty, które mogą czytać e-maile z raportami i ostrzegać, gdy trzeba podjąć działania.

  1. PRTG możesz skonfigurować filtry poczty, aby wyszukiwać wiadomości e-mail zawierające określone słowa. To było trochę skomplikowane.
  2. Narzędzie online o nazwie wwww.smtpviewer.com faktycznie wykonuje zadanie, a ponadto ma ustawienie limitu czasu, który ostrzega, gdy wiadomość e-mail z monitorowanych urządzeń nie dotrze przez określony czas.
John Grobbelaar
źródło
Wiele klientów pocztowych ma już możliwość filtrowania, sortowania, oznaczania ... wiadomości e-mail. Tak naprawdę nie widzę potrzeby zewnętrznego rozwiązania tego problemu. Na przykład korzystam z filtra Thunderbirda od lat. Jeśli serwer pocztowy obsługuje tę funkcję, możesz także użyć skryptów Sieve do filtrowania, sortowania, oznaczania ... wiadomości bezpośrednio na serwerze.
Henning Kockerbeck
0

W mojej szkole nasz nauczyciel przeprowadził szkolenie z Pandora FMS, rozwiązania do monitorowania, które obejmuje monitorowanie serwerów, aplikacji, a nawet sieci!

Do tej pory znałem tylko Zabbixa i Nagiosa, nigdy wcześniej nie słyszałem o tym rozwiązaniu, ale teraz bazuję na nim z powodu dodatkowych funkcji, jakie zapewnia. Część dotycząca monitorowania serwera jest naprawdę dojrzała i moim zdaniem łatwiej ją skonfigurować i uzyskać statystyki wydajności JAK NAJSZYBCIEJ: http://pandorafms.com/monitoring-solutions/server-monitoring/

rawmal
źródło
-1 pakiet komercyjny ...
Fabby,
0

Chociaż nie robi dokładnie tego, co chcesz od razu po wyjęciu z pudełka, uważam, że logwatchjest to niezwykle przydatne, ale proste narzędzie.

Zawiera codzienne podsumowanie wszystkich zdarzeń, które miały miejsce w twoim /var/logkatalogu, a także inne ważne informacje systemowe, takie jak bieżące miejsce na dysku. Wszystko, czego brakuje, można dodać po prostu (na przykład dodałem skrypt sprawdzający, czy niektóre demony nadal działają).

Darren
źródło
0

Z tego, co rozumiem, twoja potrzeba jest bardzo podstawowa. Chcesz wyszukać treść słowa kluczowego w wiadomości e-mail, a następnie otrzymać powiadomienie, gdy to nastąpi. Tak więc tylko wtedy, gdy na przykład wiadomość e-mail zawiera słowo niepowodzenie, chcesz zostać powiadomiony, a nie wtedy, gdy zawiera powodzenie. Korzystam również ze strony www.smtpviewer.com, o której wspomniał John Grobbelaar, aby otrzymywać powiadomienia. Zaletą korzystania z narzędzia online jest to, że zawsze możesz zostać powiadomiony, gdy oczekiwany e-mail nie dotrze. Ze wszystkich narzędzi do monitorowania poczty, w które grałem z tym, jest najprostsze i robi to tylko jedno.

Dirk Hemmingway
źródło
To nie wydaje się odpowiadać na pytanie. Przeredaguj to, aby odpowiedzieć na pytanie, lub usuń tę odpowiedź / przenieś ją do komentarza. Dziękujemy i zapraszamy do Ask Ubuntu!
zwork