prometheus服务发现之consul
2023-12-13 09:28:30
文章目录
前言
我们平时使用 prometheus 收集监控数据,例如通过 node_exporter 获取监控数据,那每次新增一个监控的节点,我们都得相对应地修改 prometheus 的配置文件并重启他,相当麻烦,于是,prometheus 就提供了服务发现地机制,可以动态新增监控的节点。
一、Consul 在这里的作用
consul 这里是用于实现prometheus的服务发现,可以让prometheus动态地发现和监控在 Consul 注册的服务,实现便捷的注册新的监控节点。
二、原理
将节点信息(exporter)注册到consul,然后将consul注册到promethesu,这样prometheus就能自动识别里面对应的节点信息。不需要每次新增删除一个监控节点,还得修改prometheus的配置并重启,只需要调用consul的API就可以注册进去,实现动态新增删除。
根据服务名区分node_exporter、process_exporter等不同的组件,然后每个组件都可以注册多个节点(注册中心一个服务多个实例集群的概念)。
三、实现过程
安装 consul
下载:
https://releases.hashicorp.com/consul/1.17.0/consul_1.17.0_linux_amd64.zip
解压,进去目录,启动
nohup ./consul agent -dev -data-dir=/usr/local/consul/data -client 0.0.0.0 &
访问 consul
节点信息(exporter)注册进去consul
把节点的实际 ip 替换下面的 ${ip}
curl -X PUT -d '{ "id": "${ip}", "name": "node_exporter", "address": "${ip}", "port": 9100, "tags": ["prometheus"], "checks": [{"http": "http://${ip}:9100/metrics","interval": "10s"}]}' http://192.168.231.56:8500/v1/agent/service/register
节点信息(exporter)从consul解除注册:
把节点的实际 ip 替换下面的 ${ip}
curl --request PUT http://192.168.231.56:8500/v1/agent/service/deregister/${ip}
prometheus配置consul地址
下面用你节点的实际 ip 替换
scrape_configs:
- job_name: 'node_exporter'
consul_sd_configs:
- server: '192.168.231.56:8500'
services: ['node_exporter']
总结
欢迎指出我的错误!
文章来源:https://blog.csdn.net/weixin_42132143/article/details/134884076
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!