Настройка экспорта метрик VK WorkSpace в Zabbix
Общее описание
Начиная с версии 26.2 в VK WorkSpace доступен экспорт метрик в Zabbix. Сервис обеспечивает полную автоматизацию настройки мониторинга в Zabbix на основе конфигурации сервисов.
Сервис самостоятельно выполняет следующие действия:
- Создает шаблоны (Templates) в Zabbix;
- Создает правила обнаружения (LLD — Low-Level Discovery);
- Создает прототипы элементов данных (Item Prototypes);
- Регистрирует хосты (Hosts) в Zabbix.
Все операции выполняются на основе данных, полученных из метрик Prometheus/Victoria Metrics. Ручная настройка каждого хоста или элемента мониторинга не требуется.
Связанные страницы
- Метрики инфраструктуры
- Метрики контейнеров
- Метрики PostgreSQL
- Метрики Tarantool
- Метрики MySQL
- Как работать с Victoria Metrics
Настройка сервиса через установщик VK WorkSpace
-
В веб-интерфейсе установщика VK WorkSpace нажмите кнопку
в правом верхнем углу и выберите Продукты → Администрирование. -
Включите опции:
-
Нажмите кнопку Сохранить.
-
Перейдите в Настройки → Настройки компонентов. Выберите в панели слева Конфигурация экспортера в Zabbix.
-
В разделе Настройка подключения укажите данные для подключения к Zabbix и нажмите кнопку Сохранить. Учетная запись в Zabbix (параметр Zabbix API Token) должна иметь права для выполнения следующих действий:
- Добавление и изменение Autoregistration actions (действий авторегистрации);
- Добавление и изменение групп шаблонов VK WorkSpace;
- Добавление и изменение групп хостов VK WorkSpace;
- Привязка шаблонов к хостам VK WorkSpace и отвязка от них;
- Добавление и изменение шаблонов VK WorkSpace.
-
В разделе Настройка сервисов загрузите пользовательскую кофигурацию для отправки данных, либо сбросьте настройки до настроек по умолчанию или скачайте текущую конфигурацию. Формат YAML-файла и пример конфигурации описаны в разделе ниже.
-
Перейдите в Настройки → Переменные окружения. Выберите в панели слева node-exporter.
-
Для добавления новой переменной нажмите кнопку
, затем нажмите Добавить. Заполните поля Название переменной и Значение переменной и нажмите кнопку Сохранить. Для отправки данных из node exporter необходимо изменить или добавить следующие переменные окружения:
- ENABLE_NODE_EXPORTER = true — включение отправки данных из node exporter;
- ZABBIX_NODE_EXPORTER_TEMPLATE_NAME = Linux by Prom — шаблон в Zabbix для обработки данных из node exporter, по умолчанию используется имя стандартного шаблона Linux by Prom.
-
Выберите в панели слева zabbix-exporter. В случае необходимости добавьте переменные (указаны значения по умолчанию):
- ZABBIX_AUTOREGISTER_MAX_RETRIES = 30 — количество попыток отправить запрос на регистрацию хоста;
- ZABBIX_ITEM_HISTORY_LIFETIME = 7d — история (хранить до) для прототипа элемента данных (item prototype);
- ZABBIX_ITEM_TRENDS_LIFETIME = 30d — динамика изменений (хранить до) для прототипа элемента данных (item prototype);
- ZABBIX_DISCOVERY_RULE_LIFETIME = 7d — удаление потерянных ресурсов для правила обнаружения (discovery rule);
- ZABBIX_DISCOVERY_RULE_ENABLED_LIFETIME = 1d — деактивация потерянных ресурсов для правила обнаружения (discovery rule);
- SEND_METRICS_INTERVAL = 60 — интервал отправки значений метрик;
- SEND_LLD_INTERVAL = 600 — интервал отправки данных LLD.
Пользовательская конфигурация (YAML-файл)
Формат YAML-файла конфигурации следующий:
# Раздел для обычных метрик
services:
имя_сервиса:
- имя_метрики1
- имя_метрики2
# Раздел для PromQL выражений
expressions:
# Маппинг ролей на шаблоны метрик для мониторинга на гипервизорах.
# Доступные шаблонные переменные:
# {{ .Hostname }} — имя контейнера (например, calendarapi1)
# {{ .HypervisorHostname }} — имя гипервизора (например, hypervisor1)
# {{ .HypervisorIP }} — Docker IP гипервизора (из Compute.Ip)
# {{ .CalicoIP }} — Calico IP гипервизора (из Docker-сети через getComputeIps)
# {{ .HypervisorHumanName }} — человекочитаемое имя гипервизора (из Compute.HumanName)
имя_сервиса:
- name: имя_выражения (в виде шаблона)
expr: выражение (promql запрос в виде шаблона)
Пример конфигурации:
# Раздел для обычных метрик
services:
biz-celery-beat:
- celery_task_revoked_created
mailetcd:
- etcd_server_leader_changes_seen_total
- etcd_mvcc_db_total_size_in_bytes
calendarapi:
- calendarapi_gql_middleware_request_duration_seconds_count
# Раздел для PromQL выражений
expressions:
# Маппинг ролей на шаблоны метрик для мониторинга на гипервизорах.
# Доступные шаблонные переменные:
# {{ .Hostname }} — имя контейнера (например, calendarapi1)
# {{ .HypervisorHostname }} — имя гипервизора (например, hypervisor1)
# {{ .HypervisorIP }} — Docker IP гипервизора (из Compute.Ip)
# {{ .CalicoIP }} — Calico IP гипервизора (из Docker-сети через getComputeIps)
# {{ .HypervisorHumanName }} — человекочитаемое имя гипервизора (из Compute.HumanName)
addrbook-onedb:
- name: '{{ .Hostname }} Tarantool: Арена памяти used ratio'
expr: 'tnt_slab_arena_used_ratio{instance=~"{{ .Hostname }}.*"}'
- name: '{{ .Hostname }} Tarantool: Квота памяти used ratio'
expr: 'tnt_slab_quota_used_ratio{instance=~"{{ .Hostname }}.*"}'


