13 Discovery mit Prometheus-Daten

Übersicht

Daten, die im Prometheus-Zeilenformat bereitgestellt werden, können für die Low-Level-Discovery verwendet werden.

Siehe Prometheus checks für Details dazu, wie die Abfrage von Prometheus-Daten in Zabbix implementiert ist.

Konfiguration

Die Low-Level-Discovery-Regel sollte als abhängiger Datenpunkt zum HTTP-Master-Datenpunkt erstellt werden, der Prometheus-Daten erfasst.

Prometheus zu JSON

Gehen Sie in der Discovery-Regel auf den Reiter Vorverarbeitung und wählen Sie die Vorverarbeitungsoption Prometheus zu JSON aus. Daten im JSON-Format werden für die Discovery benötigt, und die Vorverarbeitungsoption Prometheus zu JSON liefert genau diese mit den folgenden Attributen:

  • Metrikname
  • Metrikwert
  • Hilfe (falls vorhanden)
  • Typ (falls vorhanden)
  • Labels (falls vorhanden)
  • Rohzeile

Zum Beispiel bei einer Abfrage von wmi_logical_disk_free_bytes:

aus diesen Prometheus-Zeilen:

# 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

wird Folgendes zurückgegeben:

[
    {
        "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-Makros zuordnen

Als Nächstes müssen Sie zur Registerkarte „LLD-Makros“ wechseln und die folgenden Zuordnungen vornehmen:

{#VOLUME}=$.labels['volume']
{#METRIC}=$['name']
{#HELP}=$['help']
Datenpunkt-Prototyp

Möglicherweise möchten Sie einen Datenpunkt-Prototyp wie diesen erstellen:

mit Vorverarbeitungsoptionen: