13 Descoberta usando dados do Prometheus
Visão geral
Dados fornecidos no formato de linha do Prometheus podem ser usados para descoberta de baixo nível.
Consulte Prometheus checks para obter detalhes sobre 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:
