Powrót do bloga

Monitoring | 25 października 2019

Jak się tworzy skrypty zewnętrzne w Zabbixie

Monitorowanie poza serwerem źródłowym


Poprzedni artykuł dotyczący Zabbixa – „Jak się tworzy własny monitoring?” – w przydatny i ciekawy mam nadzieję sposób, przedstawił monitorowanie infrastruktury bezpośrednio z serwera źródłowego. To nie wszystkie możliwości Zabbixa. Umożliwia on również monitorowanie systemów „z boku”, czyli sprawdzanie stanu danej usługi, poprawności działania serwera, poprzez wykonywanie cyklicznie skryptów z poziomu Zabbix serwera. W Zabbixie taka pozycja nazywa się „Zewnętrzne skrypty” (ang. External Scripts).

Blog ekspertów IT Jak się tworzy skrypty zewnętrzne w Zabbixie zdjęcie duże

Co to są skrypty zewnętrzne

Zewnętrzny skrypt to skrypt znajdujący się na Zabbix Serverze w katalogu podanym w pliku konfiguracyjnym:

w sekcji External scripts:

Domyślnie katalog ten znajduje się pod ścieżką:

Serwer Zabbixa może zostać zainstalowany tylko i wyłącznie na serwerach z rodziny Linux. Zewnętrzny skrypt jest wykonywany po stronie serwera Zabbix, więc ograniczeniem jest język skryptowy po stronie Zabbix Servera, który musi być dla niego zrozumiały. W ten sposób stosowanymi językami mogą być np. Python, PHP, bash itp.

Po co tworzy się skrypty

Przedstawię zastosowanie takiego monitoringu na podstawie serwerów czasu. Wytworzymy skrypt w języku bash, który sprawdzi nam opóźnienie pomiędzy serwerami NTP, a serwerem Zabbixa. Posłuży nam do tego polecenie ntpdate.

Oto jego przykładowy wynik:

Tworzymy skrypt w języku bash o nazwie: ntp.sh, który poda nam opóźnienie „delay” w milisekundach pomiędzy serwerami.

Następnie nadajemy uprawnienia wykonania dla użytkownika „zabbix” dla naszego skryptu:

Przykładowy wynik naszego skryptu to:

Posiadając już taką wartość możemy utworzyć nową pozycję w Zabbix. Tworzymy na hoście nową pozycję typu „Test zewnętrzny” (ang. External check), z kluczem jako nazwą skryptu:

Sprawdzając „Ostatnie dane” jesteśmy w stanie zaobserwować jak generuje się wykres opóźnień pomiędzy serwerami w milisekundach:

Oczywiście możemy rozszerzyć funkcjonalność skryptu modyfikując linijkę:

Na:

W konsekwencji tego, za pomocą jednego skryptu możemy monitorować kilka serwerów NTP (gdyż $1 w języku bash oznacza parametr podawany przy wywołaniu skryptu).
Zmieniamy więc takową linijkę w skrypcie, modyfikujemy pozycję i dodajemy dla porównania nową z ntp2.pl.

W ten sposób jesteśmy w stanie monitorować dwa serwery NTP i opóźnienie, z jakim przekazują dane. 0.03 ms to naprawdę bardzo dobry wynik.

Jednak zastosowanie Zewnętrznych skryptów niesie ze sobą pewne ograniczenia:

  • klucz musi być unikalny
  • czas wykonania skryptu nie może być dłuższy niż wartość w polu Timeout zadeklarowana w pliku /etc/zabbix/zabbix_server.conf
  • serwer musi zwrócić jedną wartość (int, float, boolean, text)
  • skrypt wykonywany musi być napisany w języku zrozumiałym dla systemu operacyjnego Linux
  • użytkownik „zabbix” musi mieć uprawnienia do wykonania skryptu

Jeśli ten temat był dla Ciebie zbyt skomplikowany i nadal nie wiesz w jakim celu wykonuje się daną operację, skontaktuj się z nami. Z chęcią pomożemy! 😉


Jeśli chcesz podnieść swoje kompetencje w zakresie systemu Zabbix:

  • zaprosimy Twojego admina na certyfikowane szkolenie, na którym krok po kroku pokażemy jak Zabbix może mu pomóc w codziennej pracy
  • pokażemy jak duże możliwości integracji daje Zabbix i jak dużo Twojego czasu może oszczędzić
  • pomożemy właściwie skonfigurować Zabbixa

Jeśli chcesz powierzyć nam monitoring IT:

  • wspólnie określmy parametry dostępności usługi
  • określimy newralgiczne obszary dla Ciebie i Twojego biznesu
  • dostarczymy Ci raporty z przeprowadzonych działań

Summary
Jak się tworzy skrypty zewnętrzne w Zabbixie
Article Name
Jak się tworzy skrypty zewnętrzne w Zabbixie
Description
Co to są skrypty zewnętrzne w systemie Zabbix? Po co się tworzy skrypty? Jak prawidłowo utworzyć skrypty? Sprawdź!
Author
Publisher Name
Aplitt sp. z o.o.
Publisher Logo
Podziel się opinią
Mateusz Dampc Aplitt Sp. z o.o. | Administrator ds. Monitoringu Infrastruktury

Zabbix 3.0 & 4.0 Certified Professional z kilkuletnim doświadczeniem w administracji systemami Windows i Linux. Student WSB w Gdańsku na kierunku Informatyka ze specjalizacją Inżynieria Sieci Komputerowych. Prowadzi szkolenia autorskie Zabbix.

Mateusz Dampc

Aplitt sp. z o.o. | Administrator ds. Monitoringu Infrastruktury

Napisz do mnie:  

Zobacz również

thumb image

8 maja 2020

Monitoring Baz Danych w Zabbixie


Czytaj
thumb image

26 listopada 2019

Po co mojej firmie monitoring IT


Czytaj
thumb image

25 listopada 2019

Jak się tworzy własny monitoring IT


Czytaj