Открыть меню
Платформа Эра. Документация
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Подключение к Zabbix

Материал из Платформа Эра. Документации

Общая информация

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

Для работы с системами мониторинга, платформа Эра использует протокол SNMP версии 2c и в частности механизм SNMP Traps. В отличии от классического использования протокола SNMP, внешняя система не опрашивает платформу, вместо этого платформа сама передает данные для мониторинга внешней системе. Объем данных и параметры системы для передачи SNMP-трафика указываются в параметрах мастер-домена.

По-умолчанию Zabbix не работает с механизмом SNMP Traps, его необходимо настроить перед подключением системы.

Таким образом, выстраивется следующий алгоритм подключения Zabbix к платформе Эра:

  1. Настройка получения SNMP Traps в Zabbix
  2. Настройка отправки SNMP в мастер-домене
  3. Настройка узла сети и элементов данных (Host и Items) в Zabbix

Детали работы SNMP можно посмотреть на ресурсе Vendor.

Настройка SNMP Traps в Zabbix

Для настройки SNMP Traps будет необходим административный доступ к серверу Zabbix. В данном примере, будет рассмотрена работа с Zabbix под управлением Debian 12.

Если данный механизм уже активирован на вашем сервере Zabbix, можно переходить сразу к настройке SNMP в платформе Эра.

Первым шагом, необхдимо установить пакеты snmp, snmptrapd и библиотеку snmp для perl:

sudo apt install snmp snmptrapd

sudo apt-get install libsnmp-perl

perl -MCPAN -e 'install Net::SNMP'

systemctl restart snmptrapd

systemctl enable snmptrapd

Далее, необходимо скачать и установить perl-скрипт обработки snmp traps с помощью zabbix

curl -o /usr/bin/zabbix_trap_receiver.pl https://git.zabbix.com/projects/ZBX/repos/zabbix/raw/misc/snmptrap/zabbix_trap_receiver.pl

chmod +x /usr/bin/zabbix_trap_receiver.pl


Для следующего шага, необходимо определиться со строкой community.

SNMP community (сообщество SNMP) — это строка текста, выполняющая роль "пароля" в протоколе Simple Network Management Protocol (SNMP) версии 1 и 2c. Она используется для определения уровня доступа клиента (управляющей станции) к данным управляемого SNMP устройства (агента), такого как маршрутизатор, хост или свитч.

Существует несколько типов community, которые определяют права доступа:

1. Community public: Обычно используется как строка по умолчанию для доступа "только для чтения". С этим уровнем доступности можно считывать данные с устройства, но не изменять их.

2. Community private: Строка community, обеспечивающая доступ "чтение и запись". С ней можно как читать данные с устройства, так и менять его настройки.

3. Custom Community (настраиваемое сообщество): Это любые настраиваемые строки community, которые могут быть заданы администратором для конкретных нужд безопасности и управления.

После того, как установлены все компоненты и скрипты, необходимо провести их конфигурацию

Файл Необходимые изменения Пример
/usr/bin/zabbix_trap_receiver.pl Установить значение $SNMPTrapperFile = '/tmp/zabbix_traps.tmp';
/etc/snmp/snmptrapd.conf Разрешить доступ необходимому community. В данном случае используется community era.

Последней строчкой вписать perl do "/usr/bin/zabbix_trap_receiver.pl";

/etc/zabbix/zabbix_server.conf Раскомментировать строчку StartSNMPTrapper, задать значение 1.

Задать значение SNMPTrapperFile=/tmp/zabbix_traps.tmp


После завершения настройки необходимо перезагрузить оба сервиса.

systemctl restart zabbix-server

systemctl restart snmptrapd

При использовании Zabbix Proxy, или каких-либо особенных случаев настройки, рекомендуется обращаться к официальной документации Zabbix.

Также, рекомендуется к просмотру данное видео по настройке SNMP Traps.


После того, как все настройки были произведены и применены, можно также загрузить и подключить MIB-файл платформы Эра.

