1.7 任务和实例
prometheus 中,将任意一个独立的数据源(target)称之为实例(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 在采集数据的同时,会自动在时序的基础上添加标签,作为数据源(target)的标识,以便区分:
job: 配置数据源所属的任务名称。
instance: 数据源所在的地址和端口。
如果以上两个标签二者之一存在于采样点中,这个取决于 honor_labels 的配置文件选项。详见文档
对于每个采样点所在服务 instance,Prometheus 都会存储以下的度量指标采样点:
- up{job="[job-name]", instance="instance-id"}: up值=1,表示该实例正常工作; 如果值为 0 ,表示该实例异常
- scrape_duration_seconds{job="[job-name]", instance="[instance-id]"}: 表示拉取数据的时间间隔
- scrape_samples_post_metric_relabeling{job="
", instance=" "} 表示采用重定义标签(relabeling)操作后仍然剩余的样本数 - scrape_samples_scraped{job="
", instance=" "} 表示从该数据源获取的样本数
其中,up 度量指标对服务健康的监控是非常有用的。