开源云原生应用可观测平台 Pixie
共 1826字,需浏览 4分钟
·
2021-05-07 01:56
有了 Pixie,开发人员可以通过一个 shell 命令查看其所有应用程序的指标、事件、日志和跟踪。使用 Pixie,您无需添加检测代码,设置临时仪表板即可查看正在发生的情况,这将为你节省宝贵的时间。Pixie 是一个本地的 Kubernetes 程序,其 Pixie Edge 模块(PEM)部署为 DaemonSet。在您的群集中,PEM 利用 Pixie 的 eBPF 程序来收集网络事务和系统指标,而无需更改代码。
1功能
Pixie 有三个非常重要的功能:
自动测量
在现有的代码库中手动自动测量,对团队来说是一种负担。Pixie 为目标系统提供了实时的基线可见性,一旦部署,它就会自动收集来自各种协议、系统指标和网络级数据的所有应用请求。Pixie 的自动测量是由 eBPF 提供的,这是一项由 Brendan Gregg 推广的 Linux 内核技术。
完全可编写的脚本
作为开发者,我们希望 Pixie 是一个完全可编程的接口,以便它能更好地适应我们自己的工作负载。Pixie 使用一种名为 PxL
的 Pythonic 查询语言,基于 Pandas
语法。Pixie 的所有客户端(CLI、API 和 Web UI)都使用 PxL 脚本来分析数据。Pixie 开箱即有一套丰富的 PxL 脚本,但用户也可以编写自己的 PxL 脚本来执行自定义分析。PxL 也是将 Pixie 数据导入和导出到其他系统的接口。
集群内边缘计算
将大量的遥测数据发送到远程进行存储,往往会给网络带来很大的负担,而且当数据敏感时还会带来隐私问题。Pixie 完全在用户的 Kubernetes 集群上进行所有数据存储和计算。这种架构允许用户在他们的环境中隔离数据存储和计算,以获得更精细的上下文,更快的性能和更高的数据安全水平。
2开源
随着今天的发布,现在有可能运行一个完全自我托管的 Pixie 版本,没有第三方依赖或供应商绑定。
以下是我们提供的主要组成部分的简介:
Vizier
:Pixie 的集群内数据收集和查询引擎,Vizier 在 Kubernetes 集群上运行、收集数据、在集群本地存储,并为 Pixie 客户端(CLI、API、Web UI)执行查询。Pixie Cloud
:Pixie 的 Cloud 负责管理用户、档案、项目和应用程序。Pixie Docs
:OSS(开源版本)项目的文档。Pixie Website
:OSS 项目网站。
用户可以选择完全自我托管 Pixie,或者将 Vizier 与 New Relic 托管的 Pixie Cloud 结合起来运行,以减少管理负担。New Relic 托管的 Pixie 将保持完全免费,用户可以选择将数据发送到 New Relic One。
Pixie 的托管版本的参考文档将继续在 pixielabs.ai 和 docs.pixielabs.ai 上发布。 为了保持 OSS Pixie 的供应商中立性,OSS 版 Pixie 的参考文档将在 px.dev 和 docs.px.dev 中发布。
3架构
Pixie 平台的边缘机器智能系统 Pixie Platform
实现了 Pixie 神奇的功能,该系统旨在实现安全和可扩展的自动遥测。该平台主要的组件包括:
Pixie 命令驱动接口
:面向终端用户的 Pixie CLI 和 Live UI,用于程序化数据和可视化访问Pixie Vizier 模块
:作为一组 K8s 服务部署在被监控的集群内,它们负责脚本执行、数据聚合、数据整合和数据备份Pixie边缘模块(PEM)
:作为 DaemonSets 部署,PEM 利用 Pixie 的 eBPF 收集器来收集网络事务和系统指标,而无需修改任何代码。Pixie 控制云
:Pixie 托管和管理的控制平面,用于支持认证、元数据跟踪和"穿透"部署模式。
可以参考文档:https://docs.px.dev/installing-pixie/quick-start/ 快速开始体验 Pixie。
项目地址:https://github.com/pixie-labs/pixie