Jak się tworzy skrypty zewnętrzne w monitoringu Zabbix

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).

Co to skrypty zewnętrzne

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

Plik konfiguracyjny 1 Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT

w sekcji External scripts:

Plik konfiguracyjny 2 Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT

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

Plik konfiguracyjny 3 Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT

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.

Adam Kłodnicki, Aplitt

Sprawdź jak możemy Ci pomóc!

  • proof of concept, czyli wdrożenie prezentacyjnej wersji systemu Zabbix
  • konsultacje w zakresie konfiguracji monitoringu i automatyzacji infrastruktury
  • monitoring IT 24/7
  • wsparcie powdrożeniowe w tym autoryzowane wsparcie producenta
  • szkolenia użytkownika
×

Mamy nadzieję, że lektura tego tekstu sprawi Ci przyjemność.

Jeśli chcesz, byśmy pokazali Ci jak to narzędzie sprawdzi się w Twojej firmie, po prostu zarezerwuj rozmowę.

Po co się tworzy skrypty zewnętrzne

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:

Plik konfiguracyjny 4 Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT

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

Plik konfiguracyjny 5 Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT

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

Plik konfiguracyjny 6 Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT
Plik konfiguracyjny 7 Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT

Przykładowy wynik naszego skryptu to:

Plik konfiguracyjny 8 Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT

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:

Plik konfiguracyjny 9 Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT

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

Plik konfiguracyjny 10 Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT

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

Plik konfiguracyjny 11a Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT

Na:

Plik konfiguracyjny 11 Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT

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 taką linijkę w skrypcie, modyfikujemy pozycję i dodajemy dla porównania nową z ntp2.pl.

Plik konfiguracyjny 12 Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT
Plik konfiguracyjny 13 Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT
Plik konfiguracyjny 14 Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT
Plik konfiguracyjny 15 Jak się tworzy skrypty zewnętrzne Zabbix Blog ekspertów IT

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! 😉

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ę treścią:

Zostaw kontakt, aby dowiedzieć się więcej!

    Potrzebujesz wsparcia? Skontaktuj się z nami!

    Imię i nazwisko*:
    Firma*:
    Telefon*:
    E-mail*:
    Wyrażam zgodę na przetwarzanie moich danych osobowych wskazanych w formularzu w celu dostarczenia mi aktualności, informacji handlowych i marketingowych dotyczących produktów i usług z oferty Aplitt sp. z o.o., poprzez kontakt telefoniczny / sms / e-mail / komunikator.*Wyrażam zgodę na przetwarzanie moich danych osobowych wskazanych w formularzu w celu dostarczenia mi aktualności, informacji handlowych i marketingowych dotyczących produktów i usług z oferty Aplitt sp. z o.o., poprzez kontakt telefoniczny / sms / e-mail / komunikator.

    * pole wymagane

    Więcej informacji w Polityce Prywatności.
    Mateusz Dampc | Architekt ds. monitoringu infrastruktury IT w Aplitt
    Mateusz Dampc | Architekt ds. monitoringu infrastruktury IT w Aplitt
    Zabbix 3.0 & 4.0 & 5.0 & 6.0 Certified Trainer z wieloletnim doświadczeniem w administracji systemami Windows i Linux. Absolwent WSB w Gdańsku na kierunku Informatyka, ze specjalizacją Inżynieria Sieci Komputerowych. Absolwent Zarządzania na WSB ze specjalizacją Zarządzanie projektami i usługami IT. Prowadzi szkolenia autorskie i autoryzowane Zabbix.

    Zobacz także:

    thumb image

    15 lutego 2023

    Handy Tips #9: Mapowanie wartości w Zabbix


    Czytaj
    thumb image

    10 maja 2022

    4 Zabbix MeetUp Online – zapis sesji Q&A


    Czytaj
    thumb image

    6 lipca 2022

    Handy Tips #3: Wykrywaj wzrosty i spadki wartości za pomocą monotonicznych funkcji historii


    Czytaj

    Obejrzyj nasze filmy:

    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