即时可观察性,适用于云端和AI应用
零代码,全栈,eBPF & Wasm
什么是DeepFlow
DeepFlow开放源码项目旨在为复杂的云原生和AI应用提供深度可观察性。DeepFlow通过eBPF实现零代码的数据收集,包括指标、分布式链路追踪、请求日志和函数分析,并进一步集成智能编码以实现全栈关联与高效访问所有可观察性数据。借助DeepFlow,云原生和AI应用可以自动获得深度可观察性,消除开发人员不断插入代码的繁重负担,为DevOps/SRE团队提供从代码到基础设施的监控与诊断能力覆盖。
主要特性
- 适用于****任何服务的通用映射:通过eBPF提供了生产环境中的零代码通用映射,包括应用服务、AI服务和任何语言的基础设施服务。除了分析常用协议外,还支持Wasm插件用于私有协议分析。计算应用和基础设施的全栈黄金指标,轻松定位性能瓶颈。
- 适用于****任何请求的分布式链路追踪:通过eBPF支持的零代码分布式追踪适用于任何语言的应用和包括网关、服务网格、数据库、消息队列、DNS和网卡等基础设施,覆盖无盲点。自动为每个Span收集全栈网络性能指标和文件I/O事件。分布式追踪进入了新的时代:零插入。
- 适用于****任何函数的持续分析:DeepFlow以低于1%的成本通过零代码收集分析数据,绘制OnCPU/OffCPU/GPU/内存/网络函数调用栈火焰图,定位业务函数、库和框架函数、运行时函数、共享库函数、内核函数、CUDA函数的全栈性能瓶颈,并自动关联到分布式追踪数据。
- 与流行栈的无缝集成:DeepFlow可以作为Prometheus、OpenTelemetry、SkyWalking和Pyroscope的存储后端。它还提供SQL、PromQL和OLTP API,作为流行可观察性栈中的数据源。为所有可观察性信号注入元标签,包括云资源、K8s容器、K8s标签、K8s注解、CMDB业务属性等,消除数据孤岛。
- 性能10倍ClickHouse:智能编码将标准化和预编码的元标签注入所有可观察数据中,减少存储开销达10倍,与ClickHouse的String或LowCard方法相比。自定义标签和可观察性数据分开存储,使标签几乎可以在无限的维度和基数上使用,查询体验无损,如BigTable。
文档
更多信息,请访问文档网站。
快速开始
DeepFlow有三个版本:
- DeepFlow Community:面向开发者
- DeepFlow Enterprise:面向组织,解决团队协作问题
- DeepFlow Cloud:SaaS服务,目前处于测试阶段
DeepFlow Community Edition包含了Enterprise Edition的核心组件。
DeepFlow Community
请参考部署文档。
同时,我们还构建了一个完整的DeepFlow Community演示,欢迎体验。登录账户/密码:deepflow/deepflow。
DeepFlow Enterprise
您可以访问DeepFlow Enterprise演示,目前仅支持中文。
从源码编译DeepFlow
软件架构
DeepFlow Community Edition由两个组件组成,Agent和Server。每个K8s节点、传统主机和云主机上运行一个Agent,负责收集主机上所有应用进程的AutoMetrics和AutoTracing数据。Server在K8s集群中运行,提供Agent管理、标签注入、数据摄取和查询服务。
里程碑
这是我们的未来功能计划。欢迎提交问题和Pull Requests。
联系我们
致谢
- 感谢eBPF,一种革命性的Linux内核技术。
- 感谢OpenTelemetry,提供厂商中立的API来收集应用遥测数据。
荣誉
- 论文Network-Centric Distributed Tracing with DeepFlow: Troubleshooting Your Microservices in Zero Code已被ACM SIGCOMM 2023接受。
- DeepFlow丰富了CNCF云原生生态系统。
- DeepFlow丰富了CNCF CNAI(云原生AI)生态系统。
- DeepFlow丰富了eBPF项目生态系统。