10 Мониторинг сетевого коммутатора или маршрутизатора с помощью Zabbix
Введение
Это руководство проведет вас через шаги, необходимые для начала базового мониторинга вашего сетевого коммутатора или маршрутизатора с помощью Zabbix. В качестве примера используется маршрутизатор Cisco, но процедура применима к любому сетевому устройству с поддержкой SNMP.
Для кого предназначено это руководство
Это руководство предназначено для новых пользователей Zabbix и сетевых администраторов, которые хотят быстро включить базовый мониторинг сетевых устройств. Если вам требуется глубокая настройка или расширенные параметры конфигурации, обратитесь к странице SNMP agent или разделу Configuration руководства Zabbix.
Предварительные требования
Перед тем как продолжить, убедитесь, что у вас есть:
- Установлены сервер Zabbix и веб-интерфейс Zabbix: установите их в соответствии с инструкциями для вашей операционной системы (см. Installation from packages и Web interface installation).
- Установлен агент Zabbix, если выполняется мониторинг локальных сетевых метрик.
- Устройство с поддержкой SNMP: сетевой коммутатор или маршрутизатор (например, маршрутизатор Cisco) с включенным SNMP.
- Установлены MIB files: установка MIB-файлов позволяет Zabbix преобразовывать числовые OID в понятные человеку имена и описания. Без надлежащей поддержки MIB вы можете видеть только числовые значения, что затрудняет настройку элементов данных и устранение неполадок.
Чтобы установить MIB-файлы в Ubuntu:
1. Установите пакет загрузчика MIB:
sudo apt-get update
sudo apt-get install snmp-mibs-downloader
Если вам нужно добавить MIB-файлы, специфичные для производителя (например, от Cisco, Juniper), поместите их в соответствующий каталог MIB:
- Для систем на базе Linux обычные расположения включают /usr/share/snmp/mibs/ или /usr/local/share/snmp/mibs/.
- Для установок Zabbix MIB-файлы можно хранить в /var/lib/zabbix/mibs/.
Убедитесь, что переменная окружения MIBDIRS или файл snmp.conf содержит правильный путь.
Чтобы проверить, что система распознает новые MIB, используйте:
snmptranslate -IR -On <MIB-NAME>::<object>
Подробные инструкции см. в документации вашей SNMP-библиотеки:
2. Отредактируйте /etc/snmp/snmp.conf и закомментируйте строку, начинающуюся с mibs :, чтобы разрешить системе загружать все доступные MIB.
3. Проверьте работу, выполнив snmpwalk (например, snmpwalk -v 2c -c <your_community_string> <device_IP>), и убедитесь, что OID отображаются с описательными именами.
В зависимости от вашей среды некоторые шаги в этом руководстве могут немного отличаться. Это руководство основано на среде с Ubuntu и сетевым устройством Cisco Catalyst 3750V2-24FS, находящимся под мониторингом.
Предполагается, что ваше сетевое устройство уже физически установлено и подключено.
Configure the network device (Cisco router example)
For monitoring via SNMP, you must configure your network device to allow SNMP queries. The example below is for SNMPv2 and does not take into account existing settings. Caution: applying these commands may override current SNMP configurations.
For a Cisco router, the configuration typically involves steps written below.
SNMPv2 Example
1. Enable SNMP and set community string.
Log in to your Cisco router's console and enter configuration mode:
configure terminal
Then, enable SNMP by specifying a read-only community string. For example:
snmp-server community <your_community_string> RO
Replace <your_community_string> with your secure community string.
Note: the RO (Read-Only) option allows SNMP to retrieve data from the device but prevents any configuration changes.
It is recommended to restrict SNMP access to only the necessary devices for security reasons. For further guidance on configuring access control lists (ACLs), refer to Cisco's official documentation.
2. Save the configuration.
Save your changes to ensure SNMP settings persist after a reboot:
write memory
SNMPv3 Example
SNMPv3 provides enhanced security with authentication and encryption. Its configuration is more secure than SNMPv2 and should be verified against your device-specific documentation.
1. Create an SNMP group.
Configure an SNMPv3 group with privacy (encryption) enabled:
configure terminal
snmp-server group <your_group> v3 priv
2. Create an SNMP user.
Add an SNMPv3 user with authentication and privacy. Replace the placeholders with your desired values:
snmp-server user <your_user> <your_group> v3 auth md5 <auth_password> priv aes 128 <priv_password>
3. Save the configuration:
write memory
For further details or model-specific instructions, you may refer to external Cisco SNMP configuration tutorials. This guide, however, provides the basic steps for enabling SNMP monitoring.
Настройка веб-интерфейса Zabbix
Создание узла сети в веб-интерфейсе Zabbix
1. Войдите в веб-интерфейс Zabbix.
2. Добавьте новый узел сети.
Перейдите в Сбор данных > Узлы сети и нажмите Создать узел сети.
- Имя узла сети: введите имя вашего устройства (например, "Cisco Router").
- Группы узлов сети: выберите существующую группу или создайте новую, например "Network Devices".
- Интерфейсы:
- Нажмите Добавить в разделе Interfaces.
- Выберите SNMP в качестве типа интерфейса.
- Введите IP-адрес или DNS-имя вашего маршрутизатора Cisco.
- Установите порт SNMP по умолчанию (обычно 161).
- Используйте раскрывающееся меню, чтобы выбрать подходящую версию SNMP (например, SNMPv2).
- Для SNMPv1/v2 введите строку community в поле SNMP community. Для SNMPv3 будут запрошены дополнительные учетные данные (Context name, Security name и Security level и т. д.).
3. Свяжите шаблоны
В поле Templates выберите шаблон SNMP, который лучше всего соответствует вашему устройству. Zabbix предоставляет набор готовых SNMP templates для многих семейств устройств. Например, если вы отслеживаете устройство Cisco, выберите шаблон, соответствующий ОС или модели вашего устройства (например, Cisco IOS SNMP или Cisco Catalyst 3750<device model> SNMP).
4. Нажмите Add, чтобы сохранить узел сети.


