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
- instance 1:
自动化生成的标签
和时间序列
当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>"}
: 这个采样点目标暴露的样本点数量
up
度量指标对服务健康的监控是非常有用的。