今天,我们启动了Prometheus 合规性计划,目标是确保 Prometheus 监控领域中不同项目和供应商之间的互操作性。虽然法律文件还需要最终确定,但我们已经进行了测试,并将以下内容视为我们的首轮结果。作为本次发布的一部分,Julius Volz 更新了他的 PromQL 测试结果。
快速提醒:该计划名为 Prometheus Conformance(合规性),软件可以compliant(符合)特定测试,从而产生 compatibility(兼容性)评级。这个命名可能看起来很复杂,但它使我们能够谈论这个话题,而无需使用冗长的词语。
序言
新类别
我们发现,要推理出什么需要应用于什么软件是相当困难的。为了理清思路,我们创建了一份概述,介绍了我们可以将软件归入的四个新类别
- 指标暴露器
- 代理/收集器
- Prometheus 存储后端
- 完全 Prometheus 兼容性
行动号召
非常欢迎反馈。也许违反直觉的是,我们希望社区,而不仅仅是 Prometheus 团队,来塑造这项工作。为了帮助实现这一目标,我们将在 Prometheus 内启动一个 WG Conformance(合规性工作组)。与 WG Docs(文档工作组) 和 WG Storage(存储工作组) 一样,这些工作组将是公开的,我们积极邀请大家参与。
正如我们最近提到的,Prometheus 的维护者/采用率出奇地低,甚至令人震惊。换句话说,我们希望围绕 Prometheus 兼容性的经济激励措施将吸引供应商分配资源与我们一起构建测试。如果您一直想在工作时间为 Prometheus 做出贡献,这可能是一个途径;并且是一种让您接触到 Prometheus 许多高度相关方面的方式。有很多种与我们联系的方式。
注册接受测试
如果您想注册接受测试,可以使用相同的沟通渠道与我们联系。一旦文书工作到位,我们将把联系信息和合同运营移交给 CNCF。
测试结果
完全 Prometheus 兼容性
我们知道我们想要构建哪些测试,但我们尚未完成。正如之前宣布的那样,以此来反对项目或供应商是不公平的。因此,测试垫片被定义为已通过。例如,Julius 本周运行的 PromQL 测试目前是半手动的,这意味着 Julius 在大多数情况下测试了通过 Prometheus Remote Write 发送数据,作为 PromQL 测试的一部分。我们在这里以多种方式重用他的结果。这将很快得到解决,更多来自不同角度的测试将不断提高要求,从而提高最终用户的信心。
将项目和 aaS 产品分为两组来查看是有意义的。
项目
通过
- Cortex 1.10.0
- M3 1.3.0
- Promscale 0.6.2
- Thanos 0.23.1
未通过
VictoriaMetrics 1.67.0 未通过,并且不打算通过。本着最终用户信心的精神,我们决定跟踪他们的结果,因为他们将自己定位为 Prometheus 的直接替代品。
aaS
通过
- Chronosphere
- Grafana Cloud
未通过
- Amazon Managed Service for Prometheus
- Google Cloud Managed Service for Prometheus
- New Relic
- Sysdig Monitor
注意:由于 Amazon Managed Service for Prometheus 和 Grafana Cloud 一样基于 Cortex,我们预计它们会在下一次更新周期后通过。
代理/收集器
通过
- Grafana Agent 0.19.0
- OpenTelemetry Collector 0.37.0
- Prometheus 2.30.3
未通过
- Telegraf 1.20.2
- Timber Vector 0.16.1
- VictoriaMetrics Agent 1.67.0
注意:我们测试了 Vector 0.16.1 而不是 0.17.0,因为 0.17.0 没有二进制下载,并且我们的测试工具链目前需要二进制文件。