第4章 服务发现 prometheus 服务发现能够自动化检测分类,并且能够识别新目标和变更目标。也就是说,可以在容器平台或者云平台中,自动发现并监控新目标或变更目标,
动态进行数据采集和处理。目前prometheus版本已经可以支持许多的服务信息来源,例如 Consul,亚马逊的EC2,OpenStack和Kubernetes。4.1 基于文件的服务发现 1台服务器:
vim prometheus.ymlscrape_configs:- job_name: 'node_exporter'static_configs:-targets: ['192.168.24.17:9100']新增2台服务器:
scrape_configs:- job_name: 'node_exporter'static_configs:-targets: ['192.168.24.17:9100', '192.168.24.18:9100']-targets: ['192.168.24.61:9100']拆分配置文件,类似于 include 功能,基于文件的服务发现只是比静态配置提高了配置功能:1.添加 json 文件cd /data/prometheusmkdir targetstouch targets/dev_node.json
[{"targets":['192.168.24.17:9100','192.168.24.17:9100','192.168.24.17:9100'],"labels": {"env":"dev_webgame"}}
]2.修改 prometheus.yml 文件
vim prometheus.ymlscrape_configs:- job_name: 'node_service_discovery'static_configs:-targets: ['192.168.24.17:9100']file_sd_configs: - files:-targets/*.jsonrefresh_interval: 60mfile_sd_configs,指定prometheus 基于文件的服务发现配置使用的选项。- files,自定义的和prometheus持续同级目录的targets目录,要被自动加载的所有 .json 格式的文件。当然也可以指定单独某一文件。refresh_interval:60m,自定义刷新时间间隔60m。这里需要注意的是,首次添加 json 或 yaml 格式的动态服务发现文件时,需要重启启动 prometheus 服务进行加载后才能生效,若再修改配置文件时无需重新启动。我们对json格式文件 dev_node.json 修改,添加一台服务器:
[{"targets":['192.168.24.17:9100','192.168.24.17:9100','192.168.24.17:9100'],"labels": {"env":"dev_webgame"}},{"targets":['192.168.24.43:9100'],"labels": {"env":"dev_mgame","job":"mysqld_node"}}
]4.2 基于Consul的服务发现 4.2.1 Consul体验应用信息 4.2.2 软件下载与部署 4.2.3 服务注册发现 4.2.4 与Prometheus集成 基于 Consul 的服务发现内容:
vim prometheus.ymlscrape_configs:- job_name: 'consul_sd_node_exporter'scheme: httpconsul_sd_configs:- server: 127.0.0.1:8500services: ['node_exporter']consul_sd_configs 指定 prometheus 是基于 Consul 的自动服务发现所使用的选项。- server:指定 consul 服务地址services: 服务名称列表数组,指定当前需要发现哪种服务的信息。可以指定多服务名称,例如 services:['node_exporter','mysqld_exporter'],如果不填,默认获取consul 上注册的所有服务。4.3 基于DNS的服务发现 不是所有的应用环境都能使用 prometheus 基于文件和基于 Consul 的服务发现。DNS SRV 是 dns 资源记录中的一种记录类型,用来指定服务地址和服务端口,并且可以设置每个服务地址的优先级和权重。访问服务的时候,本地的DNS resolver 从dns服务器
查询到一个地址列表,根据优先级和权重,从中选取一个地址作为本次请求的目的地址。4.3.1自建DNS服务SRV记录设置 4.3.2阿里云域名解析SRV记录设置 4.4 Relabelling prometheus 通过重新标记机制进行控制管理,尽可能实现标准化环境中的指标。Target 以双下划线 '__' 作为内置标签的开头。在默认情况下,被加载的 Target 包含以下标签:1.__address__,当前目标实例的访问地址 <host>:<port>2.__metrics_path__,采集目标服务访问地址的访问路径3.__scheme__,采集目标服务访问地址的 http 或 https 协议4.__param_<name>,是采集任务目标服务中包含的请求参数其中,instance 标签内容与 __address__ 相对应,这里其实发生了一次标签重写处理。针对这种情况在采集样本数据之前,对Target 实例的标签进行重写的机制,在
prometheus 中称之为 Relabeling 行为机制,可以通过配置文件中的 relabel_configs 字段自定义重写标签。relabel_configs 是一个强大的功能,除了修改标签,
还可以为采集的指标添加新标签。

4.Prometheus 监控技术与实践 --- 服务发现相关推荐

  1. Prometheus监控的最佳实践——关于监控的3项关键指标

    本文来自Weaveworks的工程师Anita Burhrle在Rancher Labs与Weaveworks联合举办的Online Meetup上的技术分享.在此次分享中,嘉宾们讨论了如何使用Ran ...

  2. dubbo k8s 服务发现_工商银行基于 Dubbo 构建金融微服务架构的实践-服务发现篇

    作者 | 张远征来源|阿里巴巴云原生公众号 导读:Dubbo 作为分布式微服务框架,众多公司在实践中基于 Dubbo 进行分布式系统架构.重启开源后,我们不仅看到 Dubbo 3.0 最新的 Road ...

  3. Prometheus服务发现+Grafana炫酷的界面展示

    目录 部署service discovery 相关概念 prometheus 服务发现机制 基于文件服务发现 文件发现的作用 基于DNS自动发现 基于consul发现 相关概念 安装consul_1. ...

  4. 9-1 Kubernetes二进制部署的Prometheus实现服务发现

    文章目录 前言 创建用户 复制Token 配置文件 全局配置 Master节点发现 Node节点发现 Namespace Pod发现 自定义Pod发现 前言 在上一章节介绍了 8-5 在Prometh ...

  5. 云计算监控—Prometheus监控系统(文末赠书)

    陈金窗 刘政委 张其栋 郑少斌 读完需要 20 分钟 速读仅需 7 分钟 本文摘自于<Prometheus 监控技术与实战>一书,从云计算时代的业务特点出发,探讨了云计算监控的目标和挑战, ...

  6. 【第7期】云计算监控——Prometheus监控系统

    本文摘自于<Prometheus监控技术与实战>一书,从云计算时代的业务特点出发,探讨了云计算监控的目标和挑战,梳理了云资源监控的范围及监控系统实现的一般方式.接着从开源监控软件的演进出发 ...

  7. caas k8s主控节点如何查询_k8s中部署prometheus监控告警系统prometheus系列文章第一篇...

    前言 本篇文章主要介绍k8s集群中部署prometheus,并且配置prometheus的动态.静态服务发现,实现监控容器.物理节点.service.pod等资源指标,配置prometheus的web ...

  8. k8s中部署prometheus监控告警系统-prometheus系列文章第一篇

    前言 本篇文章主要介绍k8s集群中部署prometheus,并且配置prometheus的动态.静态服务发现,实现监控容器.物理节点.service.pod等资源指标,配置prometheus的web ...

  9. Prometheus监控系列-- 进阶阶段 | 高级操作 | 配合Grafana | 邮箱报警 | 参数说明

    Prometheus zibbix Zabbix 组件 prometheus 数据模型 promethues 安装 配置yum源 环境部署与服务启动 安装prometheus管理 监控node节点安装 ...

  10. Prometheus监控系统入门与部署

    Prometheus监控系统入门与部署 本文介绍新一代的监控系统 Prometheus,并指导用户如何一步一步搭建一个 Prometheus 系统. 什么是 Prometheus ? Promethe ...

最新文章

  1. teamcity plugin中读取js和css文件的方法
  2. python3 with中异常的问题
  3. 图解JVM垃圾回收算法
  4. TCP中的RTT和RTO
  5. 一条SQL语句执行得很慢的原因有哪些?
  6. Deepin安装Curl的方法
  7. 为什么叫光呆公式光_光镊力学理论简析
  8. 利用ptrace和memfd_create混淆程序名和参数
  9. php pdo总结,php 总结(10) PDO 连接数据库 预处理
  10. 运用枚举展示静态数据
  11. 神器!人工智能分离歌曲中的人声和背景音乐
  12. 整理大数据相关的内容,包括博客、笔试真题、项目、面经。希望能帮到想往大数据方向发展的从业人员
  13. 【C++】使用类来模拟string
  14. adsl双网卡共享上网的设置(win2003)
  15. using runtime html4,为什么我不能在C#中引用System.Runtime.Serialization.Json
  16. CSP 寻宝!大冒险! C++
  17. 【OAK开源项目教程】opencv+python实现测量包装盒尺寸和体积
  18. centos rpm漏洞补丁下载
  19. 如何在统信UOS系统中设置tomcat开机启动
  20. ITIL4 认证考试真题及答案

热门文章

  1. 【LeetCode 剑指offer刷题】动态规划与贪婪法题7:47:礼物的最大价值
  2. 关于微信支付接口,curl错误代码58
  3. 虚拟机技术抗黑产!几维安全KiwiVM虚拟机实现全平台全架构防护方案!
  4. easyui-datagrid对行写样式
  5. asp.net调用前台js调用后台代码分享
  6. android 设置系统屏幕亮度
  7. 老婆半夜推了我三次,强~!
  8. R语言模拟:Bias Variance Trade-Off
  9. R语言学习历程回顾总结
  10. SQL Server导出导入数据方法