Prometheus 通过consul动态加载配置文件

本文介绍如何使用Consul实现Prometheus的目标动态服务发现,包括通过Consul UI界面启动Consul,修改Prometheus配置文件注册Consul服务,以及通过CURL命令向Consul注册和注销服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)通常Prometheus 要增加一个target,需要在配置文件中已添加一个job,例如下:

- job_name: 'prometheus'
        static_configs:
            - targets: ['localhost:9090']

每次修改需要直接修改服务器上的配置文件,非常麻烦。Prometheus 提供了多种动态服务发现的功能,这里使用consul来做一个例子。

2) docker启动consul

    docker run --name consul -d -p 8500:8500 consul

进入consul的ui界面

Prometheus 通过consul动态加载配置文件

3)修改prometheus配置文件, 向prometheus注册

    - job_name: 'consul'
        consul_sd_configs:
            - server: '192.168.1.51:8500'
                services: []
        relabel_configs:
            - source_labels: [__meta_consul_tags]
                regex: .*dev.*
                action: keep

    relabel_config表示向consul注册服务的时候, 只加载匹配regex表达式的标签的服务加载到自己的配置文件

Prometheus 通过consul动态加载配置文件

3)向consul注册服务

curl -X PUT -d '{"id": "test1","name": "test1","address": "192.168.1.42","port": 9100,"tags": ["dev"],"checks": [{"http": "http://192.168.1.42:9100/","interval": "5s"}]}'     http://localhost:8500/v1/agent/service/register

4)在consul注册页面查看, test1服务已经注册上来了
Prometheus 通过consul动态加载配置文件

5)验证prometheus界面, 配置文件已经加载进来
Prometheus 通过consul动态加载配置文件

相应的数据prometheus通过exporter获取到了
Prometheus 通过consul动态加载配置文件

6)consul接口

删除服务接口: curl -X PUT  http://localhost:8500/v1/agent/service/deregister/服务名
新增服务接口: http://localhost:8500/v1/agent/service/register

参考文档:
https://blog.youkuaiyun.com/poorcoder_/article/details/79120218
https://blog.youkuaiyun.com/weixin_38645718/article/details/84773305

转载于:https://blog.51cto.com/1000682/2363038

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值