13 Descubrimiento utilizando datos de Prometheus

Descripción general

Los datos proporcionados en formato de línea Prometheus se pueden utilizar para el descubrimiento de bajo nivel.

Consulte las comprobaciones de Prometheus para más detalles sobre cómo se implementa la consulta de datos de Prometheus en Zabbix.

Configuración

La regla de descubrimiento de bajo nivel debe crearse como métrica dependiente de la métrica principal HTTP que recopila datos de Prometheus.

Prometheus a JSON

En la regla de descubrimiento, vaya a la pestaña Preprocesamiento y seleccione la opción de preprocesamiento Prometheus a JSON. Los datos en formato JSON son necesarios para el descubrimiento y la opción de preprocesamiento Prometheus a JSON devolverá exactamente eso, con los siguientes atributos:

  • nombre de la métrica
  • valor de la métrica
  • ayuda (si está presente)
  • tipo (si está presente)
  • etiquetas (si están presentes)
  • línea cruda

Por ejemplo, consultando wmi_logic_disk_free_bytes:

de estas líneas de Prometheus:

# AYUDA wmi_logic_disk_free_bytes Espacio libre en bytes (LogicalDisk.PercentFreeSpace)
       # TIPO calibre wmi_logic_disk_free_bytes
       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

retornará:

[
           {
               "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"
           }
       ]
Mapeo de macros LLD

A continuación tiene que ir a la pestaña de macros LLD y hacer los siguientes mapeos:

{#VOLUME}=$.labels['volume']
       {#METRIC}=$['name']
       {#HELP}=$['help']
Prototipo de métrica

Es posible que desee crear un prototipo de métrica como este:

con opciones de preprocesamiento: