一、基于文件的服务发现

之前我们要监控的节点服务器的ip:port都是写死在static_configs中的,不便于维护。那么有没有一个自动发现的机制呢? Prometheus提供了好多自动发现的机制,此处简单的记录一下基于文件的服务发现机制。

1、prometheus.yml 配置文件的写法


scrape_configs:
- job_name: 'node-exporter'
# 基于文件发现的方式
file_sd_configs:
- files:
# 加载的配置文件路径
- file_sd/nodes-*.yaml
# 默认情况下,file_sd目下的 node-*.yml配置文件内容变化,就会立即加载,此处额外配置一个刷新加载file_sd/nodes-*.yaml的时间间隔,2分钟
refresh_interval: 2m

2、file_sd 目录下的文件

# 配置需要抓取的机器
- targets: ['localhost:9081']
# 自定义label标签
labels:
lablea: '自定义lable的名字'

3、配置结果

二、注意事项

  1. 服务发现的配置文件可以是 json或者yaml的格式。
  2. 存在一个新的指标 prometheus_sd_file_mtime_seconds 告诉文件上次更新的时间。
  3. 在重新标记阶段存在一个新的元数据标签__meta_filepath,记录配置文件的路径和文件名。
  4. 配置文件的变更,服务会自动发现,我们也可以配置一个refresh_interval来定时刷新。

三、参考链接

1、https://prometheus.io/docs/prometheus/latest/configuration/configuration/#file_sd_config
2、https://prometheus.io/docs/guides/file-sd/

Prometheus基于文件的服务发现的更多相关文章

  1. Prometheus 基于文件的服务发现

    Prometheus 基于文件的服务发现 官方文档:https://github.com/prometheus/prometheus/tree/master/discovery 服务发现支持: end ...

  2. prometheus — 基于文件的服务发现

    基于文件的服务发现方式不需要依赖其他平台与第三方服务,用户只需将要新的target信息以yaml或json文件格式添加到target文件中 ,prometheus会定期从指定文件中读取target信息 ...

  3. Prometheus基于Eureka的服务发现

    Prometheus基于Eureka的服务发现 一.背景 二.实现步骤 1.eureka 客户端注册到prometheus中 2.prometheus中的写法 3.实现效果 三.完整代码 四.参考链接 ...

  4. prometheus 基于文件的目标发现

    prometheus 基于文件的目标发现 1.创建目录 cd /usr/local/prometheus/conf mkdir -pv targets/{nodes,docker} 2.修改prome ...

  5. prometheus 基于DNS的目标发现

    prometheus 基于DNS的目标发现 DNS服务发现依赖于查询A.AAAA或SRV DNS记录. 1.基于 SRV 记录发现 scrape_configs: - job_name: 'webap ...

  6. Prometheus Consul实现自动服务发现

    Prometheus Consul实现自动服务发现   1.概述 Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件. Consul 由 HashiCorp公司用Go语言开发 ...

  7. Ocelot + Consul + Registrator 基于Docker 实现服务发现、服务自动注册

    目录 1. Consul集群搭建 1.1 F&Q Consul官方推荐的host网络模式运行 2. Registrator服务注册工具 2.1 F&Q Registrator悬挂服务 ...

  8. K8s基于DNS的服务发现(转)

    原文地址:https://www.oschina.net/question/2657833_2201246 1.Kubernetes中如何发现服务 ◆   发现Pod提供的服务 首先使用nginx-d ...

  9. prometheus服务发现机制

    一. Prometheus与服务发现 1.1 目前支持的服务发现方式 二. 案例 2.1 基于文件的服务发现 2.2 基于Consul的服务发现 三.本地测试 3.1 基于文件的服务发现 1.测试环境 ...

随机推荐

  1. element-ui 弹出组件的遮罩层在弹出层dialog模态框的上面

     造成的原因: 因为dialog的组件外层div设置了 position:absolute: 属性所以导致遮罩层会在最上面. 解决方法: 在属性内加上这段代码 :append-to-body=&quo ...

  2. GMAP.NET系列学习文档

    http://www.cnblogs.com/enjoyeclipse/archive/2013/01/13/2858392.html http://www.cnblogs.com/luxiaoxun ...

  3. Learning How to Learn 学习如何学习

    Introduction 这是 UCSD 开设在 Coursera 上的课程 Learning How to Learn 的课程笔记.这门课程主要基于神经科学和认知心理学的一些研究成果讲述高效学习的理 ...

  4. python中模块与包

    #模块与包#在实际项目中,代码的行数可能上万,甚至上几十万,不可能在一个页面内完成,需要多个程序员通力写作#张三,李四,王五......每天收集大家的代码做一个版本,类似乐高积木一样,每个人负责一部分 ...

  5. JAVA修饰符优先级先后顺序规范

    在实际的开发中,会遇到定义静态常量时,有的人使用的修饰符顺序不一致,例如 ... static final ... 或者 ... final static ... 于是找到了下规范,分享下 优先级 修 ...

  6. Spring框架(第二天)

    一. 注入 a)  set i. JDK 1.八种基本类型(+包装类)+String <bean id="User" class="com.dsl.test2.Us ...

  7. 基于pgpool搭建postgressql集群部署

    postgresql集群搭建 基于pgpool中间件实现postgresql一主多从集群部署,这里用两台服务器作一主一从示例 虚拟机名 IP 主从划分 THApps 192.168.1.31 主节点 ...

  8. (一)es 概述与安装

    一.基本概念介绍 1. es 核心术语 核心概念 ES -> 数据库 索引index -> 表 文档 document -> 行(记录) 字段 fields -> 列 早期版本 ...

  9. 启动docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock

    启动docker提示: docker: Got permission denied while trying to connect to the Docker daemon socket at uni ...

  10. 一文让你彻底理解SQL关联子查询

    员工表的主要信息: 需求:检索工资大于同职位的平均工资的员工信息. 直觉的做法 员工多,而相应的职位(如销售员.经理.部门经理等)少,因此首先想到的思路是对职位分组,这样就能分别得到各个职位的平均工资 ...