On this page
12 使用 Prometheus 数据进行发现
概述
以Prometheus行格式提供的数据可用于低级发现。
有关Zabbix中如何实现Prometheus数据查询的详细信息,请参阅Prometheus checks。
配置
低级发现规则应创建为指向收集Prometheus数据的HTTP主监控项的dependent item
Prometheus 转 JSON
在发现规则中,进入预处理选项卡并选择 Prometheus转JSON预处理选项。发现功能需要JSON格式的数据, 而Prometheus转JSON预处理选项将返回包含以下属性的JSON数据:
- 指标名称
- 指标值
- 帮助信息(如果存在)
- 类型(如果存在)
- 标签(如果存在)
- 原始行数据
例如,查询wmi_logical_disk_free_bytes:

从这些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
将返回:
[
{
"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 宏映射
接下来您需要前往LLD宏选项卡并进行以下映射:
{#VOLUME}=$.labels['卷'] {#METRIC}=$['名称'] {#HELP}=$['help']
监控项原型
您可能需要create一个这样的监控项原型:

包含预处理选项:
