作业和实例

在 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 抓取目标时,它会自动将一些标签附加到抓取的时间序列,这些标签用于标识被抓取的目标。

  • 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。

此文档是开源的。请通过提交问题或拉取请求来帮助改进它。