用 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
Prometheus 抓取目标时,会自动在抓取的时间序列上附加一些标签,用于识别抓取的目标:
作业:目标所属的配置作业名称。
实例:目标 URL 的 <host>:<port> 部分。
如果这些标签已经存在于抓取的数据中,其行为取决于 honor_labels 配置选项。有关详细信息,请参阅 scrape 配置文档。
对于每次实例抓取,Prometheus 都会在以下时间序列中存储一个样本:
up{job="<job-name>",instance="<instance-id>"}: 如果实例健康,即可以到达,则为 1;如果抓取失败,则为 0。
scrape_duration_seconds{job="<job-name>", instance="<instance-id>"}:扫描持续时间。
srape_samples_post_metric_relabeling{job="<job-name>", instance="<instance-id>"}:应用指标重新标注后剩余的样本数。
scrape_samples_scraped{job="<job-name>", instance="<instance-id>"}:目标暴露的样本数。
srape_series_added{job="<job-name>",instance="<instance-id>"}:本次抓取中新增序列的大致数量。v2.10 新增功能
注意:up 时间序列可用于可用性监测。