Prometheus 兼容性计划:第一轮结果
2021 年 10 月 14 日作者 Richard "RichiH" Hartmann
今天,我们启动了 Prometheus 兼容性计划,旨在确保 Prometheus 监控领域内不同项目和供应商之间的互操作性。尽管法律文件尚待最终确定,但我们已经进行了测试,并将以下内容视为我们的第一轮结果。作为此次发布的一部分,Julius Volz 更新了他的 PromQL 测试结果 。
快速回顾一下:该计划称为 Prometheus **兼容性**,软件可以**符合**特定测试,从而产生**兼容性**评级。术语可能看起来很复杂,但这使我们能够就此话题进行讨论,而无需使用冗长的词语组合。
前言
新类别
我们发现很难确定需要应用于哪些软件。为了帮助整理思路,我们创建了 一个概述 ,其中介绍了我们可以将软件归入的四个新类别
- 指标暴露器
- 代理/收集器
- Prometheus 存储后端
- 完全 Prometheus 兼容性
行动呼吁
非常欢迎反馈。也许有点反直觉,我们希望社区,而不仅仅是 Prometheus 团队,来塑造这项工作。为了帮助实现这一点,我们将在 Prometheus 中启动一个 WG Conformance(兼容性工作组)。与 WG Docs 和 WG Storage 一样,这些工作组将是公开的,我们积极邀请参与。
正如我们 最近暗示的 ,Prometheus 的维护者/采用率令人惊讶,或者说令人震惊地低。换句话说,我们希望围绕 Prometheus 兼容性的经济激励措施能吸引供应商投入资源与我们一起构建测试。如果你一直想在工作时间为 Prometheus 做贡献,这可能就是途径;而且这条途径将让你接触到 Prometheus 的许多高度相关的方面。有多种方式可以 联系我们。
注册进行测试
如果你想注册进行测试,你可以使用 相同的沟通渠道 与我们联系。一旦文件到位,我们将把联系信息和合同操作移交给 CNCF。
测试结果
完全 Prometheus 兼容性
我们知道要构建哪些测试,但我们还没有做到。如先前所宣布的,将此作为项目或供应商的劣势是不公平的。因此,测试桩被定义为已通过。例如,Julius 本周运行的 PromQL 测试 目前的半手动性质意味着 Julius 在 PromQL 测试中大多通过 Prometheus Remote Write 发送数据。我们在多种方式上重复使用了他的结果。这将很快得到理清,来自不同角度的更多测试将不断提高要求,从而增强最终用户的信心。
将项目和 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 没有二进制下载,而我们的测试工具链目前需要二进制文件。