prometheus服务发现之consul

文章目录


前言

我们平时使用 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

解压,进去目录,启动

bash 复制代码
nohup ./consul agent -dev -data-dir=/usr/local/consul/data -client 0.0.0.0 &

访问 consul

http://192.168.231.56:8500

节点信息(exporter)注册进去consul

把节点的实际 ip 替换下面的 ${ip}

bash 复制代码
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}

bash 复制代码
curl --request PUT http://192.168.231.56:8500/v1/agent/service/deregister/${ip}

prometheus配置consul地址

下面用你节点的实际 ip 替换

bash 复制代码
scrape_configs:
  - job_name: 'node_exporter'
    consul_sd_configs:
      - server: '192.168.231.56:8500'
        services: ['node_exporter']

总结

欢迎指出我的错误!

相关推荐
AC赳赳老秦15 小时前
Prometheus + DeepSeek:自动生成巡检脚本与告警规则配置实战
前端·javascript·爬虫·搜索引擎·prometheus·easyui·deepseek
A-刘晨阳17 小时前
【Linux】Prometheus + Grafana的使用
linux·运维·grafana·prometheus·监控
牛奶咖啡1321 小时前
Prometheus+Grafana构建云原生分布式监控系统(三)
grafana·prometheus·云原生监控·监控linux主机状态·node_exporter安装·监控mysql数据库实践·mysql_exporter
Java程序员威哥21 小时前
Java微服务可观测性实战:Prometheus+Grafana+SkyWalking全链路监控落地
java·开发语言·python·docker·微服务·grafana·prometheus
牛奶咖啡133 天前
Prometheus+Grafana构建云原生分布式监控系统(二)
prometheus·prometheus工作流程·prometheus适用场景·prometheus下载安装·prometheus指标解析·ntp时间同步操作·prometheus配置解析
这儿有个昵称4 天前
互联网大厂Java面试场景:从Spring框架到微服务架构的提问解析
java·spring boot·微服务·kafka·grafana·prometheus·数据库优化
MengFly_4 天前
Java广播 —如何利用广播做服务发现
java·网络·服务发现
·云扬·5 天前
使用Prometheus+Grafana实现Elasticsearch监控的完整实践
elasticsearch·grafana·prometheus
忍冬行者5 天前
prometheus通过VMware_explorter监控VMware虚拟化集群
云原生·云计算·grafana·prometheus
L1624767 天前
Prometheus、Cadvisor和Grafana体系完整学习手册
学习·grafana·prometheus