12 Ontdekking met behulp van Prometheus-gegevens
Overzicht
Gegevens die worden verstrekt in Prometheus-lineformaat kunnen worden gebruikt voor low-level discovery.
Zie Prometheus checks voor details over hoe Prometheus-gegevensquery's zijn geïmplementeerd in Zabbix.
Configuratie
De low-level discovery-regel moet worden gemaakt als een afhankelijk item van het HTTP-masteritem dat Prometheus-gegevens verzamelt.
Prometheus naar JSON
In de ontdekkingsregel gaat u naar het tabblad Voorbewerking en selecteert u de voorbewerkingsoptie Prometheus naar JSON. Gegevens in JSON-indeling zijn nodig voor ontdekking en de voorbewerkingsoptie Prometheus naar JSON zal precies dat teruggeven, met de volgende attributen:
- metricanaam
- metricwaarde
- hulp (indien aanwezig)
- type (indien aanwezig)
- labels (indien aanwezig)
- onbewerkte regel
Bijvoorbeeld, het bevragen van wmi_logical_disk_free_bytes:

van deze Prometheus-regels:
# 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
zal het volgende retourneren:
[
{
"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"
}
]
Mappen van LLD-macro's
Ga vervolgens naar het tabblad LLD-macro's en maak de volgende mappings:
{#VOLUME}=$.labels['volume']
{#METRIC}=$['name']
{#HELP}=$['help']
Item-prototype
Je wilt mogelijk een item-prototype maken zoals dit:

met voorverwerkingsmogelijkheden:
