Sidebar

Become a monitoring expert!
Sign up for Zabbix training

12 Descoberta usando dados do Prometheus

Visão geral

Os dados fornecidos no formato de linha do Prometheus podem ser usados para descoberta.

Consulte verificações do Prometheus para detalha como a consulta de dados do Prometheus é implementada no Zabbix.

Configuração

A regra de descoberta de baixo nível deve ser criada como um dependente item para o mestre HTTP item que coleta dados do Prometheus.

Prometheus para JSON

Na regra de descoberta, vá para a guia Pré-processamento e selecione o Opção de pré-processamento Prometheus to JSON. Os dados no formato JSON são necessário para descoberta e a opção de pré-processamento Prometheus to JSON retornará exatamente isso, com os seguintes atributos:

  • nome da métrica
  • valor métrico
  • ajuda (se presente)
  • tipo (se houver)
  • etiquetas (se houver)
  • linha crua

Por exemplo, consultando wmi_logical_disk_free_bytes:

dessas linhas do Prometheus:

# HELP wmi_logical_disk_free_bytes Espaço livre em bytes (LogicalDisk.PercentFreeSpace)
       # TYPE medidor wmi_logical_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": "Espaço livre em bytes (LogicalDisk.PercentFreeSpace)",
               "tipo": "medidor",
               "etiquetas": {
                   "volume": "C:"
                },
               "valor": "3.5180249088e+11",
               "line_raw": "wmi_logical_disk_free_bytes{volume=\"C:\"} 3.5180249088e+11"
           },
           {
               "name": "wmi_logical_disk_free_bytes",
               "help": "Espaço livre em bytes (LogicalDisk.PercentFreeSpace)",
               "tipo": "medidor",
               "etiquetas": {
                   "volume": "D:"
                },
               "valor": "2.627731456e+09",
               "line_raw": "wmi_logical_disk_free_bytes{volume=\"D:\"} 2.627731456e+09"
           },
           {
               "name": "wmi_logical_disk_free_bytes",
               "help": "Espaço livre em bytes (LogicalDisk.PercentFreeSpace)",
               "tipo": "medidor",
               "etiquetas": {
                   "volume": "HarddiskVolume4"
                },
               "valor": "4.59276288e+08",
               "line_raw": "wmi_logical_disk_free_bytes{volume=\"HarddiskVolume4\"} 4.59276288e+08"
           }
       ]
Mapeamento de macros LLD

Em seguida, você deve ir para a guia de macros LLD e fazer o seguinte mapeamentos:

{#VOLUME}=$.labels['volume']
       {#METRIC}=$['name']
       {#HELP}=$['help']
Protótipo de item

Você pode querer criar um protótipo de item como este:

com opções de pré-processamento: