通过consul实现prometheus动态服务发现以及告警策略注册
动态服务发现 Prometheus 提供了多种动态服务发现的功能,这里以consul为例。 客户端的一个接口,需要调用服务A-N。客户端必须要知道所有服务的网络位置的,在服务很多时配置十分麻烦。***在加入服务发现模块之后,服务发现模块定时的轮询查看这些服务能不能访问。***客户端在调用服务A-N的时候,就跑去服务发现模块查看它们的网络位置,然后再调用它们的服务。客户端完全不需要记录这些服务网络位置,实现了客户端与服务端的解耦。 在一台主机上部署node-exporter探针, 如果要通过prometheus实现监控,需要修改配置文件,新增一个target。如果每次新增target都去变更服务器上的配置文件会非常麻烦。 在prometheus的configmap.yaml文件中进行配置: -job_name: 'consul-prometheus' consul_sd_configs: - server: '10.4.**.***:8500' services: [] relabel_configs: - source_labels: ['__meta_consul_service'] regex: 正则规则 action: keep 其中 relabel_configs:中内容的含义为:如果目标的__meta_consul_service标签与regex中的内容正则匹配