Мониторинг через Zabbix

Zabbix — это программное обеспечение для мониторинга с открытым исходным кодом. Оно обеспечивает мониторинг метрик, таких как использование сети, загрузка ЦП и использование дискового пространства, а также время безотказной работы и время отклика. Его также можно использовать для мониторинга различных сетевых служб, таких как SMTP, POP3, HTTP и SNMP.
В этом примере мы попытаемся осуществлять мониторинг устройств Teltonika-Networks с помощью агента Zabbix, а также SNMPv2 и SNMPv3 с аутентификацией.
Обзор конфигурации и предварительные условия
Для этого примера нам понадобится:
  • Маршрутизатор Teltonika-networks - в этом примере будет использоваться RUTX11
  • Zabbix-сервер
Подготовка Zabbix сервера
Существует несколько способов установки сервера Zabbix, в зависимости от вашей операционной системы и среды. Вот несколько распространённых методов:

  • Менеджер пакетов: В дистрибутивах Linux, таких как Red Hat, CentOS, Debian и Ubuntu, вы можете установить сервер Zabbix с помощью менеджера пакетов. Это самый простой и распространённый способ установки Zabbix. Например, в Ubuntu вы можете использовать команду: sudo apt-get install zabbix-server-mysql zabbix-frontend-php
  • Установка исходного кода: Вы также можете установить Zabbix из исходного кода. Этот метод позволяет вам настроить установку и установить последнюю версию Zabbix. Вам нужно будет загрузить исходный код с веб-сайта Zabbix, а затем скомпилировать и установить его в вашей системе.
  • Docker: Zabbix имеет официальный образ Docker, который позволяет запускать сервер Zabbix в контейнере. Это полезная опция для тестирования или для сред, где вы хотите минимизировать количество установленных пакетов на хост-системе.
  • Virtual Appliance: Zabbix также предоставляет готовую к использованию Virtual Appliance с предустановленным сервером Zabbix. Это может использоваться в таких средах, как VMware или VirtualBox.
  • Cloud Image: Zabbix также предоставляет предварительно настроенный образ для различных поставщиков облачных услуг, таких как AWS,Azure,GCP. Это можно использовать для быстрого развёртывания мониторинга Zabbix в облачных средах.
Независимо от того, какой метод вы выберете, вам также понадобится настроить базу данных для использования сервером Zabbix и настроить PHP front-end для веб-интерфейса. Конкретные шаги для этих задач будут различаться в зависимости от вашей операционной системы и среды, но вы можете найти подробные инструкции в документации Zabbix.

В этом примере у нас есть сервер Zabbix, настроенный с использованием метода контейнера Docker и базы данных PostgreSQL на Windows 10 + WSL Ubuntu 22.04 LTS . Инструкции можно найти в официальной документации Zabbix: https://www.zabbix.com/documentation/current/en/manual/installation/containers
После того, как сервер Zabbix будет запущен и заработает, мы можем начать добавлять узлы.
Мониторинг с использованием агента
Zabbix-агент — это небольшая программа, которая запускается на хостах, которые вы хотите отслеживать. Её роль заключается в сборе различных данных с хоста, таких как показатели производительности, файлы журналов и системная информация, а затем отправке этих данных на сервер Zabbix. Это позволяет серверу анализировать данные и создавать на их основе оповещения, графики и отчеты.
Агент Zabbix обычно устанавливается на той же машине, что и сервер Zabbix, но его также можно установить на удалённых хостах, таких как серверы, рабочие станции или сетевые устройства. Он может работать на самых разных платформах, включая Linux, Windows, macOS и даже встроенные системы.
В этом примере агент Zabbix будет установлен как пакет в операционной системе RutOS.
Установка и настройка Zabbix Agent
Чтобы установить Zabbix агента на нашем маршрутизаторе, нам понадобится доступ к интерфейсу командной строки. Обратитесь к следующей статье, чтобы узнать, как это сделать: https://wiki.teltonika-networks.com/view/Command_Line_Interfaces_RutOS
В CLI выполните следующие команды для установки демона агента:

  • opkg update
  • opkg install zabbix-agentd

Далее откройте файл конфигурации с помощью вашего любимого редактора:

  • nano /etc/zabbix_agentd.conf

После открытия zabbix_agentd.conf нам нужно будет изменить значение «Сервер» и установить его на IP-адрес сервера Zabbix:

  • Server=192.168.1.220

Дополнительно добавьте значения ListenPort и Hostname:

  • ListenPort=10050
  • Hostname=RUTX11

Примечание: Мы прослушиваем порт 10050, поскольку в этом примере используется пассивный агент. Если вы хотите использовать активный агент, следует использовать порт 10051.
Сохраните изменения в файле конфигурации и перезапустите демон:

  • /etc/init.d/zabbix-agentd restart
