Prometheus通过remote_write写入数据到另一台Prometheus
假设 Prometheus1
是一个集群内的 Prometheus
,需要远程写入数据到 Prometheus_Core
Prometheus_Core 开启 remote_write_receiver
Prometheus_Core
需要打开接收远程写入的功能,通过增加启动参数 --web.enable-remote-write-receiver
:
1 | ./prometheus --web.enable-remote-write-receiver --web.config.file=web.yml --web.listen-address=0.0.0.0:9090 |
远程写的接口地址
/api/v1/write
Prometheus_Core 开启认证
Prometheus1 配置 remote_write
Prometheus1
需要将 remote_write
写入到 Prometheus_Core
的远程接口
1 | remote_write: |
远程写如何判断监控是否离线
远程写不像联邦集群,联邦是事先配置好的,远程写的方式,被写入的 Prometheus 是无法预知是谁在向我发送数据的。可以通过 absent 函数来实现。
收集 Prometheus 自身的监控指标
想要监控 Prometheus
的状态,则需要收集自身的监控指标(比如 up
指标),确保 Prometheus1
中有如下配置:
1 | scrape_configs: |
在 Prometheus_Core
的告警配置中做如下配置,其中 absent
在查询不到数据的情况下返回 1
,由于 absent
返回的数据不带标签,所以独立写成一条告警规则。
1 | groups: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
评论