[comment]: # ({382ff618-7d35b712})
# 10 Monitorowanie przełącznika sieciowego lub routera za pomocą Zabbix

[comment]: # ({/382ff618-7d35b712})

[comment]: # ({d9702cdc-aea68f1a})
## Wprowadzenie

Ten przewodnik przeprowadzi Cię przez kroki wymagane do rozpoczęcia podstawowego monitorowania przełącznika sieciowego lub routera za pomocą Zabbix.
Jako przykład użyto routera Cisco, ale procedura ma zastosowanie do dowolnego urządzenia sieciowego z 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 zaawansowanej personalizacji lub opcji rozbudowanej konfiguracji, zapoznaj się ze stroną [SNMP agent](/manual/config/items/itemtypes/snmp) lub sekcją [Configuration](/manual/config) podręcznika Zabbix.

**Wymagania wstępne**

Przed kontynuowaniem upewnij się, że masz:

-   Zainstalowany serwer Zabbix i frontend Zabbix: zainstaluj zgodnie z instrukcjami dla swojego systemu operacyjnego (zobacz [Installation from packages](/manual/installation/install_from_packages) oraz [Web interface installation](/manual/installation/frontend)).
-   Zainstalowany agent Zabbix, jeśli monitorujesz lokalne metryki sieciowe.
-   Urządzenie z obsługą SNMP: przełącznik sieciowy lub router (na przykład router Cisco) z włączonym SNMP.
-   Zainstalowane [pliki MIB](/manual/config/items/itemtypes/snmp/mibs): instalacja plików MIB umożliwia Zabbix tłumaczenie numerycznych OID na czytelne dla człowieka nazwy i opisy.
Bez odpowiedniej obsługi MIB możesz widzieć tylko wartości numeryczne, co utrudnia konfigurację pozycji i rozwiązywanie problemów.

Aby zainstalować pliki MIB w Ubuntu:

1\. Zainstaluj pakiet pobierający MIB:

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

Jeśli musisz dodać MIB specyficzne dla producenta (np. 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 poprawną ścieżkę.

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

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

Szczegółowe instrukcje znajdziesz w dokumentacji biblioteki SNMP:

-   [Cisco MIBs](https://github.com/cisco/cisco-mibs)
-   [Juniper MIBs](https://apps.juniper.net/mib-explorer/)

2\. Edytuj ``/etc/snmp/snmp.conf`` i zakomentuj linię zaczynającą się od `mibs :`, aby umożliwić systemowi wczytanie wszystkich dostępnych MIB.

3\. Zweryfikuj działanie, 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 z systemem Ubuntu oraz monitorowanym urządzeniu sieciowym Cisco Catalyst 3750V2-24FS.

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

[comment]: # ({/d9702cdc-aea68f1a})

[comment]: # ({aea0a787-703f62e1})
## 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.

[comment]: # ({/aea0a787-703f62e1})

[comment]: # ({08cfb265-e36b1d35})
### Przykład SNMPv2

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

[Zaloguj się](https://www.cisco.com/c/en/us/support/docs/smb/switches/cisco-small-business-300-series-managed-switches/smb4982-access-an-smb-switch-cli-using-ssh-or-telnet.html) do konsoli routera Cisco i przejdź do trybu konfiguracji:

```default
configure terminal
```

Następnie [włącz SNMP](https://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/7282-12.html), podając ciąg community tylko do odczytu.
Na przykład:

```default
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](https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus3000/sw/security/503_u2_2/Cisco_n3k_security_cg_503_u2_2_chapter7.html?dtid=osscdc000283).

2\. Zapisz konfigurację.

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

```default
write memory
```

[comment]: # ({/08cfb265-e36b1d35})

[comment]: # ({5c8aa85b-87017956})
### 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):

```default
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:

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

3\. Zapisz konfigurację:

```default
write memory
```

Aby uzyskać więcej informacji lub instrukcje dotyczące konkretnego modelu, możesz skorzystać z zewnętrznych [samouczków konfiguracji Cisco SNMP](https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/xe-16/snmp-xe-16-book/nm-snmp-cfg-snmp-support.html).
Ten przewodnik przedstawia jednak podstawowe kroki umożliwiające włączenie monitorowania SNMP.

[comment]: # ({/5c8aa85b-87017956})

[comment]: # ({9891bde8-8df5d064})
## Konfiguracja frontendu Zabbix

[comment]: # ({/9891bde8-8df5d064})

[comment]: # ({5860d3dc-3dc3ccce})
### 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](/manual/config/templates_out_of_the_box/network_devices#devices) 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.

![](../../../assets/en/manual/guides/switch_host.png){width="600"}

![](../../../assets/en/manual/guides/switch_host1.png){width="600"}

[comment]: # ({/5860d3dc-3dc3ccce})

[comment]: # ({6df3857c-a35d4c3a})
## 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.

![](../../../assets/en/manual/guides/switch_hosts.png){width="600"}

-   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.

![](../../../assets/en/manual/guides/switch_data.png){width="600"}

-   Wykresy i ekrany:

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

W następnym kroku możesz:

-   [Dodać niestandardowe pozycje SNMP](#create-snmp-items), aby monitorować dodatkowe metryki.
-   [Skonfigurować alerty problemów](#set-up-problem-alerts), aby otrzymywać powiadomienia o potencjalnych problemach.

[comment]: # ({/6df3857c-a35d4c3a})

[comment]: # ({d0b21274-ff776e8a})
### 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:

```bash
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ć:

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

2\. Utwórz pozycję SNMP:

-   Przejdź do *Data collection > Hosts*, 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.

![](../../../assets/en/manual/guides/switch_item.png){width="600"}

-   *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ć szybkość.

![](../../../assets/en/manual/guides/switch_preprocessing.png){width="600"}

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

[comment]: # ({/d0b21274-ff776e8a})

[comment]: # ({53a42dcd-1b28232c})
### 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:

```bash
snmptranslate -On IF-MIB::ifHCInOctets.3
```

To polecenie może zwrócić:

```bash
.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:

```bash
snmptranslate -IR -On .1.3.6.1.2.1.31.1.1.1.6.3
```

To polecenie może zwrócić:

```bash
IF-MIB::ifHCInOctets.3
```

[comment]: # ({/53a42dcd-1b28232c})

[comment]: # ({133d5107-c98bb7b1})
## Skonfiguruj alerty o problemach

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

1\. Przejdź do [*Ustawienia użytkownika > Profil*](/manual/web_interface/user_profile), przełącz się na kartę *Media* i [dodaj swój adres e-mail](/manual/quickstart/login#adding-user).

![](../../../assets/en/manual/quickstart/new_media.png){width="600"}

2\. Postępuj zgodnie z instrukcjami w przewodniku [Odbieranie powiadomienia o problemie](/manual/quickstart/notification).

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

[comment]: # ({/133d5107-c98bb7b1})

[comment]: # ({1be06fac-a0c24d90})
## 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”).

![](../../../assets/en/manual/guides/switch_problem.png){width="600"}

Jeśli alerty są [skonfigurowane](#set-up-problem-alerts), 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*.

[comment]: # ({/1be06fac-a0c24d90})

[comment]: # ({28c7c206-d7537870})
## 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, spróbuj wykonać następujące kroki:

1\. Sprawdź łączność SNMP.

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

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

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

Dla SNMPv3 podaj odpowiednie poświadczenia SNMPv3:

```bash
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 sekcji [wymagania wstępne](#prerequisites).
Aby to potwierdzić, następujące polecenie nie powinno zwracać błędu podczas odpytywania urządzenia sieciowego:

```bash
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:

```default
show running-config | include snmp
```

To zapewnia, że community string (dla SNMPv2) lub dane użytkownika SNMPv3 są poprawne.

4\. Sprawdź, czy SNMP jest poprawnie włączone na urządzeniu sieciowym.
Na routerze Cisco zaloguj się do konsoli i uruchom:

```default
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:

```bash
sudo ufw status
```

Lub, w przypadku iptables:

```bash
sudo iptables -L -n
```

6\. Przejrzyj pliki dziennika serwera Zabbix pod kątem błędów związanych z SNMP, aby ułatwić zlokalizowanie problemu:

```bash
tail -f /tmp/zabbix_server.log
```

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

[comment]: # ({/28c7c206-d7537870})

[comment]: # ({20664b64-aeb05d60})
**Zobacz także:**

- [Tworzenie pozycji](/manual/config/items/item) - dowiedz się, jak dodawać dodatkowe metryki.
- [Agent SNMP](/manual/config/items/itemtypes/snmp) - dodatkowe informacje o monitorowaniu SNMP w Zabbix.
- [Standaryzowane szablony dla urządzeń sieciowych](/manual/config/templates_out_of_the_box/network_devices) - informacje o dostępnych szablonach SNMP.
- [Odkrywanie OID-ów SNMP](/manual/discovery/low_level_discovery/examples/snmp_oids_walk) - dodatkowe informacje o wykrywaniu SNMP na przełączniku.
- [Konfigurowanie reguły wykrywania sieci](/manual/discovery/network_discovery/rule) - dodatkowe informacje o tym, jak skonfigurować regułę wykrywania sieci używaną przez Zabbix do wykrywania hostów i usług.

[comment]: # ({/20664b64-aeb05d60})
