10 Monitorowanie przełącznika sieciowego lub routera za pomocą Zabbix

Wprowadzenie

Ten przewodnik przeprowadzi Cię przez kroki wymagane do rozpoczęcia podstawowego monitorowania przełącznika sieciowego lub routera przy użyciu Zabbix. Jako przykład użyto routera Cisco, jednak procedura ma zastosowanie do każdego urządzenia sieciowego z włączoną obsługą SNMP.

Dla kogo jest ten przewodnik

Ten przewodnik jest przeznaczony dla nowych użytkowników Zabbix oraz administratorów sieci, którzy chcą szybko włączyć podstawowe monitorowanie urządzeń sieciowych. Jeśli potrzebujesz zaawansowanego dostosowania lub rozszerzonych opcji konfiguracji, zapoznaj się ze stroną SNMP agent lub sekcją Konfiguracja podręcznika Zabbix.

Wymagania wstępne

Przed kontynuowaniem upewnij się, że masz:

  • Zainstalowane Zabbix serwer i Zabbix frontend: zainstaluj je zgodnie z instrukcjami dla swojego systemu operacyjnego (zobacz Instalacja z pakietów oraz Instalacja interfejsu webowego).
  • Zainstalowany Zabbix agent, jeśli monitorujesz lokalne metryki sieciowe.
  • Urządzenie z włączonym SNMP: przełącznik sieciowy lub router (na przykład router Cisco) z włączonym SNMP.
  • Zainstalowane pliki MIB: instalacja plików MIB umożliwia Zabbix tłumaczenie numerycznych OID na czytelne dla człowieka nazwy i opisy. Bez prawidłowej obsługi MIB możesz widzieć jedynie wartości numeryczne, co utrudnia konfigurację pozycji i rozwiązywanie problemów.

Aby zainstalować pliki MIB w Ubuntu:

1. Zainstaluj pakiet do pobierania MIB:

sudo apt-get update
sudo apt-get install snmp-mibs-downloader

Jeśli musisz dodać pliki MIB specyficzne dla dostawcy (np. od Cisco, Juniper), umieść je w odpowiednim katalogu MIB:

  • W systemach opartych na Linuksie typowe lokalizacje to /usr/share/snmp/mibs/ lub /usr/local/share/snmp/mibs/.
  • W instalacjach Zabbix pliki MIB mogą być przechowywane w /var/lib/zabbix/mibs/.

Upewnij się, że zmienna środowiskowa MIBDIRS lub plik snmp.conf zawiera prawidłową ścieżkę.

Aby sprawdzić, czy system rozpoznaje nowe pliki MIB, użyj:

snmptranslate -IR -On <MIB-NAME>::<object>

Szczegółowe instrukcje znajdziesz w dokumentacji swojej biblioteki SNMP:

2. Edytuj /etc/snmp/snmp.conf i zakomentuj linię zaczynającą się od mibs :, aby umożliwić systemowi załadowanie wszystkich dostępnych plików MIB.

3. Zweryfikuj to, uruchamiając snmpwalk (na przykład snmpwalk -v 2c -c <your_community_string> <device_IP>), i sprawdź, czy OID są wyświetlane z opisowymi nazwami.

W zależności od środowiska niektóre kroki w tym przewodniku mogą się nieznacznie różnić. Ten przewodnik opiera się na środowisku działającym pod kontrolą Ubuntu oraz monitorowanym urządzeniu sieciowym Cisco Catalyst 3750V2-24FS.

Zakłada się, że urządzenie sieciowe jest już fizycznie zainstalowane i podłączone.

Skonfiguruj urządzenie sieciowe (przykład routera Cisco)

Aby monitorowanie przez SNMP było możliwe, musisz skonfigurować urządzenie sieciowe tak, aby zezwalało na zapytania SNMP. Poniższy przykład dotyczy SNMPv2 i nie uwzględnia istniejących ustawień. Uwaga: zastosowanie tych poleceń może nadpisać bieżące konfiguracje SNMP.

W przypadku routera Cisco konfiguracja zazwyczaj obejmuje kroki opisane poniżej.

Przykład SNMPv2

1. Włącz SNMP i ustaw ciąg community.