Добавление хоста агента в интерфейс Zabbix
После настройки агента на маршрутизаторе мы добавим его в качестве хоста на сервере Zabbix. Для этого войдите в интерфейс сервера Zabbix и перейдите в Мониторинг → Хосты в меню слева. Нажмите на кнопку Создать хост в правом углу экрана. Появится окно, в котором мы настроим хост соответствующим образом:
  1. Имя хоста: RUTX11
  2. Шаблоны: Шаблоны/Операционные системы → Linux by Zabbix agent
  3. Группы хостов: серверы Linux
  4. Интерфейсы: нажмите «Добавить» , выберите «Агент» и введите IP-адрес маршрутизатора.
  5. Оставьте остальные настройки по умолчанию и нажмите «Добавить» , чтобы сохранить настройки.
Теперь маршрутизатор добавлен как хост, и вы должны увидеть его в списке отслеживаемых устройств:
Теперь мы можем увидеть, какую информацию мы получаем от маршрутизатора.
Для просмотра необработанных данных выберите Последние данные , где вы будете перенаправлены на другую страницу с различными видами данных, собранных с маршрутизатора. Вот пример системной информации :
Для того, чтобы увидеть графики, нажмите на Graphs в списке хостов. Вот пример данных мобильного интерфейса:
Мониторинг через SNMP
SNMP обеспечивает более простой способ мониторинга сетевых устройств, но имеет некоторые ограничения. Сбор данных SNMP в основном основан на предопределенных OID, он может не предоставлять подробную информацию или информация может быть недоступна в OID, тогда как Zabbix Agent можно настроить для сбора определенных данных и предоставления более подробной информации.
Можно использовать как SNMP, так и Zabbix-агент для одновременного мониторинга одного и того же устройства, чтобы получить наиболее полное и подробное представление об устройстве.
Конфигурация маршрутизатора SNMPv2
Перейдите в раздел «Службы» > «SNMP» :
  1. Включить службу SNMP
  2. Включить режим SNMP v2c
  3. Оставьте остальные настройки по умолчанию.
Добавление хоста SNMPv2 в интерфейс Zabbix
После того, как мы включим SNMPv2 на маршрутизаторе, мы добавим его как хост на сервере Zabbix. Для этого войдите в интерфейс сервера Zabbix и перейдите в Мониторинг → Хосты в меню слева. Нажмите на кнопку Создать хост в правом углу экрана. Появится окно, в котором мы настроим хост соответствующим образом:
  1. Имя хоста: RUTX11-SNMP2
  2. Шаблоны: Шаблоны/сетевые устройства → Сетевое универсальное устройство по SNMP
  3. Группы хостов: Обнаруженные хосты
  4. Интерфейсы: нажмите «Добавить» , выберите SNMP , введите IP-адрес маршрутизатора и выберите версию SNMPv2.
  5. Оставьте остальные настройки по умолчанию и нажмите «Добавить» , чтобы сохранить настройки.
Теперь маршрутизатор добавлен как хост с использованием SNMP v2, и вы должны увидеть его в списке отслеживаемых устройств:
Теперь мы можем увидеть, какую информацию мы получаем от маршрутизатора.
Для просмотра необработанных данных выберите Latest data , где вы будете перенаправлены на другую страницу с различными видами данных, собранных с маршрутизатора. Вот пример интерфейса wwan0 :
Для просмотра графиков нажмите на «Графики» в списке хостов. Вот пример данных интерфейса LAN:
Конфигурация маршрутизатора SNMPv3
SNMP v3 обеспечивает больше функций безопасности, чем v2, что делает его более подходящим для использования в защищенных сетевых средах. Маршрутизаторы Zabbix и Teltonika поддерживают SNMPv3. Конфигурация маршрутизатора следующая:
Перейдите в раздел «Службы» > «SNMP» :
  1. Включить службу SNMP
  2. Включить режим SNMP v2c
  3. Включить режим SNMP v3
  4. Оставьте остальные настройки по умолчанию.
Перейдите в раздел «Службы» > «SNMP» > «Пользователи SNMPv3» и добавьте новый экземпляр с информацией об аутентификации:
  1. Уровень безопасности: Аутентификация и конфиденциальность
  2. Тип аутентификации: MD5
  3. Создайте парольную фразу аутентификации
  4. Тип конфиденциальности: DES
  5. Создать пароль конфиденциальности
  6. Оставьте остальные настройки по умолчанию, сохраните и примените настройки.
Добавление хоста SNMPv3 в интерфейс Zabbix
После настройки SNMPv3 на маршрутизаторе мы добавим его в качестве хоста на сервере Zabbix. Для этого войдите в интерфейс сервера Zabbix и перейдите в Мониторинг → Хосты в меню слева. Нажмите кнопку Создать хост в правом углу экрана. Появится окно, в котором мы настроим хост соответствующим образом:
  1. Имя хоста: RUTX11-SNMP3
  2. Шаблоны: Шаблоны/сетевые устройства → Сетевое универсальное устройство по SNMP
  3. Группы хостов: Обнаруженные хосты
  4. Интерфейсы: нажмите «Добавить» , выберите SNMP , введите IP-адрес маршрутизатора и выберите версию SNMPv3.
  5. Введите необходимые данные аутентификации с маршрутизатора.
  6. Остальные настройки оставьте по умолчанию.
Теперь маршрутизатор добавлен как хост с использованием SNMP v2, и вы должны увидеть его в списке отслеживаемых устройств: