通过文件发现(对文件系统的扫描或接收通知),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" } } ]
-」