Zabbix. SNMP
Pobieranie danych przez protokół SNMP
Co to jest protokół SNMP?
SNMP (Simple Network Management Protocol) jest wykorzystywany do wymiany informacji pomiędzy urządzeniami sieciowymi. Działa na zasadzie klient-serwer a tej implementacji jako agent-zarządca. Aktualnie dostępne jest wersja v3 protokołu, która oferuje już szyfrowanie wiadomości. Jednak ta wersja już nie jest tak simple jak poprzednie, dlatego też bardzo popularne jest wykorzystywanie wcześniejszych, prostszych wersji – v1 i v2. Właściwie już każde urządzenie sieciowe wykorzystywane w przedsiębiorstwie posiada obsługę SNMP i pracuje w trybie agent. Choć jako ciekawostkę można dodać, że też niektóre urządzenia firmy Cisco mogą również pracować jako zarządca i zbierać dane. Jednak w naszym przypadku zarządca będzie serwer Zabbix. Agenta SNMP można też zainstalować na systemach operacyjnych Windows i Linux i z niego pobrać dane, istnieje i taka dodatkowa opcja. Jednak w przypadku systemów operacyjnych, zawsze wygodniej skorzystać z dedykowanego agenta.
Jak przebiega komunikacja SNMP
Każdy agent zawiera bazę MIB (Management Information Base) w której przechowuje dane i parametry. Nadzorca cyklicznie odpytuje (SNMP Requests) agnety o podanie parametrów a te, sięgając do bazy MIB, odpowiadają (SNMP Responses).
Drugą możliwa formą komunikacji jest sytuacja, gdy to agenty same wysyłają informacje do zarządcy (komunikaty Trap lub Inform). Dzieje się to w przypadku, gdy skonfigurujemy agenta tak, by nas informował o sytuacjach krytycznych, natychmiast bez pytania, na przykład o wysokiej temperaturze procesora utrzymującej się długi czas.
SNMP komunikuje się na porach 161 i 162 TCP/UDP, więc pamiętaj o odpowiednim ustawieniu firewalla.
Generalnie SNMP to na prawdę przyjemny i użyteczny protokół. Polecam się z nim bliżej poznać
Konfiguracja SNMP na monitorowanym agencie
Tu temat zależy właściwie od urządzenia, bo jeśli SNMP jest standardem to sposób jego konfiguracji może się różnić w zależności od producenta. Najlepszym rozwiązaniem jest sięgnięcie do pełnej dokumentacji uzrądzenia. Przede wszystkim potrzebować będziemy, jak włączyć agenta SNMP na urządzeniu i nazwy elementów w bazie MIB. Często producenci zamieszczą przeglądarki bazy MIB na swojej stronie internetowej by łatwiej odszukać i skonfigurować interesujące nas parametry do monitorowania.
Konfiguracja SNMP na Zabbix
Początek ścieżki jest standardowy przechodzimy więc Configuration/Hosts/Create host. Domyślnie pole Agent interfaces jest aktywne, jako że te dotyczy dedykowanych agentów zabbix a my będzie używać agenta SNMP – tu dajemy Remove. Dalej w polu SNMP interfaces klikamy Add i podajemy adres IP lub nazwę DNS urządzenia które chcemy monitorować. Warto zaznaczyć opcje „Use bulk requestes” . Resztę pól wypełniamy podobnie jak przy konfiguracji hosta z agentem zabbixa.
Mamy już na liście nasz nowy host więc przejedzmy do konfiguracji elementu – klikamy Items/Create Item. W tym formularzu szczególną uwagę zwracamy na pola
Type gdzie ustawimy typ agenta (na przykład SNMPv2 agent)
Key – podajemy unikalny klucz dla monitorowanego prametru
SMNP OID – identyfikator liczbowy elementu w bazie MIB
SNMP Comunity – nazwa grupy do której należy monitorowany parametr
Pozostałe pola wypełniamy podobnie jak w przypadku agenta zabbix.
Na koniec przycisk Add.
Sprawdźmy teraz czy poprawnie otrzymujemy dane od naszego agenta SNMP. W tym celu przejdź do Monitoring/Latest i kliknij Apply. Jeśli podaliśmy poprawnie wszystkie dane w formularzach to pojawią się pierwsze wyniki od agenta SNMP.
Podpowiem ze najczęstszą przyczyną braku komunikacji jest błędnie podany parametr OID w konfiguracji elementu (Item) lub brak otwartych portów w sieci dla protokołu.