Zabbix pozwala na tworzenie User parameters czyli własne definicje monitorowania. Jest to bardzo przydatna funkcjonalność pozwalająca tworzyć własne polecenia monitorowania. Poniższy opis został stworzony w oparciu o potrzebę monitorowania udostępnianych przez program USB Network Gate kluczy HASP.

Wspomniany program posiada kilka wbudowanych poleceń, które możemy wykorzystać do monitorowania czy dany klucz HASP jest podłączony do systemu.

Polecenie UsbService.exe show-shared-usb zwraca informację o podłączonych i udostępnianych kluczach. Przykładowy wynik działania:

USB Network Gate

00-TASP+ / 303 1:1:1 -Crypt: disabled -Auth: enabled -Compress: disabled -waiting for connection - 19989
00-TASP+ / 571 1:1:2 -Crypt: disabled -Auth: enabled -Compress: disabled -waiting for connection - 19990

Taki wynik niewiele nam da w Zabbix’ie ale możemy go wykorzystać do zwrócenia informacji czy np: klucz o numerze 303 jest podłączony. Polecenie UsbService.exe show-shared-usb | find „303” /c zwróci wartość 1 w przypadku gdy klucz jest podpięty lub 0 gdy klucza nie ma. Z taką informacją jesteśmy już coś w stanie zrobić.

Własne definicje monitorowania w Zabbix

Musimy zacząć od modyfikacji pliku konfiguracyjnego zabbix_agentd.conf w którym dodajemy parametr z następującą zkładnią UserParameter=<key>,<command>. W naszym przypadku będzie to:

UserParameter=my.key[*],"C:\Program Files\Eltima Software\USB Network Gate\UsbService.exe" show-shared-usb | find "$1" /c

$1 jest zmienną, w naszym przypadku numer klucza USB o który będziemy pytać. Zapisujemy zmodyfikowany plik konfiguracyjny i restartujemy usługę Zabbix Agenta.

W kolejnym korku na serwerze Zabbixa musimy dodać Item do monitorowanego hosta.

Własne definicje monitorowania w Zabbix

W polu Key podajemy zdefiniowany uprzednio w pliku konfiguracyjnym klucz, a w nawiasach kwadratowych podajemy numer klucza USB który chcemy monitorować.  Definiujemy pozostałe wartości zgodnie z własnymi potrzebami i zapisujemy. Od tego momentu Zabbix będzie odpytywał agenta o zdefiniowany Item.

Następnie powinniśmy dodać Trigger, który będzie informował nas o problemie w przypadku gdy zwrócona przez Item wartość nie będzie równa 1

Własne definicje monitorowania w Zabbix

Konfigurujemy wg. własnych potrzeb wszystkie pozostałe parametry i zapisujemy.

Od tej chwili, w przypadku wypięcia klucza o nr 303, Zabbix wyświetli problem. Oczywiście dodatkowo możemy zdefiniować regułę powiadamiającą o problemie na email lub SMSa.

Własne definicje monitorowania możemy wykorzystać także do innych celów, np: podpiąć skrypt, który będzie wykonywał bardziej zaawansowane funkcje i zwracał określony wynik. Więcej na temat definicji monitorowania (UserParameter) oraz ich funkcjonalności można znaleźć w dokumentacji Zabbix.

Przeczytaj również o monitorowaniu środowiska VMware w Zabbix

Jeżeli jesteś zainteresowany monitorowaniem infrastruktury IT – zapraszamy także do kontaktu. Przygotujemy ofertę na wdrożenie Zabbix lub Zabbix + Grafana.