13 Обнаружение с использованием данных Prometheus
Обзор
Данные, предоставленные в формате строк Prometheus, могут использоваться для обнаружения низкого уровня.
Подробную информацию о том, как в Zabbix реализован запрос данных Prometheus, см. в разделе Проверки Prometheus.
Конфигурация
Правило низкоуровневого обнаружения следует создать как зависимый элемент данных для основного HTTP элемента данных, который собирает данные Prometheus.
Prometheus в JSON
В правиле обнаружения перейдите на вкладку Preprocessing и выберите вариант предобработки Prometheus в JSON. Данные в формате JSON необходимы для обнаружения, и вариант предобработки Prometheus в JSON вернёт именно их, со следующими атрибутами:
- имя метрики
- значение метрики
- help (если присутствует)
- type (если присутствует)
- labels (если присутствуют)
- исходная строка
Например, при запросе wmi_logical_disk_free_bytes:

из следующих строк Prometheus:
# HELP wmi_logical_disk_free_bytes Free space in bytes (LogicalDisk.PercentFreeSpace)
# TYPE wmi_logical_disk_free_bytes gauge
wmi_logical_disk_free_bytes{volume="C:"} 3.5180249088e+11
wmi_logical_disk_free_bytes{volume="D:"} 2.627731456e+09
wmi_logical_disk_free_bytes{volume="HarddiskVolume4"} 4.59276288e+08
будет возвращено:
[
{
"name": "wmi_logical_disk_free_bytes",
"help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",
"type": "gauge",
"labels": {
"volume": "C:"
},
"value": "3.5180249088e+11",
"line_raw": "wmi_logical_disk_free_bytes{volume=\"C:\"} 3.5180249088e+11"
},
{
"name": "wmi_logical_disk_free_bytes",
"help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",
"type": "gauge",
"labels": {
"volume": "D:"
},
"value": "2.627731456e+09",
"line_raw": "wmi_logical_disk_free_bytes{volume=\"D:\"} 2.627731456e+09"
},
{
"name": "wmi_logical_disk_free_bytes",
"help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",
"type": "gauge",
"labels": {
"volume": "HarddiskVolume4"
},
"value": "4.59276288e+08",
"line_raw": "wmi_logical_disk_free_bytes{volume=\"HarddiskVolume4\"} 4.59276288e+08"
}
]
Сопоставление макросов LLD
Затем вам нужно перейти на вкладку макросов LLD и выполнить следующие сопоставления:
{#VOLUME}=$.labels['volume']
{#METRIC}=$['name']
{#HELP}=$['help']
Прототип элемента данных
Вы можете создать прототип элемента данных следующим образом:

с параметрами предобработки:
