Точка интеграции с Zabbix

Описание интеграции применимо к конфигурации, в которой сервер VictoriaMetrics развёрнут на одном узле.

Получение списка метрик

Получить текущий список активных метрик можно с помощь точки доступа API:

/vision/victoriametrics/prometheus/api/v1/label/__name__/values

Для получения доступа используйте аутентификацию BasicAuth. Учётная запись по умолчанию:

  • имя пользователя: vision;

  • пароль: skala-r.

Извлечение значений

Существует несколько способов извлечения метрик и их текущих значений из Визиона в Zabbix.

С помощью федерации

Точка доступа API:

/vision/victoriametrics/federate?match[]=<MATCH>

Здесь <MATCH> — выражение PormQL для фильтрации метрик, например:

  • Все метрики:

    {__name__=~".*"}
  • utlz_mem_used — все метрики с названием utlz_mem_used;

  • {_pak_id="mbd2"} — все метрики ПАК с названием mbd2.

Пример:

https://192.168.190.188/vision/victoriametrics/federate?match[]=utlz_mem_used

Метрики отдаются в виде строк следующего формата:

ИМЯ_МЕТРИКИ{ИМЯ_МЕТКИ_1="ЗНАЧЕНИЕ_МЕТКИ_1", ...} ЗНАЧЕНИЕ_МЕТРИКИ ОТМЕТКА_ВРЕМЕНИ
Пример ответа
utlz_mem_used{job="utlz_exporter",instance="127.0.0.1:9092",_module_id="db-module",_node_id="mbd8-adb-segment1",_pak_id="pl-mbd8",_target_id="13",_target_type="NODE"} 1119604000 1719840495170
utlz_mem_used{job="utlz_exporter",instance="127.0.0.1:9092",_module_id="db-mbdp-module",_node_id="pl-mbd2-0",_pak_id="pl-mbd2",_target_id="37",_target_type="NODE"} 144613640000 1719840485772...

С помощью запроса

Точка доступа API:

/vision/victoriametrics/api/v1/query?query=<QUERY>

Здесь <QUERY> — запрос PromQL (аналогично выражению для <MATCH>) на получение метрики.

Пример:

https://192.168.190.188/vision/victoriametrics/api/v1/query?query=utlz_mem_used

Метрики отдаются в формате JSON.

Пример ответа
{
  "status": "success",
  "data": {
    "resultType": "vector",
    "result": [
      {
        "metric": {
          "__name__": "utlz_mem_used",
          "_module_id": "db-mbdp-module",
          "_node_id": "pl-mbd2-0",
          "_pak_id": "pl-mbd2",
          "_target_id": "37",
          "_target_type": "NODE",
          "instance": "127.0.0.1:9092",
          "job": "utlz_exporter"
        },
        "value": [1719840527, "144613640000"]
      },
      {
        "metric": {
          "__name__": "utlz_mem_used",
          "_module_id": "db-mbdp-module",
          "_node_id": "pl-mbd2-1",
          "_pak_id": "pl-mbd2",
          "_target_id": "39",
          "_target_type": "NODE",
          "instance": "127.0.0.1:9092",
          "job": "utlz_exporter"
        },
        "value": [1719840527, "144515996000"]
      }
      //  ...
    ]
  },
  "stats": {
    "seriesFetched": "13"
  }
}

Метки

У метрик присутствуют следующие служебные метки:

  • _pak_id — идентификатор ПАК;

  • _target_id — идентификатор объекта (задачи) мониторинга;

  • _target_type — тип объекта (задачи) мониторинга.

    В зависимости от типа и особенностей объекта (задачи) мониторинга, метрика получает дополнительные служебные метки.

    Возможные типы объектов:

    • COMM — коммутатор;

    • NODE — узел;

    • SERVICE — сервис;

    • VM — виртуальная машина.

    Дополнительные служебные метки:

    • _comm_id — идентификатор коммутатора ПАК;

    • _module_id — идентификатор модуля ПАК;

    • _node_id — идентификатор узла ПАК;

    • _vm_id — идентификатор служебной виртуальной машины ПАК.

    Также могут присутствовать и иные метки, которые позволяют фильтровать информацию или отвечают за хранение данных.