「Prometheus」- HTTP SD

通过文件发现(对文件系统的扫描或接收通知),Prom 能够自动加载文件中的 Target 并进行监控。

除了文件发现,Prom 还提供 HTTP SD,简单说就是通过 HTTP 返回需要监控的 Target

特性特征

具有如下特性:
1)周期性刷新,自动访问接口;
2)使用 JSON 格式;
3)HTTP/HTTPS
4)TLS / Basic Auth / Auth Header / OAuth2

接口要求

HTTP SD 需要我们自己实现,并暴露给 Prom 以抓取:
1)Content-Type: application/json
2)UTF-8
3)200
4)若无数据,则返回 []
5)prometheus_sd_http_failures_total 定义失败次数
6)……

数据结构

[
    {
        "targets": ["10.0.10.2:9100", "10.0.10.3:9100", "10.0.10.4:9100", "10.0.10.5:9100"],
        "labels": {
            "__meta_datacenter": "london",
            "__meta_prometheus_job": "node"
        }
    },
    {
        "targets": ["10.0.40.2:9100", "10.0.40.3:9100"],
        "labels": {
            "__meta_datacenter": "london",
            "__meta_prometheus_job": "alertmanager"
        }
    },
    {
        "targets": ["10.0.40.2:9093", "10.0.40.3:9093"],
        "labels": {
            "__meta_datacenter": "newyork",
            "__meta_prometheus_job": "alertmanager"
        }
    }
]

-」