首页/新闻资讯/正文详情

第2篇 Prometheus 服务发现:动态目标管理实战

发布时间:2026/9/27 7:26:07 来源:云帆数科 栏目:资讯中心
第2篇 Prometheus 服务发现:动态目标管理实战
随着容器化与微服务架构的普及被监控对象的形态发生了根本变化。过去以物理机、虚拟机为主体的固定目标如今逐步被 Kubernetes 编排下的 Pod、Service 等实例所取代。这些实例的 IP 由集群动态分配重启即变、扩缩容以秒计生命周期短则数秒、长也不过数日监控目标集合始终处于频繁的更迭之中。面对这种局面Prometheus 传统的静态配置方式逐渐捉襟见肘。在static_configs中逐个登记 Target 虽然简单直接但每一个目标都依赖手工维护配置一旦变更就需要重新加载甚至重启服务既增加了运维负担也可能在重载过程中造成监控采集中断。当目标规模持续扩大、变化频率不断上升时这种模式几乎不可行。为此Prometheus 引入了服务发现Service DiscoverySD机制。它通过定期从 Kubernetes API、Consul 等服务注册中心、DNS 记录或本地文件中获取目标列表在实例增减时自动更新抓取目标无需手工修改配置或重启服务。配合标签过滤例如按env、app等筛选还能实现精细化的目标选择。需要明确的是服务发现只负责“发现”目标并不承担目标注册的职责。承接上篇监控体系的搭建本篇聚焦服务发现与动态目标管理将依次介绍常用的服务发现方式及其适用场景、各类方式的选型对比、relabel_configs重标签机制并结合实际配置给出落地要点最终让监控目标能够随业务的弹性变化自动跟随。一、常用服务发现Service DiscoverySD方式方式适用场景特点‌文件发现‌file_sd_configs中小规模、无统一注册中心写 YAML/JSON 文件即可改文件自动生效‌Consul 发现‌consul_sd_configs微服务架构支持健康检查、元数据过滤‌Kubernetes 发现‌kubernetes_sd_configsK8s 环境自动发现 Pod、Service、Node 等角色‌DNS 发现‌dns_sd_configs域名指向动态 IP 的场景用 SRV 或 A 记录发现目标‌HTTP 发现‌http_sd_configs自定义注册中心通过 URL 拉取目标列表‌云平台发现‌EC2、Azure 等IaaS 架构对接云厂商 API 自动发现实例relabel_configs‌ 可对发现的目标做过滤和标签重写比如只保留健康实例、添加业务标签。服务发现只是“发现目标”不负责注册——目标信息需要你按约定格式发布到对应注册中心。大规模集群千级以上建议用 API 型发现如 K8s SDDNS 解析效率可能下降。如果使用 Nacos 等注册中心也可通过其提供的 HTTP SD API 接入 Prometheus。二、启动单机 Nacos Server主要是为验证 Prometheus 服务发现效果因此没有按高可用搭建也没有考虑持久化。1、生成安全密钥$ openssl rand -hex 16 | base64 NGE2NzgwNDk0ZDVjOGFmZGM4NmZiMmJkMjc2ZDcyOWIK2、启动服务docker run -d --name nacos \ --restartno \ --network my-bridge \ -p 8080:8080 \ -p 8848:8848 \ -p 9848:9848 \ -e TZAsia/Shanghai \ -e MODEstandalone \ -e NACOS_AUTH_TOKENNGE2NzgwNDk0ZDVjOGFmZGM4NmZiMmJkMjc2ZDcyOWIK \ -e NACOS_AUTH_IDENTITY_KEYnacos \ -e NACOS_AUTH_IDENTITY_VALUEnacos123 \ -e nacos.prometheus.metrics.enabledtrue \ -e SPRING_DATASOURCE_PLATFORMmysql \ -e MYSQL_SERVICE_HOSTmysql5 \ -e MYSQL_SERVICE_PORT3306 \ -e MYSQL_SERVICE_DB_NAMEnacos \ -e MYSQL_SERVICE_USERroot \ -e MYSQL_SERVICE_PASSWORDNjBlNWM3Me \ -e MYSQL_SERVICE_DB_PARAMserverTimezoneAsia/ShanghaiuseUnicodetruecharacterEncodingutf-8useSSLfalserewriteBatchedStatementstrueautoReconnecttrueuseSSLfalse \ nacos/nacos-server:v3.2.4注意nacos.prometheus.metrics.enabledtrueNacos 3 的 Prometheus SD 支持默认是关闭的需要显式开启。MODEstandalone单机模式非集群内置 Derby 数据库NACOS_AUTH_TOKENxxxJWT 签名密钥Base64 字符串Nacos3.x 鉴权必填NACOS_AUTH_IDENTITY_KEYnacos服务身份校验 KeyNACOS_AUTH_IDENTITY_VALUEnacos123服务身份校验 Value三、Prometheus 对接‌ Nacos官方没有直接提供类似Consul 发现‌consul_sd_configs模式的 Nacos SD但可以通过 HTTP SD‌http_sd_configs接入 Prometheus。主要配置如下重新加载配置后在 prometheus 控制台可发现 targets 增多。- job_name: nacos-discovery http_sd_configs: - url: http://nacos-server-ip:8848/nacos/prometheus/namespaceId/your-namespace-id basic_auth: username: nacos-user password: nacos-password refresh_interval: 30s # 可选默认 60s # 如果业务应用的 metrics 路径不是默认的 /metrics需在此指定 metrics_path: /actuator/prometheus将nacos-server-ip、your-namespace-id替换为实际值。Prometheus 会定期调用该接口自动为每个实例创建抓取目标。配置示例http://10.0.2.15:8848/nacos/prometheus/namespaceId/public三、‌文件发现‌file_sd_configs如果是大规模集群或是使用了Kubernetes或是已有成熟的节点监控机制服务发现机制是很便利的策略但是由于不能区分节点是异常宕机下线还是正常被回收不能判断应监控节点是否都已纳入监控如新建的ECS漏接入监控后比较难被发现因此在个人、中小企业中还是更推荐采用文件发现‌方式更进一步维护的target还可与其他平台交叉核对是否有遗漏。主要配置- job_name: cim metrics_path: /metrics relabel_configs: - source_labels: [__address__] target_label: instance file_sd_configs: - files: - scrape_config/cim-local.yml refresh_interval: 5s编写本系统文章时Prometheus 配置主要约定如下job_name系统/应用标识标签 svc服务标识标签 type监控对象类型标识如 node表示主机层jvm表示java应用引入文件示例- targets: - 10.0.2.15:9100 labels: svc: nodb type: node - targets: - 10.0.2.15:8082 labels: svc: nodb type: jvm __metrics_path__: /actuator/prometheus四、小结服务发现的核心在于让抓取目标从「手工登记」变为「动态跟随」解决的是容器化与微服务环境中实例 IP 漂移、频繁伸缩所带来的静态配置维护难题同时也须牢记服务发现只负责「发现」不负责目标注册。围绕这一目标本篇要点归纳如下方式选型按环境决定Kubernetes 环境优先使用kubernetes_sd_configs跨环境统一管理可选 Consul 等服务注册中心云上 IaaS 可借助云厂商 API 发现域名动态解析场景用dns_sd_configs自定义注册中心则用http_sd_configs。千级以上大规模集群建议采用 API 型发现避免 DNS 解析带来的效率下降。Nacos 落地实践官方未提供nacos_sd_configs原生发现但可借助其 HTTP SD 接口配合http_sd_configs接入。但需注意 Nacos 3 需显式开启nacos.prometheus.metrics.enabledtrue。文件发现的取舍与规范服务发现难以区分节点是异常宕机还是正常回收也难以察觉新建实例是否漏接入监控因此在个人与中小企业场景更推荐file_sd_configs便于排查遗漏并与其他平台交叉核对。动态目标管理的本质是让监控目标随业务弹性变化自动跟随。如果目标变化频率很低作者优先推荐采用 File SD。

相关推荐

Zeek 网络监控实战指南:传感器部署、安全数据采集与日志分析工作流
Zeek 网络监控实战指南:传感器部署、安全数据采集与日志分析工作流

网络安全网络IDS 【免费下载链接】zeek Zeek is a powerful network analysis framework that is much different from the typical IDS you may know. 项目地址: https://gitcode.com/gh_mirrors/ze/zeek 点击查看 免费下载 导读 本文以 Zeek 的监控定位为出发点… · 2026/9/27 7:26:07

gsd-core 修复 `phase remove` 误删同层十进制阶段:3601 深度感知段落边界解析
gsd-core 修复 `phase remove` 误删同层十进制阶段:3601 深度感知段落边界解析

【免费下载链接】gsd-core Git. Ship. Done - Core 项目地址: https://gitcode.com/gh_mirrors/ge/gsd-core 点击查看 免费下载 本篇文章围绕 gsd-core 中一次针对 phase remove 命令的破坏性数据丢失缺陷修复(对应 issue #3601)展开&#x… · 2026/9/27 7:26:07

拒绝模板丑站,门户网站策划方案哪家强
拒绝模板丑站,门户网站策划方案哪家强

拒绝模板丑站,门户网站策划方案哪家强 别再被那些千篇一律的模板网站坑了,看着就掉价。很多老板找团队做门户网站,问的第一句话往往是“哪家好”,结果拿到手还是一堆拼凑的烂代码。… · 2026/9/27 7:25:49

First Blog
First Blog

all right!all right!Hello,everyone.Welcome to my first blog.不装了,欢迎来到一名专科大三实习生的学习c语言废话记录博客。在这里你主要会看见我的实习阶段自学c语言的心得体会以及其他话题敬请期待吧!!步入正题我是一名专科大三实习生 如… · 2026/9/27 7:56:56

建设网站搞网络营销的总结:避开建站报价陷阱,3招搞定流量
建设网站搞网络营销的总结:避开建站报价陷阱,3招搞定流量

建设网站搞网络营销的总结:避开建站报价陷阱,3招搞定流量 网站做好了没人访问,这是无数老板和运营人最头疼的事。你花了几万块,甚至十几万,盯着建站报价单上的数字,看着页面终于上线,结果后台数据一片惨淡。很多客户拿着做好的网站来找我,第一句话往… · 2026/9/27 7:56:44

从 opentelemetry-sdk-workers 到 sdk-trace-web:@highlight-run/cloudflare SDK 的演进史与源码剖析
从 opentelemetry-sdk-workers 到 sdk-trace-web:@highlight-run/cloudflare SDK 的演进史与源码剖析

可观测性后端 【免费下载链接】highlight highlight.io: The open source, full-stack monitoring platform. Error monitoring, session replay, logging, distributed tracing, and more. 项目地址: https://gitcode.com/gh_mirrors/hi/highlight 点击查看 免费下… · 2026/9/27 7:56:38

TEN-framework 中 curl 组件的弃用特性清单解析:NSS/gskit/旧版 MinGW 与空格分隔 NO_PROXY 的移除计划
TEN-framework 中 curl 组件的弃用特性清单解析:NSS/gskit/旧版 MinGW 与空格分隔 NO_PROXY 的移除计划

人工智能AI Agent多模态语音AI 应用 【免费下载链接】ten-framework Open-source framework for conversational voice AI agents 项目地址: https://gitcode.com/TEN-framework/ten-framework 点击查看 免费下载 本指南基于本仓库 third_party/curl/docs/DEPRECAT… · 2026/9/27 7:56:38

锦州做网站哪家好:避开3个坑,搞定性能优化
锦州做网站哪家好:避开3个坑,搞定性能优化

锦州做网站哪家好:避开3个坑,搞定性能优化 改个按钮颜色,建站公司拖了一周还没动静?这种憋屈劲儿,锦州很多老板都尝过。更糟心的是,网站上线后打开像蜗牛,用户流失率飙升,这时候你才想起来问【性能优化】的事,对方却让你再等。… · 2026/9/27 7:56:38

如何用 Wand-Enhancer 免费解锁 Wand 专业版:3 分钟本地补丁完整指南
如何用 Wand-Enhancer 免费解锁 Wand 专业版:3 分钟本地补丁完整指南

如何用 Wand-Enhancer 免费解锁 Wand 专业版:3 分钟本地补丁完整指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer Wand-Enhancer 是… · 2026/9/27 7:56:32

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码