赞
踩
Kindling,一个基于eBPF(Extended Berkeley Packet Filter)的云原生监控工具,是理解应用程序从内核到代码栈行为的利器。它旨在帮助用户轻松洞察应用行为,并能在几秒钟内找到问题的根本原因。凭借其创新的跟踪剖析功能,Kindling将带你深入观察你的系统如何运行,捕捉那些难以捉摸的问题。
Kindling不仅仅是一个网络监控器,它的目标是为用户提供一种全新的方式来了解应用在Kernel层面的活动。通过收集和关联OnCPU(CPU执行事件)与OffCPU(非CPU执行事件),如锁等待、数据库查询、远程过程调用等,它提供了全面的行为视图。Kindling还提供了一个类似Chrome浏览器中网络探索的界面,让你可以在生产环境中像查看网页资源一样分析单个RPC调用。
Kindling的跟踪剖析将线程级的火焰图与日志、时间序列数据相结合,使得可以回溯和重演整个跟踪过程。它明确标识出执行轨迹的线程,收集并关联每个线程的日志,同时显示CPU繁忙时的代码执行火焰图,以及网络、文件相关指标的时间序列。
Kindling作为Kubernetes中的DaemonSet运行,捕获所有系统调用和其他关键点。它支持不同的数据出口方式,例如Prometheus用于存储和展示数据,而跟踪剖析则有一个独立的UI模块。这种设计确保了数据采集的灵活性和可扩展性。
Kindling的eBPF模块要求内核版本大于4.14,但为了实现跟踪剖析,需要内核版本大于4.17。对于旧内核的支持,Kindling采用了Sysdig开源项目提供的增强版内核模块,尽管有局限,但在测试中表现良好。
在众多的观测性工具如Skywalking、ELK和Prometheus之外,Kindling带来了独特的价值。在Kubernetes环境中,它可以帮助快速识别服务间的网络流,初步定位产品问题的原因。通过观察网络层面,可以判断问题是出在基础设施配置、虚拟网络如Calico或Flannel,还是应用代码上。
eBPF的低开销数据捕获使得Kindling在性能上优于传统的libpcap方法,特别适合跟踪Linux内核处理应用程序请求的过程。
bulk insert
操作。要开始使用Kindling,请参照安装指南。
详细文档可在Kindling官方网站查阅。如果你有任何问题或者建议,可以通过GitHub讨论区、Slack频道,甚至加入我们的微信交流群进行交流。
Kindling项目遵循Apache 2.0许可证。
准备好用Kindling提升你的监控体验了吗?现在就开始,探索云原生环境的无限可能!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。