Просмотр собранных метрик
Поздравляем! Zabbix теперь настроен для мониторинга вашего сетевого устройства.
Последние данные:
- Перейдите в Monitoring > Latest data в веб-интерфейсе Zabbix.

- Выберите ваш узел сети "Cisco Router" (или обнаруженные узлы сети), чтобы просмотреть такие метрики, как время безотказной работы оборудования и сети, потери ICMP, ping и время отклика и т. д.

- Графики и экраны:
Чтобы визуализировать данные о производительности, нажмите Graphs рядом с элементами данных SNMP, чтобы увидеть подробные метрики.
В качестве следующего шага вы можете:
- Добавить пользовательские элементы данных SNMP, чтобы отслеживать дополнительные метрики.
- Настроить оповещения о проблемах, чтобы получать уведомления о возможных неполадках.
Создание элементов данных SNMP
После настройки узла сети вы можете создать элементы данных для мониторинга конкретных метрик. Примечание: этот шаг необязателен, если вы используете шаблон, так как шаблоны уже содержат наборы элементов данных по умолчанию.
1. Определите SNMP OID:
Используйте команду snmpwalk, чтобы вывести список доступных OID на вашем устройстве.
Например:
snmpwalk -v 2c -c <your_community_string> <device_IP> .
Найдите OID для метрики, которую вы хотите мониторить (например, IF-MIB::ifHCInOctets.3 для входящего трафика на порту 3). Чтобы получить числовой OID, можно использовать:
snmpget -v 2c -c <your_community_string> -On <device_IP> IF-MIB::ifHCInOctets.3
2. Создайте элемент данных SNMP:
- Перейдите в Сбор данных > Узлы сети и откройте вкладку Элементы данных для вашего SNMP-узла сети, затем нажмите Создать элемент данных.
- Имя: введите понятное имя (например, "Входящий трафик на порту 3").
- Тип: выберите SNMP agent.
- Ключ: укажите осмысленный ключ (например,
cisco.ifHCInOctets.3). - Интерфейс узла сети: убедитесь, что выбран SNMP-интерфейс.
- SNMP OID: введите OID, используя один из поддерживаемых форматов, например:
get[1.3.6.1.2.1.31.1.1.1.6.3]для одного значения;walk[1.3.6.1.2.1.31.1.1.1.6.3]для асинхронного получения поддерева значений.

- Предобработка (при необходимости): если элемент данных возвращает накопительный счетчик (например, трафик интерфейса), перейдите на вкладку Предобработка и добавьте шаг предобработки, например "Изменение за секунду", чтобы вычислить скорость.

