EN
返回档案库

案例库 · 软件与 IT · 技术决策 · 2012–2018

Prometheus通过拉取指标并按标签索引赢得了云原生监控

SoundCloud的Prometheus(2012)将基于拉取的抓取加上标签维度确立为云原生监控标准,并于2018年从CNCF毕业。

SoundCloud

那一手

SoundCloud的工程师需要监控那些随代码部署而快速出现、移动和消失的服务。他们在2012年构建了Prometheus,围绕两个深思熟虑的选择:基于拉取的抓取和基于标签的数据模型。Prometheus不是让代理推送命名指标到中央存储,而是通过服务发现找到目标,然后按间隔从每个目标的HTTP端点抓取指标。

拉取改变了监控的经济性:宕机或缺失的目标只是不再出现,无需单独的存活通道,且采集器控制自己的负载。每个样本上的标签(键值对)然后让一个指标(如请求计数)能在单一查询语言中按任务、实例、处理程序或区域进行切片。这让Prometheus感觉像数据库,而不是图形转储。

2016年5月,Prometheus加入CNCF,成为继Kubernetes之后第二个托管项目;2018年8月,它毕业了——这是历史上第二个这样做的项目。它的展示格式甚至衍生出OpenMetrics,CNCF将其描述为演进中的“事实上的行业规范”。

为什么管用

  • 拉取让服务发现自动发现新实例,并使死目标变得明显。
  • 标签将一个指标变成多个可查询的维度,而不是发明指标名称。
  • 采集器控制抓取负载,而不是被代理淹没。
  • Apache-2.0许可和CNCF中立性消除了供应商锁定的担忧。
值了多少拉取指标;按标签存储神来之笔

可以搬走什么

使采集模型匹配动态基础设施:拉取加发现能找到你还不知道的服务,标签将一个指标变成多个可查询的维度。

后来呢

Prometheus成为Kubernetes时代的默认监控栈——其查询语言PromQL现已成为平台团队的常见技能,大多数现代可观测性产品都提供Prometheus兼容性。其2018年的CNCF毕业(仅次于Kubernetes)巩固了它在云原生标准库中的地位。

资料来源

发现哪里写错了?告诉我们。

同一路聪明