[comment]: # translation:outdated

[comment]: # ({a920e242-f06f3ae9})
# 13 利用Prometheus数据执行自动发现

[comment]: # ({/a920e242-f06f3ae9})

[comment]: # ({5c2b3b82-4d2224d9})
#### 概述

以 Prometheus 行格式提供的数据可用于低级别发现。

有关 Zabbix 中如何实现 Prometheus 数据查询的详细信息，请参见 [Prometheus checks](/manual/config/items/itemtypes/http/prometheus)。

[comment]: # ({/5c2b3b82-4d2224d9})

[comment]: # ({266cbb44-266cbb44})
#### 配置

利用低级别自动发现规则创建一个 [依赖型监控项](/manual/config/items/itemtypes/dependent_items) ，附属于采集Prometheus数据的HTTP主监控项。

[comment]: # ({/266cbb44-266cbb44})

[comment]: # ({5a48de63-5a48de63})
##### Prometheus to JSON

在自动发现规则中, 找到预处理选项, 然后选择
*Prometheus to JSON* 这个预处理选项. 自动发现需要使用JSON格式的数据,  *Prometheus to JSON* 这个选项会返回所需的JSON格式, 并附带下列属性:

-   指标名称
-   指标值
-   帮助 (如果有)
-   类型(如果有)
-   标签(如果有)
-   原始行

例如, 需要查询 `wmi_logical_disk_free_bytes`:

![](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_prom_json.png)

从这些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

会返回:

``` {.java}
[
    {
        "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"
    }
]
```

[comment]: # ({/5a48de63-5a48de63})

[comment]: # ({38a03356-38a03356})
##### 映射LLD宏

接下来需要找到LLD宏的选项并做下面的映射:

    {#VOLUME}=$.labels['volume']
    {#METRIC}=$['name']
    {#HELP}=$['help']

[comment]: # ({/38a03356-38a03356})

[comment]: # ({e2acb3cc-b367cc91})
##### 监控项原型

您可能希望创建如下所示的监控项原型：

![](../../../../../assets/en/manual/discovery/low_level_discovery/lld_item_prototype_prom.png){width="600"}

并配置以下预处理选项：

![](../../../../../assets/en/manual/discovery/low_level_discovery/lld_item_prototype_prom_b.png)

[comment]: # ({/e2acb3cc-b367cc91})
