• Jobs和Instances(任务和实例)
    • 自动化生成的标签和时间序列

    Jobs和Instances(任务和实例)


    就Prometheus而言,pull拉取采样点的端点服务称之为instance。多个这样pull拉取采样点的instance, 则构成了一个job

    例如, 一个被称作api-server的任务有四个相同的实例。

    • job: api-server
      • instance 1:1.2.3.4:5670
      • instance 2:1.2.3.4:5671
      • instance 3:5.6.7.8:5670
      • instance 4:5.6.7.8:5671

    自动化生成的标签和时间序列

    当Prometheus拉取一个目标, 会自动地把两个标签添加到度量名称的标签列表中,分别是:

    • job: 目标所属的配置任务名称api-server
    • instance: 采样点所在服务: host:port

    如果以上两个标签二者之一存在于采样点中,这个取决于honor_labels配置选项。详见文档

    对于每个采样点所在服务instance,Prometheus都会存储以下的度量指标采样点:

    • up{job="[job-name]", instance="instance-id"}: up值=1,表示采样点所在服务健康; 否则,网络不通, 或者服务挂掉了
    • 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_samples_post_metric_relabelingscrape_samples_scraped的值好像是一样的。还是这两个值没有理解

    up度量指标对服务健康的监控是非常有用的。