13 Discovery door gebruik van Prometheus data

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 ga je naar het tabblad "Preprocessing" en selecteer je de optie Prometheus to JSON voor de voorverwerking. Data in JSON-indeling zijn nodig voor ontdekking en de optie Prometheus to JSON voorverwerking zal precies dat retourneren, met de volgende attributen:

  • Metrieknaam
  • Metriekwaarde
  • Help (indien aanwezig)
  • Type (indien aanwezig)
  • Labels (indien aanwezig)
  • Ruwe regel

Bijvoorbeeld, door te zoeken naar wmi_logical_disk_free_bytes:

uit 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: