Robot ASK

Kurs Zabbix Część 6: Protokół SNMP

Rok 1987 jest uważany za początek rozwoju protokołów do zarządzania sieciami. Wtedy właśnie pojawił się SGMP (z ang. Skrót od Simple Gateway Management  Protocol). Nie mieliśmy wtedy jednak do czynienia z czymś rozbudowanym, a jedynie z protokołem umożliwiającym monitorowanie bramek. Wraz z rozwojem zapotrzebowań, zaczęto projektować nowe protokoły, umożliwiające monitorowanie innych urządzeń sieciowych. W 1988 roku zebrała się Komisja Architektury Internetu (IAB), której celem było zatwierdzić wybrane z nich protokoły. Wśród nich znalazł się SNMP, czyli prosty protokół zarządzania siecią (z ang. Simple Network Management Protocol). Początkowo zastosowanie protokołu miało być krótkoterminowe, a zastąpiony miał zostać inną, bardziej rozbudowaną technologią. Rzeczywistość okazała się jednak inna. To co początkowo wydawało się wadą, czyli prostota budowy protokołu, okazało się zaletą, gdyż szybka i łatwa implementacja umożliwiła jej zastosowanie w większości urządzeń sieciowych. Obecnie możemy korzystać z SNMP w wersji 3.

 

Ostatni webinar w tym roku!

Zapraszamy na bezpłatny webinar poświęcony roli sztucznej inteligencji w zarządzaniu infrastrukturą IT, zarówno w dużych serwerowniach, jak i w środowiskach homelab.

W trakcie wydarzenia dowiesz się, jak AI może wspierać codzienną pracę administratora, pomagając w automatyzacji procesów, monitorowaniu zasobów, analizie danych oraz zwiększaniu efektywności operacyjnej.

Zapisy na: https://asdevops.pl/warsztaty/

 

Protokół SNMP zakłada istnienie dwóch typów urządzeń:

– zarządzanych

– zarządzających

Pierwszy typ  uruchamia usługę zwaną agentem SNMP, której celem jest przechowywanie informacji o stanie urządzenia. Natomiast drugi posiada menedżera SNMP, który ma zadanie odczytywania  odpowiednich zmiennych. Protokół SNMP zawiera także element zwany „pułapką”. Pułapki może wysyłać agent do menedżera. Ma to na celu informowanie o zaistnieniu nowych, nieprzewidzianych zdarzeń.

SNMP korzysta z bazy danych MIB (z ang. Management Information Base). Jest to baza informacyjna, w której do każdego elementu została przypisana wartość. Obiekty przechowywane są na liście o drzewiastej strukturze. Aby uzyskać dostęp do konkretnych danych, należy podać przypisany do niej kod. Budowa standardowej bazy danych MIB jest opisana w RFC 1213. Specyfikacja opisująca standardową bazę danych MIB, zwaną MIB-I, składa się z blisko 100 definicji. Można je podzielić na 8 grup, zawierających innego rodzaju obiekty:

1. Obiekty systemowe – zawierają informacje o statusie zarządzanych urządzeń.

2. Interfejsy – informacje o interfejsach, np. licznikach.

3. Tablice translacji – konwersja adresów protokołu IP na inne protokoły.

4. IP – obiekty protokołu Internet Protocol.

5. ICMP – obiekty protokołu Internet Control Message Protocol.

6. TCP – obiekty protokołu TCP (Transmission Control Protocol).

7. UDP – obiekty protokołu UDP (User Datagram Protocol).

8. EGP – obiekty protokołu EGP (Exterior Gateway Protocol).

Część drzewa kodu OID przedstawia poniższy rysunek :

Baza MIB doczekała się drugiej wersji. Druga wersja została utworzona w celu wyeliminowania wad tej pierwszej. Wady, o których mowa to:

-brak opisów obiektów, które są używane do zarządzania pracą regeneratorów i mostów,

-nie zdefiniowanie mediów takich jak: kabel koncentryczny, skrętka nieekranowana, światłowód,

-brak otwartych standardów, uniemożliwiał jego dalszy rozwój.

Ze względu na ogromne rozbudowanie bazy MIB, nie będę zamieszczał opisu każdego kodu, a jedynie przedstawię przykładowy opis wyjaśniający opis działania. Dokładny opis każdego kodu można znaleźć na witrynie:

http://www.alvestrand.no/

