Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

13 Descoberta usando dados do Prometheus

Visão geral

Os dados fornecidos no formato de linha do Prometheus podem ser usados para descoberta de baixo nível.

Veja verificações do Prometheus para detalhes de 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 item dependente do item mestre HTTP que coleta os dados do Prometheus.

Prometheus para JSON

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

  • nome da métrica
  • valor da métrica
  • help (se presente)
  • type (se presente)
  • labels (se presente)
  • linha bruta

Por exemplo, consultando wmi_logical_disk_free_bytes:

dessas linhas do Prometheus:

# 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

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"
           }
       ]
Mapeando macros LLD

Em seguida, você deve ir para a aba de macros LLD e fazer os seguintes 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: