Zabbix

Материал из Документация Ключ-АСТРОМ
Версия от 22:56, 25 августа 2026; IKuznetsov (обсуждение | вклад) (Новая страница: «= Интеграция Zabbix с Ключ-АСТРОМ = Расширение: <code>ru.ruscomtech.python.zabbix</code> Версия: 0.1.27 Минимальная версия Ключ-АСТРОМ: 1.285.0 == Назначение == Расширение интегрирует данные '''Zabbix''' в платформу Ключ-АСТРОМ, обеспечивая единое окно наблюдаемости для гибридных сред,...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Интеграция Zabbix с Ключ-АСТРОМ

Расширение: ru.ruscomtech.python.zabbix

Версия: 0.1.27

Минимальная версия Ключ-АСТРОМ: 1.285.0

Назначение

Расширение интегрирует данные Zabbix в платформу Ключ-АСТРОМ, обеспечивая единое окно наблюдаемости для гибридных сред, где часть инфраструктуры мониторится только через Zabbix. Оно не заменяет Zabbix, а делает его данные доступными в Ключ-АСТРОМ для корреляции, анализа ИИ и визуализации.

Основные задачи:

  • Синхронизация хостов, групп хостов и проблем Zabbix как кастомных сущностей и событий в Ключ-АСТРОМ.
  • Экспорт числовых метрик Zabbix в формате пользовательских метрик Ключ-АСТРОМ.
  • Привязка проблем Zabbix к существующим сущностям Ключ-АСТРОМ (хостам, сервисам и др.) по IP или через тег с entity selector.
  • Поддержка фильтрации по host group, тегам проблем и ключам метрик (включая регулярные выражения).

Архитектура и сущности

Расширение создаёт следующие типы кастомных сущностей в Ключ-АСТРОМ:

Тип сущности Идентификатор Описание
Zabbix Server zabbix:server Представляет один Zabbix-сервер
Host Group zabbix:hostgroup Группа хостов из Zabbix
Host in Group zabbix:host_on_group Промежуточная связь между хостом и группой
Host zabbix:host Отдельный хост Zabbix

Сущности связаны отношениями:

  • zabbix:hostgroupCHILD_OFzabbix:server
  • zabbix:host_on_groupCHILD_OFzabbix:hostgroup
  • zabbix:host_on_groupCALLSzabbix:host

Для сущности zabbix:host могут быть заполнены:

  • IP-адрес (из item’а interfaces или Zabbix API)
  • Поля инвентаря (при включении соответствующих флагов в inventory_keys)
  • Zabbix-теги как строковое свойство zabbix_tags

Синхронизация проблем

Проблемы Zabbix (триггеры в состоянии PROBLEM) передаются в Ключ-АСТРОМ как события с типом CUSTOM_ALERT.

Severity mapping

Уровни серьёзности Zabbix сопоставляются уровням проблем Ключ-АСТРОМ через настройки:

Zabbix severity Dynatrace problem level
zbx2dt_disaster Availability
zbx2dt_high Error
zbx2dt_average Slowdown
zbx2dt_warning Resource
zbx2dt_information, zbx2dt_not_classified Suppress (по умолчанию)

Сопоставление можно изменить в разделе Advanced configuration.

Привязка к существующим сущностям

По умолчанию проблема привязывается к сущности zabbix:host. Для привязки к другим объектам используется тег в Zabbix:

  • В конфигурации расширения задаётся имя тега: параметр Zabbix tag for Dynatrace entities (tag_entities, по умолчанию DT_Entity).
  • В Zabbix на триггере/шаблоне/хосте добавляется тег с этим ключом.
  • Значение тега должно быть валидным entity selector Ключ-АСТРОМ, например:
    • type("HOST"),entityName.equals("{HOST.NAME}")
    • entityId("SERVICE-ABC123")
    • type("PROCESS_GROUP"),tag("db")

Если selector возвращает одну или несколько сущностей — событие создаётся на каждой из них. Поведение при множественных совпадениях регулируется флагом Allow Davis merge (dt_allow_davis_merge).

Метрики

Расширение экспортирует три типа метрик:

Метрика Ключ Назначение
Проблемная метрика zabbix.problem_count.gauge Число активных проблем на хосте (включается опцией problem_metric)
Пользовательские item’ы zabbix.item Значения Zabbix-метрик по списку ключей из item_keys
Топологическая метрика zabbix.topology Служебная метрика для создания и поддержки сущностей

Ключи item’ов задаются как список строк или регулярных выражений в поле Zabbix item keys to export (item_keys).

Инвентарь хостов

При включении опций в разделе Zabbix host inventory (inventory_keys) данные из Zabbix Inventory передаются как свойства сущности zabbix:host с префиксом in_ (например, in_os, in_host_networks).

По умолчанию включены:

  • host_networksin_host_networks
  • osin_os

Остальные поля (оборудование, контакты, геолокация и т.д.) включаются явно.

Настройка

Требования

  • Zabbix: пользователь или API-токен с правами Read на нужные host groups.
  • Ключ-АСТРОМ: АктивныйШлюз окружения с поддержкой Python-расширений.
  • Расширение загружено и активировано в Расширениях.

Конфигурация endpoint’а

Обязательные параметры:

  • url — URL Zabbix (например, https://zabbix.example.com/zabbix)
  • username / password — учётные данные или API-токен в поле password
  • groups — список host groups для синхронизации (минимум одна)

Опциональные (в Advanced configuration):

  • timeout — таймаут запроса к Zabbix API (по умолчанию 5 сек)
  • cert_verify — проверка SSL-сертификата (по умолчанию false)
  • refresh_* — интервалы обновления данных (хосты: 20 мин, проблемы: 15 мин)
  • interfaces_key — ключ item’а с IP-адресами (по умолчанию interfaces)
  • synchronize_problems — включить синхронизацию проблем (по умолчанию true)
  • problem_resend — интервал переотправки/закрытия проблем (по умолчанию 5 мин)
  • tag_entities — имя тега для маппинга на сущности Ключ-АСТРОМ (по умолчанию DT_Entity)
  • dt_allow_davis_merge — разрешить объединение событий ИИ (по умолчанию true)

Если требуется HTTP/HTTPS-прокси, он настраивается отдельно в блоке Proxy (proxy.url, proxy.user, proxy.password).

Интерфейс в Ключ-АСТРОМ

После первого цикла синхронизации доступны:

  • Экраны: Zabbix Servers, Zabbix HostGroups, Zabbix Hosts
  • Дашборд: Zabbix Overview (автоматически импортируется из пакета расширения)
  • Метрики в Metrics browser по пространству имён zabbix.*
  • События в разделах Events и Problems

Каждый Zabbix-хост отображает:

  • Свойства (IP, инвентарь, теги)
  • Ссылку на Zabbix UI (zabbix_host_url)
  • Метрику zabbix.problem_count.gauge
  • Привязанные события

Тегирование

Расширение автоматически добавляет тег technology: zabbix ко всем создаваемым сущностям.

Рекомендуется настроить дополнительные auto-tag’и:

  • Глобальный тег Zabbix для всех zabbix:* сущностей.
  • Теги по группам, например ZabbixHG:Linux servers, с использованием entity selector:
type("zabbix:hostgroup"),entityName.equals("Linux servers")

и

type("zabbix:host"),toRelationships.calls(

 type("zabbix:host_on_group"),
 fromRelationships.isChildOf(
   type("zabbix:hostgroup"),
   entityName.equals("Linux servers")
 )

)

Ограничения

  • Проблемы, живущие менее problem_resend минут (по умолчанию 5), могут не попасть в Ключ-АСТРОМ.
  • Закрытие проблемы в Ключ-АСТРОМ происходит с задержкой до следующего цикла опроса.
  • Порт не передаётся из Zabbix → невозможно точное совпадение сущности по (IP, port).
  • Acknowledgements отображаются только в свойствах события, не влияют на состояние проблемы.
  • Максимум 100 endpoint’ов на один экземпляр расширения.

Release Notes

Версия 0.1.27 (custom)

Версия плагина с префиксом custom.

Версия 0.1.27

Стандартная версия плагина.