Zaloguj się do konsoli routera Cisco i przejdź do trybu konfiguracji:

configure terminal

Następnie włącz SNMP, podając ciąg community tylko do odczytu. Na przykład:

snmp-server community <your_community_string> RO

Zastąp <your_community_string> swoim bezpiecznym ciągiem community. Uwaga: opcja RO (Read-Only) umożliwia SNMP pobieranie danych z urządzenia, ale uniemożliwia wprowadzanie jakichkolwiek zmian konfiguracyjnych.

Ze względów bezpieczeństwa zaleca się ograniczenie dostępu SNMP wyłącznie do niezbędnych urządzeń. Aby uzyskać dalsze wskazówki dotyczące konfigurowania list kontroli dostępu (ACL), zapoznaj się z oficjalną dokumentacją Cisco.

2. Zapisz konfigurację.

Zapisz zmiany, aby ustawienia SNMP zostały zachowane po ponownym uruchomieniu:

write memory

Przykład SNMPv3

SNMPv3 zapewnia zwiększone bezpieczeństwo dzięki uwierzytelnianiu i szyfrowaniu. Jego konfiguracja jest bezpieczniejsza niż w przypadku SNMPv2 i powinna zostać zweryfikowana z dokumentacją właściwą dla danego urządzenia.

1. Utwórz grupę SNMP.

Skonfiguruj grupę SNMPv3 z włączoną prywatnością (szyfrowaniem):

configure terminal
snmp-server group <your_group> v3 priv

2. Utwórz użytkownika SNMP.

Dodaj użytkownika SNMPv3 z uwierzytelnianiem i prywatnością. Zastąp symbole zastępcze żądanymi wartościami:

snmp-server user <your_user> <your_group> v3 auth md5 <auth_password> priv aes 128 <priv_password>

3. Zapisz konfigurację:

write memory

Aby uzyskać więcej informacji lub instrukcje dotyczące konkretnego modelu, możesz skorzystać z zewnętrznych samouczków konfiguracji Cisco SNMP. Ten przewodnik przedstawia jednak podstawowe kroki umożliwiające włączenie monitorowania SNMP.

Konfiguracja frontendu Zabbix

Utwórz host w frontendzie Zabbix

1. Zaloguj się do frontendu Zabbix.

2. Dodaj nowy host.

Przejdź do Data collection > Hosts i kliknij Create host.

  • Host name: wprowadź nazwę swojego urządzenia (np. „Cisco Router”).
  • Host groups: wybierz istniejącą grupę lub utwórz nową grupę, taką jak „Network Devices”.
  • Interfaces:
    • Kliknij Add w sekcji Interfaces.
    • Wybierz SNMP jako typ interfejsu.
    • Wprowadź adres IP lub nazwę DNS swojego routera Cisco.
    • Ustaw domyślny port SNMP (zwykle 161).
    • Użyj menu rozwijanego, aby wybrać odpowiednią wersję SNMP (np. SNMPv2).
    • Dla SNMPv1/v2 wprowadź community string w polu SNMP community. W przypadku SNMPv3 zostaniesz poproszony o podanie dodatkowych poświadczeń (Context name, Security name i Security level itp.).

3. Podłącz szablony

W polu Templates wybierz szablon SNMP, który najlepiej pasuje do Twojego urządzenia. Zabbix udostępnia szereg gotowych szablonów SNMP dla wielu rodzin urządzeń. Na przykład, jeśli monitorujesz urządzenie Cisco, wybierz szablon odpowiadający systemowi operacyjnemu lub modelowi Twojego urządzenia (taki jak Cisco IOS SNMP lub Cisco Catalyst 3750<model urządzenia> SNMP).

4. Kliknij Add, aby zapisać host.

Wyświetlanie zebranych metryk

Gratulacje! Zabbix jest teraz skonfigurowany do monitorowania Twojego urządzenia sieciowego.

Najnowsze dane:

  • Przejdź do Monitoring > Latest data w frontendzie Zabbix.

  • Wybierz host „Cisco Router” (lub wykryte hosty), aby wyświetlić metryki, takie jak czas działania sprzętu i sieci, utrata pakietów ICMP, ping, czas odpowiedzi itp.

  • Wykresy i ekrany:

