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. Добавьте новый узел сети.

Перейдите в Data collection > Hosts и нажмите Create host.

  • Host name: введите имя вашего устройства (например, "Cisco Router").
  • Host groups: выберите существующую группу или создайте новую, например "Network Devices".
  • Interfaces:
    • Нажмите Add в разделе 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-элемент данных:

  • Перейдите в Data collection > Hosts, откройте вкладку Items для вашего SNMP-узла сети и нажмите Create item.
  • Name: введите понятное имя (например, «Входящий трафик порта 3»).
  • Type: выберите SNMP агент.
  • Key: укажите понятный ключ (например, cisco.ifHCInOctets.3).
  • Host interface: убедитесь, что выбран 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] для асинхронного получения поддерева значений.

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

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

См. также: