Prometheus Jobs and Instances

翻译 原文链接

在Prometheus的术语里,一个能够被抓取监控数据的endpoint叫做Instance,通常可以认为是一个进程。有着同样目的的Instance集合叫做Job,比如:为了可伸缩性和可用性而复制的进程。

举例,一个api-server Job有着四个复制的Instance(可以理解为要监控一个服务,而这个服务为了高可用,扩容为了4个实例):

  • 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: 配置的属于这个target的job name
  • instance: target的URL中<host>:<port>部分
    如果上面的标签已经在收集的数据中存在了,Prometheus会根据配置文件中honor_labels配置来决定如何处理这些要被附加的标签。See the scrape configuration documentation for more information.

针对每一个Instance,Prometheus会自动产生、存储如下时间序列:

  • up{job="<job-name>", instance="<instance-id>"}:如果这个instance健康(能够连通),则值置为1,否则置为0。
  • scrape_duration_seconds{job="<job-name>", instance="<instance-id>"}:抓取Instance数据耗费的时间,单位秒。
  • scrape_samples_post_metric_relabeling{job="<job-name>", instance="<instance-id>"}:该Instance的metrics重新打标签之后,剩余的采样条数。
  • scrape_samples_scraped{job="<job-name>", instance="<instance-id>"}:target暴露的采样条数(即metrics条数)。

up时间序列可用于标识某个Instance是否可被监控,可用于Instance的健康检查。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,286评论 19 139
  • Prometheus 是什么? Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由Soun...
    上弦月Tt阅读 10,871评论 1 6
  • Prometheus Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundClou...
    YichenWong阅读 19,417评论 0 6
  • Prometheus TSDB是什么? (Time Series Database) 简单的理解为.一个优化后用来...
    ilkkzm阅读 19,296评论 0 4
  • "丁零零",闹钟奏起了交响曲,睡梦中的我被吵醒了,我揉了揉眼睛,迷迷糊糊的走进了洗手间,开始了刷牙洗脸...
    歆雨倾尘_c011阅读 196评论 0 0