多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 服务发现概述 ## 一、手动添加主机的弊端 手动添加客户端非常耗时间,增加人力、时间成本。为了满足监控企业成千上万台服务器,Prometheus提供了自动发现与自动注册的功能,自动批量发现网络中的服务器,并自动添加到Prometheus监控平台。 ![](https://img.kancloud.cn/2a/ea/2aea15c5bdca95a710ca2ce90486b15e_563x226.png) Prometheus有若干种可以提升运维效率的自动发现/注册类型 * 基于文件的服务发现 * 基于Consul的服务发现 * 基于DNS的服务发现 * 基于K8s的api-server服务发现 <br><hr><br> ## 二、基于文件的服务发现 Prometheus允许我们进行自定义的发现集成,可以通过watch 一组本地文件来获取抓取目标以及标签信息,也就是我们常说的基于文件的服务发现方式。 ![](https://img.kancloud.cn/39/36/39362c55f584eae906536d3c0774665b_475x410.png) <br> ## 三、基于Consul的服务发现 什么是Consul 一款基于 golang 开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务一发现和配置管理的功能提供服务注册/发现、健康检查、Key/value 存储、多数据中心和分布式一致性保证等功能 ConsuI服务发现的原理 将可以进行数据采集的服务注册到consu中,用于自动发现同时使用prametheus 做为client端获取 consul上注册的服务,从而进行动态获取数据。 ![](https://img.kancloud.cn/8b/27/8b27ec9dadcaa68912acea9a8e2daa32_475x306.png) <br> ## 四、基于DNS的服务发现 基于 DNS 的服务发现针对一组 DNS 域名进行定期查询,以发现待监控的目标查询时使用的DNS 服务器由 /etc/resolv.conf文件指定 在prometheus.yml配置中,使用DNS记录返回目标列表(dnssd_config) <br> ## 五、基于K8s的api-server服务发现