Jak się tworzy własny monitoring IT
Dostosuj Zabbix do swoich potrzeb
Z artykułu dowiesz się:
czym właściwie jest monitoring | czego monitoring Zabbix nie potrafi | wartość z własnego skryptu
Monitoring, tak jak opisywałem w artykule „Po co mojej firmie monitoring IT”, jest warunkiem bezawaryjnej pracy w przedsiębiorstwie zajmującym się obsługą urządzeń sieciowych i serwerowych. Czym właściwie jest monitoring?

Czym właściwie jest monitoring
Monitoring Infrastruktury IT to nie tylko cykliczne sprawdzanie parametrów takich jak obciążenie procesora, pamięci RAM, zużycia dysków, itp. To również różnego rodzaju działania, które na co dzień wykonuje ręcznie administrator, takie jak weryfikacja poprawności działania usług lub obserwacja logów. Czy istnieje możliwość obserwowania i generowania wykresów z danymi z wielu serwerów w jednym scentralizowanym widoku?
Monitorowanie dostępności usług, uruchamianie skryptów i wiele innych funkcjonalności umożliwia oprogramowanie Zabbix, o którym pisał Robert Szulist w artykule „Jak działa system monitoringu IT Zabbix”. Wszystkie natywne możliwości Zabbixa udostępnione są w oficjalnej dokumentacji.
Czy istnieje coś, czego Zabbix nie potrafi
Wielu sprawnych administratorów wykorzystuje do przyspieszenia pracy własne skrypty, napisane w różnych językach skryptowych (Powershell, bash, PHP, Python, itd.). W ten sposób mogą pobrać informacje z serwera, których sam Zabbix nie jest w stanie zdobyć, jak np. informacje o dostępności nowej aktualizacji systemu Windows w usłudze Windows Update. W takiej sytuacji z pomocą przychodzą Parametry Użytkownika (ang. User Parameters). Pamiętajmy, że oprogramowanie Zabbix Agent, zainstalowane na serwerze w swojej podstawowej wersji zna tylko pozycje zdefiniowane przez producenta. Istnieje natomiast możliwość rozszerzenia jego wiedzy o własne zdefiniowane skrypty.
W jaki sposób uzyskać wartość z własnego skryptu
Wymogi ograniczające Parametr Użytkownika są następujące: skrypt musi zwrócić tylko jedną daną (tekst, liczba, liczba zmiennoprzecinkowa), czas wykonania skryptu w sekundach nie może przekraczać maksymalnie 30 sekund lub mniej, jeśli pole “Timeout” w pliku konfiguracyjnym wskazuje na mniejszą wartość oraz posiadanie odpowiednich uprawnień dla Zabbixa do czynności wykonywanych przez skrypt i do niego samego. Nazwa pozycji musi być unikalna, nie mogą istnieć dwie pozycje o tej samej nazwie. Aby sprawdzić wszystkie znane pozycje Zabbix Agenta należy wpisać w linii poleceń:
/zabbix_agentd -p
Dla systemów Windows:
/ ścieżka_do_pliku_exe/zabbix_agentd.exe -p
Dla systemów rodziny Unix/Linux:
Zabbix wykonuje zdefiniowany skrypt w czasie określonym przez administratora Zabbix np. co 5 min, 1s, 1d, itd.
Aby „nauczyć” Zabbix Agenta, że ma uruchomić dany skrypt należy podać mu w dowolnym miejscu pliku konfiguracyjnego informację, że dodajemy nową pozycję (UserParameter):

Np.:

lub

W przypadku, gdy nasz skrypt bądź polecenie wymaga dodatkowych parametrów podajemy:

Np.:

Gdzie $1, $2, …,$9 oznacza ilość parametrów możliwych do wywołania przez skrypt/polecenie.
Dla przykładu zaprezentuję prosty skrypt napisany w języku Powershell, znajdujący się na serwerze klienckim.

Oto wywołanie powyższego skryptu:

Definiuję we własnym pliku konfiguracyjnym Zabbix Agenta Parametr Użytkownika:

I restartuję usługę Zabbix Agent na serwerze. Jest to bardzo ważny krok!
Tworzymy pozycję typu Zabbix Agent (bo skrypt wykonany będzie przez Zabbix Agenta) na serwerze klienckim.

I sprawdzamy wynik w ostatnich danych dotyczących serwera

Jak widać powyżej, Zabbix Agent poznał pozycję „skrypt” z konkretnymi parametrami i wie, że należy uruchomić dany skrypt z parametrem podanym przy pozycji. W tym przypadku zwracana wartość będzie zawsze jednakowa, jednak w IT są przypadki, gdy przez duże obciążenia serwerów i inne problemy przestają działać sprawdzone konfiguracje bądź ustawienia ważne dla usług. Dlatego bardzo ważnym czynnikiem jest badanie stanów różnych komponentów – natywnie jak i poprzez skrypty.
Jeśli ten temat był dla Ciebie zbyt skomplikowany i nadal nie wiesz w jakim celu się daną operację wykonuje, skontaktuj się z nami. Z chęcią pomożemy! 😉
Jeśli chcesz skorzystać z oferty szkoleń autorskich i autoryzowanych Zabbixa:
- 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ń
Skontaktuj się z nami :) Z chęcią pomożemy!

Zabbix 3.0 & 4.0 Certified Professional z kilkuletnim doświadczeniem w administracji systemami Windows i Linux. Absolwent WSB w Gdańsku na kierunku Informatyka, ze specjalizacją Inżynieria Sieci Komputerowych. Prowadzi szkolenia autorskie Zabbix.
Mateusz Dampc
Aplitt sp. z o.o. | Starszy Administrator ds. Monitoringu Infrastruktury