Aby zwizualizować dane wydajności, kliknij Graphs obok pozycji SNMP, aby zobaczyć szczegółowe metryki.

Jako kolejny krok możesz:

Tworzenie pozycji SNMP

Gdy host jest już skonfigurowany, możesz utworzyć pozycje do monitorowania określonych metryk. Uwaga: ten krok jest opcjonalny, jeśli używasz szablonu, ponieważ szablony zawierają już domyślne zestawy pozycji.

1. Zidentyfikuj OID SNMP:

Użyj polecenia snmpwalk, aby wyświetlić listę dostępnych OID-ów na swoim urządzeniu. Na przykład:

snmpwalk -v 2c -c <your_community_string> <device_IP> .

Znajdź OID dla metryki, którą chcesz monitorować (na przykład IF-MIB::ifHCInOctets.3 dla ruchu przychodzącego na porcie 3). Aby uzyskać numeryczny OID, możesz użyć:

snmpget -v 2c -c <your_community_string> -On <device_IP> IF-MIB::ifHCInOctets.3

2. Utwórz pozycję SNMP:

  • Przejdź do Data collection > Hosts i kliknij kartę Items dla swojego hosta SNMP, a następnie kliknij Create item.
  • Name: wprowadź opisową nazwę (np. „Ruch przychodzący na porcie 3”).
  • Type: wybierz SNMP agent.
  • Key: podaj znaczący klucz (np. cisco.ifHCInOctets.3).
  • Host interface: upewnij się, że wybrany jest interfejs SNMP.
  • SNMP OID: wprowadź OID, używając jednego z obsługiwanych formatów, na przykład:
    • get[1.3.6.1.2.1.31.1.1.1.6.3] dla pojedynczej wartości;
    • walk[1.3.6.1.2.1.31.1.1.1.6.3] do asynchronicznego pobrania poddrzewa wartości.

  • Preprocessing (w razie potrzeby): jeśli pozycja zwraca licznik skumulowany (taki jak ruch na interfejsie), przejdź do karty Preprocessing i dodaj krok przetwarzania wstępnego, taki jak „Zmiana na sekundę”, aby obliczyć tempo.

Aby pobrać wiele wartości w jednej transakcji SNMP, możesz podać kilka OID-ów, używając składni walk[OID1,OID2,...].

Tłumaczenie OID-ów między nazwami numerycznymi a MIB

Podczas pracy z SNMP może być konieczna konwersja między numerycznymi OID-ami a odpowiadającymi im nazwami MIB. Takie tłumaczenie ułatwia identyfikację metryk i rozwiązywanie problemów.

  • Tłumaczenie nazwy MIB na numeryczny OID: użyj polecenia snmptranslate z opcją -On. Na przykład, aby przetłumaczyć nazwę MIB IF-MIB::ifHCInOctets.3 na jej numeryczny OID, uruchom:
snmptranslate -On IF-MIB::ifHCInOctets.3

To polecenie może zwrócić:

.1.3.6.1.2.1.31.1.1.1.6.3
  • Tłumaczenie numerycznego OID-a na jego nazwę MIB: użyj polecenia snmptranslate z opcją -IR (lub -m ALL), aby odwrócić tłumaczenie. Na przykład, aby przetłumaczyć numeryczny OID .1.3.6.1.2.1.31.1.1.1.6.3 z powrotem na jego nazwę MIB, uruchom:
snmptranslate -IR -On .1.3.6.1.2.1.31.1.1.1.6.3

To polecenie może zwrócić:

IF-MIB::ifHCInOctets.3

Konfiguracja alertów o problemach

Ten przewodnik zawiera podstawowe kroki konfiguracji wysyłania alertów e-mail.

1. Przejdź do User settings > Profile, przełącz się na kartę Media i dodaj swój adres e-mail.

2. Postępuj zgodnie z przewodnikiem Receiving a problem notification.

Następnym razem, gdy Zabbix wykryje problem, powinieneś otrzymać alert e-mail.

Przetestuj swoją konfigurację

