作者:来自 Elastic Edmo Vamerlatti Costa
Elastic 自豪地推出 OTTL Playground(ottl.run),这是一款功能强大且用户友好的工具,旨在让用户轻松体验 OpenTelemetry Transformation Language (OTTL)。该 Playground 提供丰富的界面,用户可以实时创建、修改和测试语句,从而更轻松地理解不同配置对 OpenTelemetry 数据转换的影响。
OTTL Playground
随着可观测性和监控解决方案需求的增长,OpenTelemetry 已成为收集、处理和导出遥测数据的关键框架。在这一生态系统中,OpenTelemetry Transformation Language (OTTL) 提供了一种强大的方式来自定义遥测数据转换,但对于新手和有经验的用户来说,它可能具有一定的挑战性。
为了帮助解决这些挑战,我们隆重推出 OTTL Playground(ottl.run),这是一款功能强大且用户友好的工具,旨在让用户轻松体验 OTTL。该 Playground 提供丰富的界面,用户可以实时创建、修改和测试语句,更直观地理解不同配置对 OpenTelemetry 数据转换的影响。用户可以即时验证 OTTL 转换结果,从输入到输出,并查看差异对比。这使新用户能够探索 OTTL 的细微差别,而无需担心影响生产环境。
工作原理
OTTL Playground 允许你使用不同的处理器和版本运行 OTTL 语句。目前,它支持 transform 处理器和 filter 处理器,未来可能会添加更多评估器。
要开始探索,只需访问 OTTL Playground。填写处理器配置和 OTLP 负载后,点击屏幕右上角的 "Run" 按钮,结果会立即显示在右侧的结果面板中。
上面的示例使用 transform 处理器重命名了一个 trace resource 属性,其对数据的影响可以在基于 diff 的结果面板中轻松观察到。
处理器配置和 OTLP 负载示例
可以通过 Configuration 和 OTLP Payload 面板右上角的下拉菜单选择不同的示例,加载处理器配置和 OTLP 负载进行测试。
不同类型的结果
OTTL Playground 的主要目标是帮助用户理解处理器及其 OTTL 语句对遥测数据的影响。为了实现这一点,Playground 提供了多种结果视图,包括 可视化结果 、JSON 结果 和 执行调试日志。
- 可视化差异 (Visual delta): 提供基于 diff 的对比视图,直观展示数据转换的影响,使用户无需深入原始数据即可理解复杂变化。
- 注释差异 (Annotated delta): 与 Visual delta 类似,但以 JSON 形式呈现数据差异,详细展示数据更改的每一步。
- JSON 结果 (JSON): 以 JSON 形式显示数据转换后的完整输出,适用于调试和精确验证数据转换。
- 执行日志 (Execution logs): OTTL 和处理器提供详细的 debug 日志,逐步记录数据处理过程,帮助用户进行故障排查并理解转换序列。
这些功能让用户能够自信地实验 OTTL 语句,确保他们能够清晰、精准地优化遥测数据转换。
共享功能
OTTL Playground 支持轻松共享配置。用户可以点击界面右上角的 "Copy Link" 按钮,生成一个唯一的 URL,该链接会包含当前的 Playground 状态。
生成的链接可以与同事或社区成员分享,允许他们快速加载并查看相同的设置。这一功能促进了协作和故障排查,使用户能够无缝共享特定的 OTTL 配置和结果。
请注意,共享链接是公开的,可能包含数据,因此建议不要提交任何机密信息。
Playground 架构
OTTL Playground 是一个完全在客户端浏览器中运行的静态网站。它利用 WebAssembly (由实际的 OpenTelemetry Collector 代码编译而成)来提供与真实 Collector 发行版相同的结果,同时保持接近原生的性能。
OTTL Playground 的用户界面使用 WebComponents,这带来了诸多优势。这种模块化方法使 UI 更易维护和扩展,同时支持组件的复用,使开发者能够在不同项目中创建并复用 Playground 元素。
迄今为止的进展
随着本次介绍的结束,我们需要强调 OTTL Playground 仍处于 Beta 阶段。这意味着我们正在积极改进功能和优化性能,并基于用户反馈不断完善。
我们对这一工具的潜力感到非常兴奋,它能够简化 OTTL 的使用,并促进社区内的协作。我们邀请你探索 OTTL Playground,分享你的使用体验,并帮助我们将其打造成更高效、更友好的工具。请持续关注,我们将在未来几个月推出更多更新和新功能!
该项目正在与 OTel 社区 合作开发,你可以通过 GitHub Issue 追踪进展并贡献力量。源代码可在 GitHub 仓库 中获取。
原文:Introducing the OTTL Playground for OpenTelemetry --- Elastic Observability Labs