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.

Предполагается, что ваше сетевое устройство уже физически установлено и подключено.

Настройка сетевого устройства (пример маршрутизатора Cisco)

Для мониторинга по SNMP необходимо настроить ваше сетевое устройство так, чтобы оно разрешало SNMP-запросы. Пример ниже приведён для SNMPv2 и не учитывает существующие настройки. Внимание: применение этих команд может переопределить текущие конфигурации SNMP.

Для маршрутизатора Cisco настройка обычно включает шаги, описанные ниже.

Пример SNMPv2

1. Включите SNMP и задайте строку community.

Войдите в консоль вашего маршрутизатора Cisco и перейдите в режим конфигурирования:

configure terminal

Затем включите SNMP, указав строку community только для чтения. Например:

snmp-server community <your_community_string> RO

Замените <your_community_string> на вашу защищённую строку community. Примечание: параметр RO (Read-Only) позволяет SNMP получать данные с устройства, но предотвращает любые изменения конфигурации.

В целях безопасности рекомендуется ограничить доступ по SNMP только необходимыми устройствами. Дополнительные рекомендации по настройке списков контроля доступа (ACL) см. в официальной документации Cisco.

2. Сохраните конфигурацию.

Сохраните изменения, чтобы настройки SNMP сохранялись после перезагрузки:

write memory

Пример SNMPv3

SNMPv3 обеспечивает повышенную безопасность за счет аутентификации и шифрования. Его конфигурация более безопасна, чем у SNMPv2, и должна быть проверена в соответствии с документацией для вашего устройства.

1. Создайте группу SNMP.

Настройте группу SNMPv3 с включенной privacy (шифрованием):

configure terminal
snmp-server group <your_group> v3 priv

2. Создайте пользователя SNMP.

Добавьте пользователя SNMPv3 с аутентификацией и privacy. Замените заполнители на нужные вам значения:

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

3. Сохраните конфигурацию:

write memory

Для получения дополнительных сведений или инструкций для конкретной модели вы можете обратиться к внешним руководствам Cisco по настройке SNMP. Однако это руководство содержит основные шаги по включению мониторинга SNMP.

Настройка веб-интерфейса 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

После настройки узла сети вы можете создать элементы данных для мониторинга конкретных метрик. Примечание: этот шаг необязателен, если вы используете шаблон, так как шаблоны уже содержат наборы элементов данных по умолчанию.

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.
  • Ключ: укажите осмысленный ключ (например, 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,...].

Преобразование OID между числовым форматом и именами MIB

При работе с SNMP может потребоваться преобразование между числовыми OID и соответствующими им именами MIB. Такое преобразование помогает проще идентифицировать метрики и устранять неполадки.

  • Преобразование имени MIB в числовой OID: используйте команду snmptranslate с опцией -On. Например, чтобы преобразовать имя MIB IF-MIB::ifHCInOctets.3 в его числовой OID, выполните:
snmptranslate -On IF-MIB::ifHCInOctets.3

Эта команда может вывести:

.1.3.6.1.2.1.31.1.1.1.6.3
  • Преобразование числового OID в имя MIB: используйте команду snmptranslate с опцией -IR (или -m ALL) для обратного преобразования. Например, чтобы преобразовать числовой OID .1.3.6.1.2.1.31.1.1.1.6.3 обратно в имя MIB, выполните:
snmptranslate -IR -On .1.3.6.1.2.1.31.1.1.1.6.3

Эта команда может вывести:

IF-MIB::ifHCInOctets.3

Настройка оповещений о проблемах

Это руководство содержит основные шаги по настройке отправки оповещений по электронной почте.

1. Перейдите в Настройки пользователя > Профиль, откройте вкладку Способы оповещения и добавьте свой адрес электронной почты.

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.

Устранение неполадок мониторинга SNMP

Если вы заметили, что значок SNMP в веб-интерфейсе Zabbix отображается КРАСНЫМ цветом или данные не собираются, попробуйте выполнить следующие действия:

1. Проверьте подключение по SNMP.

Для SNMPv2 выполните следующую команду на вашем сервере Zabbix:

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

Эта команда проверяет, отвечает ли устройство на SNMP-запросы.

Для SNMPv3 укажите соответствующие учетные данные SNMPv3:

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

Это позволяет проверить, что учетные данные SNMPv3 указаны правильно и устройство безопасно отвечает на запросы.

2. Убедитесь, что файлы MIB установлены и включены, как описано в разделе предварительных требований. Чтобы убедиться в этом, следующая команда не должна выдавать ошибку при опросе сетевого устройства:

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

В результате должны возвращаться преобразованные OID без ошибок.

3. Убедитесь, что версия SNMP и учетные данные, настроенные в Zabbix, совпадают с параметрами, заданными на вашем устройстве. Например, проверьте настройки SNMP в конфигурации узла сети Zabbix и сравните их с конфигурацией вашего устройства. На устройстве Cisco вы можете проверить настройки SNMP, выполнив:

show running-config | include snmp

Это позволяет убедиться, что строка community (для SNMPv2) или сведения о пользователе SNMPv3 указаны правильно.

4. Убедитесь, что SNMP правильно включен на вашем сетевом устройстве. На маршрутизаторе Cisco войдите в консоль и выполните:

show running-config | include snmp

Эта команда отображает активную конфигурацию SNMP и помогает подтвердить, что SNMP настроен правильно.

5. Убедитесь, что межсетевые экраны или сетевые проблемы не блокируют SNMP-трафик (обычно на порту 161) между сервером Zabbix и устройством. Вы можете проверить подключение с помощью:

nc -zv <device_IP> 161

nc -zv проверяет, открыт ли порт 161 и прослушивается ли он на устройстве.

Кроме того, если вы используете UFW в Ubuntu, проверьте состояние межсетевого экрана:

sudo ufw status

Или, для iptables:

sudo iptables -L -n

6. Просмотрите файлы журнала сервера Zabbix на наличие ошибок, связанных с SNMP, чтобы точнее определить проблему:

tail -f /tmp/zabbix_server.log

tail -f позволяет отслеживать обновления журнала в режиме реального времени.

См. также: