概述

    收集 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 表达式RE2PCRE
    比较运算符参见 列表只有 == (等于) 支持值过滤
    相似
    按 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>