Для получения MIB-файла, вы должны быть авторизованы в мастер-домене платформы. В браузере достаточно открыть страницу с адресом https://[адрес_платформы]/rest/v1/master/snmp/mib

ERA-MIB

Полученный файл необходимо передать на сервер Zabbix, рекомендуется каталог /usr/share/snmp/mibs/

Далее, необходимо внести изменения в файл /etc/snmp/snmp.conf

В раздел mibs необходимо добавить путь к файлу (пример в скриншоте)

После сохранения изменений, необходимо перезагрузить Zabbix:

systemctl restart zabbix-server
Настройка MIB в snmptrapd

Также, необходимо включить поддержку MIBs в snmptrapd:

В файле /usr/lib/systemd/system/snmptrapd.service необходимо в значении ExecStart добавить ключ -m ALL

После чего перезагрузить службу:

systemctl daemon-reload
systemctl restart snmptrapd

При необходимости, так же можно конвертировать MIB-файл в шаблон Zabbix.

Настройка SNMP в мастер-домене

Настройки мастер-домена

Работа SNMP определяется параметрами мастер-домена.

Для изменения параметров необходимо войти в приложение Настройки в мастер-домене, далее во вкладке Домен найти раздел Параметры.

snmp_options


За работу SNMP отвечает параметр snmp_options, содержащий JSON следующего вида:

{
  "community": "communityname",
  "enabled": true,
  "excluded_types": [],
  "ip": "",
  "level": "info",
  "rate_interval_min": 1,
  "system_state_excluded_keys": [],
  "system_state_interval_min": 5,
  "types": [
    "*"
  ]
}

Для активации SNMP необходимо указать значение enabled=true, ip-адрес настроенного zabbix, необходимую строку community (например, era как в предыдущем шаге), а также задать уровень логирования:

  • emergency (0)
  • alert (1)
  • critical (2)
  • error (3)
  • warning (4)
  • notice (5)
  • info (6)
  • debug (7)

Детальное описание всех параметров snmp_options можно найти на ресурсе Vendor.

После сохранения настроек они применяются автоматически, перезагрузка сервисов платформы не требуется.

Обработка SNMP в Zabbix

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

Настройка узла сети в Zabbix

Zabbix в своей работе оперирует понятиями Узел сети (Host) и Элемент данных (Item). Применительно к платформе Эра, узлом сети будет являться один инстанс платформы целиком, вне зависимости от количества серверов, на которых он функционирует. Элементы данных же представляют собой "показатели" и события инстанса платформы, такие как текущее количество подключенных к системе пользователей, статус системы, события изменения состояний микросервисов и т.д. Полный список всех событий и показателей можно найти на ресурсе Vendor.

Для подключения узла сети, необходимо во вкладке Data Collection открыть раздел Hosts и добавить новую запись. Требуется указать его название, выбрать группу (группы) и добавить интерфейс SNMP с IP-адресом и доменом. Несмотря на то, что непосредственно обращение по SNMP к серверу в случае Эры использоваться не будет, механизм обработки SNMP-трапов будет использовать IP-адрес и домен узла для привязки SNMP-запросов к нему.

Остальные параметры узла не являются обязательными и могут быть заданы на усмотрение администратора.

Созданный узел сервера

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

Тип элемента данных необходимо выбрать SNMP Trap. Также необходимо выбрать правильный интерфейс узла, если их несколько.

Элемент данных Zabbix
Данные SNMP в Zabbix

Обработка элементов данных осуществляется при помощи регулярных выражений. Каждый элемент данных отбирает в собственное хранилище те сообщения SNMP, которые ему подходят, оставшиеся необработанные сообщения отправляются в элемент данных snmptrap.fallback. Поэтому, первым необходимо создать именно его. В таком случае, в этом элементе данных мы сможем увидеть все события от платформы эра, после чего составить для них регулярные выражения и создать необходимый набор других элементов данных.

Просмотреть список событий и сообщений можно на вкладке Monitoring -> Latest Data.