在 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。本文档是开源的。请通过提交问题或拉取请求来帮助改进它。