丈夫志四海,万里犹比邻。这篇文章主要讲述prometheus基于文件服务发现相关的知识,希望能为你提供帮助。
参考文档:
??https://edu.51cto.com/course/30254.html??
一、为什么需要服务发现?
云原生、容器场景下按需的资源使用方式对于监控系统而言就意味着没有了一个固定的监控目标,所有的监控对象(基础设施、应用、服务)都在动态的变化,这对基于Push模式传统监控软件带来挑战。
对于Prometheus这一类基于Pull模式的监控系统,显然也无法继续使用的static_configs的方式静态的定义监控目标。而对于Prometheus而言其解决方案就是引入一个中间的代理人(服务注册中心),这个代理人掌握着当前所有监控目标的访问信息,Prometheus只需要向这个代理人询问有哪些监控目标控即可, 这种模式被称为服务发现。
通过服务发现的方式,管理员可以在不重启Prometheus服务的情况下动态的发现需要监控的Target实例信息。
?二、promethues目前支持的服务发现类型
prometheus目前支持的服务发现类型主要有如下几种:
1、基于文件的服务发现
2、基于consul的服务发现
3、基于k8s API的服务发现
4、基于eureka的服务发现
5、基于nacos的服务发现
6、基于DNS的服务发现
三、什么是基于文件的服务发现?
基于文件的发现只是比静态配置更高级的一小步,但是它对于配置管理工具的配置非常有用。通过基于文件的发现,普罗米修斯使用文件中指定的目标。这些文件通常由另一个系统生成,例如配置管理系统,如Puppet、Ansible,或者从另一个源(如CMDB)查询。定期运行脚本或查询,或触发它们(重新)填充这些文件。然后,普罗米修斯按照指定的时间表从这些文件中重新加载目标。
这些文件可以是YAML或JSON格式,并包含定义的目标列表,就像我们在静态配置中定义它们一样。
【prometheus基于文件服务发现】具体实现案例请看参考文档。
推荐阅读
- Java桥接方法
- Ansible配置文件命令及模块
- Docker Harbor私有仓库部署于管理
- Docker 数据管理
- nginx一个端口配置多域名服务
- docker-Consul概述及集群搭建
- k8s系列-16-worker节点安装
- Dockerfile 镜像实战案例
- docker 日志管理