Przykładowy kod 1.3.6.1.2.1.2.2.1.10.4 odnosi się do czwartego portu sieciowego w urządzeniu. Aby go monitorować należy ten parametr przypisać w polu SNMP OID dotyczącym Itemu danego urządzenia, a następnie przypisać odpowiedni parametr w polu „Key”.

Objaśnienie (wg. strony http://www.alvestrand.no) każdej części kodu wygląda następująco:

1.3.6.1.2.1.2.2.1 – ifEntry

1.3.6.1.2.1.2.2 – ifTable

1.3.6.1.2.1.2 – SNMP MIB-2 Interfaces

1.3.6.1.2.1 – SNMP MIB-2

1.3.6.1.2 – IETF Management

1.3.6.1 – OID assignments from 1.3.6.1 – Internet

1.3.6 – US Department of Defense

1.3 – ISO Identified Organization

1 – ISO assigned AIDS

Czwórka na końcu to oczywiście oznaczenie czwartego interfejsu.

Jeżeli chodzi o zastosowanie w Zabbixie to przykładowy Item z SNMP OID 1.3.6.1.2.1.2.2.1.10.4 oraz wartością key „ifInOctets4” oznacza, że monitorujemy prędkość wychodzącą czwartego interfejsu sieciowego urządzenia.

Najczęściej można skorzystać z gotowych szablonów. Większość modeli popularnych producentów sprzętu posiada gotowe do pobrania szablony ze strony Zabbix.com. Jeżeli jednak posiadane przez nas urządzenie nie ma swojego odpowiednika w bazie, wszystkie parametry musimy znaleźć sami. Pomoże nam w tym polecenie:

Snmpwalk

W zależności od zastosowanego w naszej sieci urządzenia musimy zastosować odpowiedni skrypt. Różnice są takie, że np. SNMP w wersji pierwszej nie wymaga uwierzytelniania, natomiast nowsze już tak.

Przykładowa komenda do połączenia z urządzeniem wygląda następująco:

snmpwalk -v 3 -u nazwaużytkownika -l authPriv -a MD5 -A hasło  -x DES -X hasło 10.0.6.1

Wynik polecenia umożliwi nam przeglądanie bardzo rozbudowanej bazy danych. Wiedząc jednak czego szukać, możemy znaleźć przydatne dla nas informacje.

Przykładowo część:

IF-MIB::ifDescr.1 = STRING: port11

IF-MIB::ifDescr.2 = STRING: port12

IF-MIB::ifDescr.3 = STRING: port13

IF-MIB::ifDescr.4 = STRING: port14

IF-MIB::ifDescr.5 = STRING: port15

IF-MIB::ifDescr.6 = STRING: port16

IF-MIB::ifDescr.7 = STRING: modem

IF-MIB::ifDescr.8 = STRING: ssl.root

IF-MIB::ifDescr.9 = STRING: ssl.INT_DMZ,

wyjaśnia nam, któremu portowi odpowiada która końcówka kodu OID.

Oczywiście, za pomocą SNMP możemy także monitorować serwery. Konieczne jest, aby posiadały obsługę tego protokołu. W przypadku największych producentów sprzętu nie jest to problem. Razem z urządzeniami dostarczane jest specjalne oprogramowanie do zarządzania gdzie możemy tę funkcję włączyć. Przykładowo, w przypadku HP jest to aplikacja o nazwie ILO, a u Dell to DRAC.

Temat SNMP będziemy jeszcze omawiać w części praktycznej. Pokażę dokładnie jak podłączać urządzenia pod nasz system.

W nastepnej części omówimy Zabbix Proxy.

Poprzednie części:

Część 5:Techniki monitorowania – Zabbix Agent

Część.4: Moduły Zabbixa

 

 

Ostatni webinar w tym roku!

Zapraszamy na bezpłatny webinar poświęcony roli sztucznej inteligencji w zarządzaniu infrastrukturą IT, zarówno w dużych serwerowniach, jak i w środowiskach homelab.

W trakcie wydarzenia dowiesz się, jak AI może wspierać codzienną pracę administratora, pomagając w automatyzacji procesów, monitorowaniu zasobów, analizie danych oraz zwiększaniu efektywności operacyjnej.

Zapisy na: https://asdevops.pl/warsztaty/

 

 

 

 

Warsztaty "Użycie AI w Serwerowni i Homelab"!

X