在 Prometheus 术语中,您可以抓取的端点称为实例,通常对应于单个进程。 具有相同目的的实例集合(例如,为可伸缩性或可靠性而复制的进程)称为任务。
例如,具有四个复制实例的 API 服务器任务
api-server
1.2.3.4:5670
1.2.3.4:5671
5.6.7.8:5670
5.6.7.8:5671
当 Prometheus 抓取目标时,它会自动将一些标签附加到抓取的时间序列,这些标签用于标识抓取的目标
job
: 目标所属的已配置任务名称。instance
: 被抓取的目标 URL 的 <host>:<port>
部分。如果这些标签中的任何一个已经存在于抓取的数据中,则行为取决于 honor_labels
配置选项。 有关更多信息,请参阅抓取配置文档。
对于每个实例抓取,Prometheus 在以下时间序列中存储一个样本
up{job="<job-name>", instance="<instance-id>"}
: 1
如果实例是健康的,即可访问,或者 0
如果抓取失败。scrape_duration_seconds{job="<job-name>", instance="<instance-id>"}
: 抓取的持续时间。scrape_samples_post_metric_relabeling{job="<job-name>", instance="<instance-id>"}
: 应用指标重新标记后剩余的样本数。scrape_samples_scraped{job="<job-name>", instance="<instance-id>"}
: 目标暴露的样本数。scrape_series_added{job="<job-name>", instance="<instance-id>"}
: 此抓取中新增的近似序列数。 v2.10 版本新增up
时间序列对于实例可用性监控很有用。
使用extra-scrape-metrics
功能标志,可以使用几个额外的指标
scrape_timeout_seconds{job="<job-name>", instance="<instance-id>"}
: 目标的已配置 scrape_timeout
。scrape_sample_limit{job="<job-name>", instance="<instance-id>"}
: 目标的已配置 sample_limit
。 如果没有配置限制,则返回零。scrape_body_size_bytes{job="<job-name>", instance="<instance-id>"}
: 如果成功,则为最近一次抓取响应的未压缩大小。 因超出 body_size_limit
而失败的抓取报告 -1,其他抓取失败报告 0。本文档是开源的。 请通过提交 issue 或 pull request 来帮助改进它。