Powrót do bloga

Monitoring | 25 listopada 2019

Jak się tworzy własny monitoring IT?

Dostosuj Zabbix do swoich potrzeb!



O czym przeczytasz w artykule?

> czym jest monitoring
> czego Zabbix nie potrafi
> wartość skryptu

Monitoring, tak jak opisywałem w artykule „Po co mojej firmie monitoring IT?”, jest bardzo ważnym warunkiem bezawaryjnej pracy w przedsiębiorstwie zajmującym się obsługą urządzeń sieciowych i serwerowych.

Blog ekspertów IT, Jak się tworzy własny 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 jak np. weryfikacja poprawności działania usług lub obserwacja logów. Istnieje możliwość obserwowania i generowania wykresów dzięki danym z wielu serwerów w jednym scentralizowanym widoku, co znacznie ułatwia pracę.

Monitorowanie dostępności usług, uruchamianie skryptów i wiele innych funkcjonalności umożliwia oprogramowanie firmy Zabbix, o którym rozpisał się mój kolega Robert Szulist w artykule „Zabbix z lotu ptaka”. Wszystkie natywne możliwości Zabbixa rozpisane są w oficjalnej dokumentacji dostępnej publicznie dla każdego.

Czy istnieje coś, czego natywnie Zabbix nie potrafi?

Wielu sprawnych administratorów wykorzystuje do przyspieszenia pracy własnych skryptów, napisanych w różnych językach skryptowych (Powershell, bash, PHP, Python, itd.). W ten sposób mogą zostać pobrane 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.
Z pomocą przychodzą Parametry Użytkownika (ang. User Parameters). Oprogramowanie Zabbix Agent zainstalowane na serwerze w swojej podstawowej wersji zna tylko pozycje zdefiniowane przez firmę Zabbix. Istnieje możliwość rozszerzenia jego wiedzy o własne zdefiniowane skrypty.

W jaki sposób uzyskać wartość otrzymaną 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 temat tworzenia własnych monitoringów jest zbyt trudnym zagadnieniem – skontaktuj się z nami :) Z chęcią pomożemy!

Może RabbIT jest właśnie usługą dla Ciebie?

Mateusz Dampc Aplitt Sp. z o.o. | Administrator ds. Monitoringu Infrastruktury

Zabbix 3.0 & 4.0 Certified Proffessional z 3 letnim doświadczeniem w administracji systemami Windows oraz Linux. Student WSB w Gdańsku na kierunku Informatyka ze specjalizacją Inżynieria Sieci Komputerowych.

Mateusz Dampc

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


Zobacz również

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
thumb image

25 października 2019

Zabbix z lotu ptaka


Czytaj