作业和实例
在 Prometheus 术语中,可抓取的端点称为*实例*,通常对应于单个进程。具有相同目的的实例集合(例如,为可伸缩性或可靠性而复制的进程)称为*作业*。
例如,一个具有四个复制实例的 API 服务器作业
- 作业:
api-server
- 实例 1:
1.2.3.4:5670
- 实例 2:
1.2.3.4:5671
- 实例 3:
5.6.7.8:5670
- 实例 4:
5.6.7.8:5671
- 实例 1:
自动生成的标签和时间序列
当 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。