作为服务,我们的遥测数据平台允许您存储和分析指标,事件,日志和痕迹,无论是来自新的遗物代理商还是第三方来源,如普罗米修斯。传统上,新的遗物用户已使用数据查询新的遗物查询语言(NRQL)。当我们与用户交谈有关Prometheus的说法,我们了解到了PROPQL.支持将允许他们使用现有的Grafana仪表板,并使新用户能够在不学习NRQL的情况下采用我们的平台。

Prometheus是监测Myriad基础设施和其他系统的指标的绝佳工具,但它缺乏长期,耐用,可靠的存储解决方案呈现出挑战。这一挑战是为什么我们为普罗米修斯建造了支持远程写能力,给你的能力发送您的Prometheus指标到遥测数据平台。

当我们建造了我们的Prometheus支持时,我们很幸运能够与之合作朱利叶斯峡谷他是普罗米修斯计划的联合创始人。而他最近的博客(跨供应商的proql兼容性)向我们提供31%的兼容性得分,我们知道我们的PROGQL实施支持99.5%的Top Grafana仪表板查询,我们认为它将支持您的大部分用例。此博客文章讨论了我们对Promql支持的方法,何时以及为什么我们的实现与Promlabs的实施不同,以及最重要的是,新的遗物如何支持您的ProMQL需求。

建立支持最常见的查询

在开发PROMQL解决方案时,我们优先考虑支持客户最多的查询。由于Grafana作为探索和可视化Prometheus度量的工具的普及,我们确定了最常用的社区仪表板和他们构建的ProMQL查询。该集合超过600个PROMQL查询涵盖了780万格拉新仪表板下载。我们知道支持这些查询将涵盖绝大多数客户的用例。结果,当我们在2020年8月推出对ProMQL的支持时,我们的PROGQL引擎能够解析,翻译和正确执行99.5%的查询在上述收藏中。巧合,在实现这些结果后的一天,Promlabs'Promql-Compliance-Tester工具是开放的。

Promlabs的博客使得一个重要的观点应该将新的遗物31%的分数放入角度:“......单独的数字分数绘制有限的图片。他们不一定告诉你有影响力的实现错误,也没有有多少不同的行为差异。“实施差异不一定会影响用户体验。要在它上缩小到较好的点:如果我们的ProMQL实现返回结果几乎与Promlabs测试套件的预期相同,结果将失败Promlabs的测试套件,即使结果对于您的真实故障排除需求也是有用的。

指标物质,但可扩展,长期存储也是如此

虽然Prometheus和遥测数据平台具有相似之处(在没有用户指定指标的情况下支持对Ad-hoc模式和灵活查询),但它们遵循需要不同权衡的单独设计原则。查询语言,查询执行模型,数据模型和存储格式通常通过设计约束本质上链接。

Promlabs合规性测试突出了一个微妙但基本点:对PROMQL的支持紧密耦合到Prometheus数据模型和ProMetheus存储实施。由于不同的战略目标,我们选择制作不同的设计权衡而不是Promlabs;值得注意的是,我们专注于:

  1. 遥测数据类型:遥测数据平台支持度量标准,事件,日志和痕迹,而Prometheus仅支持指标。
  2. 存储系统:遥测数据平台提供可扩展性和经济高效的长期存储,而Prometheus则不会。
  3. 计算Deltas.:遥测数据平台计算Deltas摄取时间而不是at.查询时间,在更大的数据集上提供更快的结果。这种方法的另一个优点是,它在查询时避免了某些函数出现不希望看到的结果(见下文)。

严格遵守ProMQL协议的后果强制促进供应商在上面列举的相同权衡,要求支持确切数据模型的存储接口。然而,匹配查询执行模型和存储接口限制了平台的灵活性制作不同的设计权衡,最终限制了其向用户提供额外福利的能力。一个这样的权衡涉及在查询时间的绝对与累积计数器上计算速率,这是一个受试者加热辩论在开源社区。具体而言,速率()和增加函数在不相交值对之间计算Δ,但在这样做时,它们会丢弃一部分数据并推断其余的,返回意外结果。遥测数据平台没有这样的问题,因为它计算了Deltas摄取时间而不是查询时间,利用相关时间范围的每个数据点。

普罗米修斯的特点是基于拉力的模型这不提供分布式可扩展的存储空间。结果,Prometheus使用累积柜台,在类似速率的查询中计算查询时的增量,以提供度量分辨率的优雅降低,并避免在交付失败时丢失数据。考虑到Prometheus在单个节点上的单线程执行,这是一个适当的权衡。

相比之下,遥测数据平台使用基于推送的交付模型作为高可用性和可伸缩平台的一部分,并使用跨多个节点的多线程查询执行模型。此外,Telemetry数据平台的数据模型针对增量计数器进行了优化,以提供具有成本效益和可扩展的存储,并为类似费率的操作提供更直观的查询体验。

在其他地方,Prometheus和遥测数据平台之间的差异不太明显。我们建立了一个指南将promql查询转换为nrql此外,您可以在存储在遥测数据平台中时,继续询问您的Prometheus指标的相同类型的问题。

一个地方所有你的遥测数据

超越Prometheus,遥测数据平台可以从几乎任何源摄取尺寸度量数据,并且可以分析,可视化数据,并与事件,日志和迹线相关联。无论系统或应用程序,此灵活和艺术数据模型都可以快速诊断和解决问题。您用来与遥测数据进行交互的语言是故障排除体验的重要组成部分 - NRQL提供了一种易于学习和熟悉的SQL语法。但是,如果您只是希望查询Prometheus度量标准,ProMQL语法也运行。

即使您只关注普罗米修斯度量标准,组织也很难做到联邦Prometheus服务器,缺乏统一存储来查询和分析其系统性能。相比之下,遥测数据平台可以在一个地方访问所有ProMetheus服务器的所有数据,无论您的ProMetheus服务器是否正在分类配置或副本中运行高可用性使用重复保证结果。此功能允许您在所有Prometheus实例上查询,可视化和警报度量数据。维护比联邦的普通普通配置更容易。

查询新遗物寄生虫和Grafana

遥测数据平台使您可以使用PROMQL语法直接在新的遗物ONE和GRAFANA中查询PROMETHEUS指标。要实现这一点,我们将PROMQL查询转换为NRQL查询。

要可视化数据,您有两种选择:

  1. 在新的遗物中: 采用PROPQL.-Style模式或NRQL在图表建设者,以及仪表板和自定义应用程序
  2. 在Grafana在Grafana中将数据平台配置为Prometheus数据源

我们不断提高对PROMQL的支持,因此期望在将来支持更多功能。如果您希望看到的特定事项,请联系您的帐户团队(付费帐户)或在新遗物中输入请求探险家的枢纽(免费层)。如果您想了解有关我们支持的PROMQL功能的更多信息,请查看我们的译文,包括详细信息将promql翻译成NRQL

约翰·威瑟斯(John Withers)是新遗迹公司(New relic)的高级产品营销经理,也是一位狂热的狗爱好者。查看贴子

对新遗物博客的写作有兴趣吗?亚搏体育登入网送我们一个球场!!