您的位置:首页 > 科技 > IT业 > prometheus基于文件的服务发现

prometheus基于文件的服务发现

2024/11/15 1:27:57 来源:https://blog.csdn.net/qq_40310224/article/details/141792079  浏览:    关键词:prometheus基于文件的服务发现

之间讲到,prometheus监控的对象就来自于他的配置文件里面的targets,如果要新增被监控对象,就继续往targets里面加。

但这个缺点是,每次修改完后都得重启prometheus。有没有什么办法,能在不重启的情况下增加target呢?有,那就是prometheus的服务自动发现

今天咱们讲一个最常用的方式,基于文件的服务发现(File-Based-Service-Discovery)

1 将默认配置文件做如下修改:

# ...
scrape_configs:- job_name: "prometheus"# 注释掉之前静态配置的内容
#    static_configs:
#      - targets: ["localhost:9090"]# 修改服务发现为 File-Based-Service-Discovery:file_sd_configs:- files:- '/prometheus/targets/*.yml'  # 读取此目录下的所有 .yml 和 .json 文件- '/prometheus/targets/*.json'refresh_interval: 10s  # 每10秒钟读取一次,支持 s/m/h

2 启动promethus容器

docker run -d -p 9090:9090 \
-v $(pwd)/prometheus.yml:/opt/bitnami/prometheus/conf/prometheus.yml \ # 使用上面修改的配置文件,替换容器内的配置文件
-v /prometheus/targets:/prometheus/targets \
--name prometheus --rm bitnami/prometheus

3 在上面指定的目录下增加以下配置文件:
node_exporter1.yml:

- targets: ['ip1:9200'] # 一组targets内可写多个target- targets: ['ip2:9200'] # 另一组targetslabels: # 为这一组targets内的所有target增加labelenvironment: 'production' # labels也可写多个

node_exporter2.json:

[{"targets": ["ip3:9200"]},{"targets": ["ip4:9200"],"labels": {"environment": "develop"}}
]

新增target时,可以增加文件,也可以直接修改文件内容,prometheus都能识别到
进入prometheus网页,点击Status>Targets
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com