作者:Michelle Nguyen,首席工程师@New Relic,创始工程师@Pixie Labs
在 Pixie,我们相信可观测性的未来在于开源。
随着开放标准的兴起,如OpenTelemetry[1],从一个新的集群到完全可观测性比以往任何时候都更容易。就像部署标准友好的代理,并将数据发送到你选择的工具一样简单。想在 Prometheus 中分析度量,在 Jaeger 中探索追踪?那是支持的。想在 Zipkin 中追踪吗?简单。为使用特定工具而设计的限制性专有代理的日子已经一去不复返了。开源工具的互操作性,使得采用和切换最适合开发人员需求的产品变得轻而易举。
带着这些信念,我们建立了Pixie 插件系统[2]。在其核心,Pixie 专注于提供一个无测仪(no-instrumentation)[3],实时调试平台。然而,有效地监控集群和应用程序需要更多。开发人员需要长期的数据保留,以跟踪历史趋势并进行比较。他们希望在出现问题时收到警报通知。
我们没有将所有这些功能构建到 Pixie 中,而是认识到已经有其他优秀的工具提供了这些功能。我们从Grafana 的插件[4]中获得灵感,这些插件允许用户通过与其他工具(如数据源和面板)集成来增强他们的 Grafana 体验。Pixie 插件系统旨在支持开源软件的互操作性,并利用生态系统中其他工具的优势。
OpenTelemetry Pixie 插件附带了几个预设脚本。你还可以添加自己的脚本,以 OpenTelemetry 格式导出自定义 Pixie 数据。
Pixie 插件系统的初始版本旨在解决 Pixie 的数据存储限制。Pixie 将其收集的数据存储在集群中,以提高性能和安全性。保留时间取决于群集中的流量水平,但通常在几小时左右。
Pixie 插件系统通过提供到其他工具的导出来实现 Pixie 数据的长期保留。通过依赖 OpenTelemetry 作为 Pixie 的导出格式,任何 OpenTelemetry 支持的产品都可以获取 Pixie 的指标和追踪。你可以为你最喜欢的工具启用插件[5],Pixie 将立即开始输出数据。每个插件提供者都预先配置了一组默认脚本来导出由该工具最好补充的数据。但是,你也可以编写自定义导出脚本[6]来发送任何你想要的 Pixie 数据。
有了 Pixie 的插件系统,我们设想未来 Pixie 的遥测数据可以在任何地方使用。然而,集成多种工具也有缺点。从一个工具到另一个工具的导航和上下文切换既麻烦又低效。Pixie 插件系统的未来渴望将这些工具统一在一个中心位置。在 Pixie UI 中,开发人员将能够配置跨产品的警报,使用 Pixie 的脚本化视图查询不同来源的长期数据,等等。Pixie 的目标一直是尽可能简单地了解开发人员的集群和应用程序。通过利用开源和开放标准的优势,我们希望使可观察性对所有开发者来说更加强大、简单和可访问。
以下是一些开始使用 Pixie 插件的资料:
[1]
OpenTelemetry: https://opentelemetry.io/
[2]
Pixie 插件系统: https://github.com/pixie-io/pixie-plugin
[3]
无测仪(no-instrumentation): https://docs.px.dev/about-pixie/pixie-ebpf/
[4]
Grafana 的插件: https://grafana.com/docs/grafana/latest/plugins/
[5]
启用插件: https://docs.px.dev/reference/plugins/plugin-system/#enabling-a-plugin
[6]
编写自定义导出脚本: https://docs.px.dev/tutorials/integrations/otel/
[7]
导出 OpenTelemetry 数据: https://docs.px.dev/tutorials/integrations/otel/
[8]
参考文档: https://docs.px.dev/reference/plugins/plugin-system
[9]
可用插件列表: https://github.com/pixie-io/pixie-plugin#available-plugins
[10]
贡献一个插件: https://github.com/pixie-io/pixie-plugin#contributing
CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux Foundation,是非营利性组织。
CNCF(云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。