Мониторинг сетевого коммутатора или маршрутизатора с помощью 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 с включенной конфиденциальностью (шифрованием):

configure terminal
snmp-server group <your_group> v3 priv

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

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

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 для многих семейств устройств. Например, если вы отслеживаете устройство 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 позволяет отслеживать обновления журнала в реальном времени.

См. также: