13 Откриће помоћу података Prometheus

Преглед

Подаци дати у формату линије Prometheus могу се користити за ниски ниво откриће.

Погледајте Prometheus checks за детаљи о томе како се Prometheus упити за податке имплементирају у Zabbix.

Конфигурација

Правило откривања ниског нивоа треба креирати као зависне ставке на HTTP мастер предмет који прикупља податке о Prometheus.

Прометеј у JSON

У правилу откривања, идите на картицу Претходна обрада и изаберите опцију Прометеј у JSON претходна обрада. Подаци у JSON формату су потребни за откривање и опција претходна обрада Prometheus to JSON вратиће управо то, са следећим атрибутима:

  • назив метрике
  • вредност метрике
  • помоћ (ако постоји)
  • тип (ако постоји)
  • ознаке (ако постоје)
  • необрађена линија

На пример, упит wmi_logical_disk_free_bytes:

из ових Prometheus линија:

HELP wmi_logical_disk_free_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": "Слободан простор у бајтовима (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']
Прототип предмета

Можда ћете желети да направите прототип ставке овако:

са опцијама за претходну обраду: