概述
收集 Prometheus 数据需要如下两步:
一个主 HTTP 监控项数据端点 , 例如:
一个预处理配置,
预定步骤
为 Prometheus 选项的依赖监控项,用于从主HTTP监控项收集的度量中查询所需数据。
有两个 Prometheus 预处理的配置选项:
配置
如果您配置了HTTP主监控项, 你需要创建一个使用 Prometheus 预定步骤
配置的依赖监控项,配置步骤如下:
点击监控项配置表单的类型(Type),选择相关项目(Dependent item)并配置主监控项
切换到预处理(Preprocessing)选项页
Prometheus 转 JSON
可以使用低级(low-level)发现处理Prometheus数据,此时需要配置预处理步骤 选项为 Prometheus 转 JSON 将Prometheus数据转换为JSON格式数据。
详细参见 .
查询语法对照表
下表列出了PromQL和Zabbix Prometheus预处理查询语法之间的差异。
Zabbix Prometheus 预处理语法 | ||
---|---|---|
差异 | ||
查询目标 | Prometheus 服务器 | Prometheus 格式的纯文本 |
返回 | 瞬时向量(Instant vector) | Metric 或 label 值 (Prometheus 正则) 每条度量数据的 JSON 列表(Prometheus 转 JSON) |
Label 匹配运算符 | =, !=, =~, !~ | =, =~ |
Label 或 Metric 名称匹配的Regular 表达式 | RE2 | PCRE |
比较运算符 | 参见 列表 | 只有 == (等于) 支持值过滤 |
相似 | ||
按 metric 名称等于字符串进行选定 | <metric name> or {name=”<metric name>”} | <metric name> or {name=”<metric name>”} |
按 metric 名称匹配正则表达式进行选定 | {name=~”<regex>”} | {name=~”<regex>”} |
按<label name>的值等于字符串进行选定 | {<label name>=”<label value>”,…} | {<label name>=”<label value>”,…} |
按<label name>的值匹配正则表达式进行选定 | {<label name>=~”<regex>”,…} | {<label name>=~”<regex>”,…} |
按值等于字符串进行选定 | {name=~”.“} == <value> | {name=~”.“} == <value> |