Чтобы получить несколько значений за одну SNMP-транзакцию, можно указать несколько OID, используя синтаксис walk[OID1,OID2,...].
Translating OIDs between Numeric and MIB Names
When working with SNMP, you might need to convert between numeric OIDs and their corresponding MIB names. This translation helps in identifying and troubleshooting metrics more easily.
- Translating a MIB name to a numeric OID: use the
snmptranslatecommand with the-Onoption. For example, to translate the MIB nameIF-MIB::ifHCInOctets.3to its numeric OID, run:
snmptranslate -On IF-MIB::ifHCInOctets.3
This command might output:
.1.3.6.1.2.1.31.1.1.1.6.3
- Translating a numeric OID to its MIB name: use the
snmptranslatecommand with the-IR(or-m ALL) option to reverse the translation. For example, to translate the numeric OID.1.3.6.1.2.1.31.1.1.1.6.3back to its MIB name, run:
snmptranslate -IR -On .1.3.6.1.2.1.31.1.1.1.6.3
This command might output:
IF-MIB::ifHCInOctets.3
Настройка оповещений о проблемах
Это руководство содержит основные шаги настройки отправки оповещений по электронной почте.
1. Перейдите в Настройки пользователя > Профиль, откройте вкладку Media и добавьте свой email.

2. Следуйте инструкциям из руководства Получение уведомления о проблеме.
В следующий раз, когда Zabbix обнаружит проблему, вы должны получить оповещение по электронной почте.
Проверьте вашу конфигурацию
Чтобы убедиться, что Zabbix корректно обнаруживает проблемы с производительностью сети, смоделируйте реальную проблему, увеличив порог времени отклика ICMP ping.
1. Откройте конфигурацию узла сети "Cisco Router" в Zabbix.
2. Перейдите на вкладку Macros и выберите Inherited and host macros.
3. Найдите макрос {$ICMP_RESPONSE_TIME_WARN} (или аналогичный макрос порога времени отклика).
4. Установите очень низкое значение (например, 0.001), чтобы сработало оповещение, когда время отклика ping превысит это значение.
5. Нажмите Update, чтобы применить изменения.
6. Подождите несколько минут, пока Zabbix обнаружит смоделированную проблему.
7. Перейдите в Monitoring > Problems, чтобы убедиться, что появилось оповещение (например, "High ICMP ping response time").

Если оповещения настроены, вы также должны получить оповещение о проблеме.
8. Верните значение макроса к исходному и нажмите Update, чтобы сохранить изменения.
9. Убедитесь, что проблема устранена и исчезла из раздела Problems.
Troubleshooting SNMP Monitoring
If you notice that the SNMP icon in the Zabbix frontend appears RED or no data is collected, try the following steps:
1. Check SNMP connectivity.
For SNMPv2 run the following command from your Zabbix server:
snmpwalk -v 2c -c <community_string> <device_IP> .
This command verifies that the device responds to SNMP queries.
For SNMPv3, include the appropriate SNMPv3 credentials:
snmpwalk -v3 -u <your_user> -l authPriv -a MD5 -A <auth_password> -x AES -X <priv_password> <device_IP> .
This verifies that SNMPv3 credentials are correct and the device is responding securely.
2. Ensure that MIB files are installed and enabled as described in the prerequisites. To ensure that, following command must not give error when you query a network device:
snmpwalk -v 2c -c <your_community_string> <device_IP> ifInOctets
This should return translated OIDs without errors.
3. Confirm that the SNMP version and credentials configured in Zabbix match those set on your device. For instance, review the SNMP settings in the Zabbix host configuration and verify them against your device's configuration. On a Cisco device, you might check the SNMP settings by running:
show running-config | include snmp
This ensures that the community string (for SNMPv2) or SNMPv3 user details are correct.
4. Verify that SNMP is correctly enabled on your network device. On a Cisco router, log in to the console and run:
show running-config | include snmp
This command displays the active SNMP configuration and helps confirm that SNMP is properly configured.
5. Ensure that no firewalls or network issues are blocking SNMP traffic (typically on port 161) between the Zabbix server and the device. You can test connectivity using:
nc -zv <device_IP> 161
nc -zv checks if port 161 is open and listening on the device.
Additionally, if you are using UFW on Ubuntu, check the firewall status:
sudo ufw status
Or, for iptables:
sudo iptables -L -n
6. Review the Zabbix server log files for any SNMP-related errors to help pinpoint the issue:
tail -f /tmp/zabbix_server.log
tail -f allows you to monitor log updates in real time.
См. также:
- Создание элемента данных - узнайте, как добавлять дополнительные метрики.
- Агент SNMP - дополнительная информация о мониторинге SNMP с помощью Zabbix.
- Стандартизированные шаблоны для сетевых устройств - информация о доступных шаблонах SNMP.
- Обнаружение OID SNMP - дополнительная информация об обнаружении SNMP на коммутаторе.
- Настройка правила сетевого обнаружения - дополнительная информация о том, как настроить правило сетевого обнаружения, используемое Zabbix для обнаружения узлов сети и служб.