Aby upewnić się, że Zabbix prawidłowo wykrywa problemy z wydajnością sieci, zasymuluj rzeczywisty problem, zwiększając próg czasu odpowiedzi ICMP ping.

1. Otwórz konfigurację swojego hosta „Cisco Router” w Zabbix.

2. Przejdź do zakładki Macros i wybierz Inherited and host macros.

3. Znajdź makro {$ICMP_RESPONSE_TIME_WARN} (lub podobne makro progu czasu odpowiedzi).

4. Ustaw bardzo niską wartość (np. 0.001), aby wyzwolić alert, gdy odpowiedź ping przekroczy tę wartość.

5. Kliknij Update, aby zastosować zmiany.

6. Poczekaj chwilę, aż Zabbix wykryje zasymulowany problem.

7. Przejdź do Monitoring > Problems, aby sprawdzić, czy pojawił się alert (np. „High ICMP ping response time”).

Jeśli alerty są skonfigurowane, powinieneś również otrzymać powiadomienie o problemie.

8. Przywróć pierwotną wartość makra i kliknij Update, aby zapisać zmiany.

9. Potwierdź, że problem został rozwiązany i zniknął z sekcji Problems.

Rozwiązywanie problemów z monitorowaniem SNMP

Jeśli zauważysz, że ikona SNMP w frontendzie Zabbix jest CZERWONA lub nie są zbierane żadne dane, wypróbuj następujące kroki:

1. Sprawdź łączność SNMP.

Dla SNMPv2 uruchom następujące polecenie z serwera Zabbix:

snmpwalk -v 2c -c <community_string> <device_IP> .

To polecenie weryfikuje, czy urządzenie odpowiada na zapytania SNMP.

W przypadku SNMPv3 podaj odpowiednie poświadczenia SNMPv3:

snmpwalk -v3 -u <your_user> -l authPriv -a MD5 -A <auth_password> -x AES -X <priv_password> <device_IP> .

To weryfikuje, czy poświadczenia SNMPv3 są poprawne oraz czy urządzenie odpowiada w sposób bezpieczny.

2. Upewnij się, że pliki MIB są zainstalowane i włączone zgodnie z opisem w wymaganiach wstępnych. Aby to potwierdzić, następujące polecenie nie powinno zwracać błędu podczas odpytywania urządzenia sieciowego:

snmpwalk -v 2c -c <your_community_string> <device_IP> ifInOctets

Powinno to zwrócić przetłumaczone OID bez błędów.

3. Potwierdź, że wersja SNMP i poświadczenia skonfigurowane w Zabbix odpowiadają tym ustawionym na urządzeniu. Na przykład sprawdź ustawienia SNMP w konfiguracji hosta Zabbix i porównaj je z konfiguracją urządzenia. Na urządzeniu Cisco możesz sprawdzić ustawienia SNMP, uruchamiając:

show running-config | include snmp

To pozwala upewnić się, że community string (dla SNMPv2) lub dane użytkownika SNMPv3 są poprawne.

4. Zweryfikuj, że SNMP jest poprawnie włączone na urządzeniu sieciowym. Na routerze Cisco zaloguj się do konsoli i uruchom:

show running-config | include snmp

To polecenie wyświetla aktywną konfigurację SNMP i pomaga potwierdzić, że SNMP jest poprawnie skonfigurowane.

5. Upewnij się, że żadne zapory sieciowe ani problemy sieciowe nie blokują ruchu SNMP (zwykle na porcie 161) między serwerem Zabbix a urządzeniem. Możesz przetestować łączność za pomocą:

nc -zv <device_IP> 161

nc -zv sprawdza, czy port 161 jest otwarty i nasłuchuje na urządzeniu.

Dodatkowo, jeśli używasz UFW w Ubuntu, sprawdź stan zapory:

sudo ufw status

Lub, w przypadku iptables:

sudo iptables -L -n

6. Przejrzyj pliki dziennika serwera Zabbix pod kątem błędów związanych z SNMP, aby pomóc w ustaleniu przyczyny problemu:

tail -f /tmp/zabbix_server.log

tail -f pozwala monitorować aktualizacje dziennika w czasie rzeczywistym.

Zobacz także: