Prometheus 抓取目标(Target)是什么?

Target 是 Prometheus 定时抓取的指标端点(IP:端口+路径),来自 static_configs 或服务发现,可在 Targets 页查看健康状态。本文讲清 Target 与 Job 的关系、up 指标与常见异常状态。

最佳实践
Prometheus 抓取目标(Target)是什么?封面

Target 就是一个被抓取的 HTTP 端点(如 10.0.0.1:9100/metrics)——Prometheus 按抓取间隔定时访问它、拉取指标文本、存入 TSDB;up表示抓取是否成功,不等于应用业务健康。

Target 与 Job 的关系

  • Job:一组同类 Target 的逻辑集合(如 job="node" 代表所有节点 exporter);
  • Target:Job 下的单个端点,带上 instance 标签区分。

一个 Job 里可以有成百上千个 Target。

Target 从哪来

  1. static_configs:配置文件里写死;
  2. 服务发现:kubernetes_sd_configs、consul_sd_configs、file_sd 等动态发现,扩缩容自动增删 Target。

健康检查:up 指标

每抓一个 Target,Prometheus 自动生成 up 序列:成功为 1、失败为 0。最简单的存活告警:

up == 0

Targets 页面(Status → Targets)能看到每个 Target 的状态、最近错误与耗时。

常见异常状态

  • DOWN:连接失败/超时/非 200 响应——查网络、端口、防火墙;
  • 指标解析失败:目标返回的不是合法指标文本(如返回了 HTML 错误页)。

常见问题(FAQ)

Q:Target 太多会怎样? 无通用几千Target上限,容量取决于样本数、基数、间隔、查询和硬件;分片需明确目标分配,联邦与Agent模式并非自动分片替代品。

Q:如何临时摘了一个 Target? 从配置/服务发现中移除;file_sd更新后会动态刷新。目标消失后up序列也会陈旧/消失,up==0不一定捕获,应按预期目标集合设计缺失告警。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台