当前位置:   article > 正文

探秘云端监控新星:Kindling

kindling ebpf

探秘云端监控新星:Kindling

Kindling,一个基于eBPF(Extended Berkeley Packet Filter)的云原生监控工具,是理解应用程序从内核到代码栈行为的利器。它旨在帮助用户轻松洞察应用行为,并能在几秒钟内找到问题的根本原因。凭借其创新的跟踪剖析功能,Kindling将带你深入观察你的系统如何运行,捕捉那些难以捉摸的问题。

什么是Kindling?

Kindling不仅仅是一个网络监控器,它的目标是为用户提供一种全新的方式来了解应用在Kernel层面的活动。通过收集和关联OnCPU(CPU执行事件)与OffCPU(非CPU执行事件),如锁等待、数据库查询、远程过程调用等,它提供了全面的行为视图。Kindling还提供了一个类似Chrome浏览器中网络探索的界面,让你可以在生产环境中像查看网页资源一样分析单个RPC调用。

Kindling Screenshot

跟踪剖析

Kindling的跟踪剖析将线程级的火焰图与日志、时间序列数据相结合,使得可以回溯和重演整个跟踪过程。它明确标识出执行轨迹的线程,收集并关联每个线程的日志,同时显示CPU繁忙时的代码执行火焰图,以及网络、文件相关指标的时间序列。

架构设计

Kindling作为Kubernetes中的DaemonSet运行,捕获所有系统调用和其他关键点。它支持不同的数据出口方式,例如Prometheus用于存储和展示数据,而跟踪剖析则有一个独立的UI模块。这种设计确保了数据采集的灵活性和可扩展性。

Kindling Architecture

支持的Linux内核版本

Kindling的eBPF模块要求内核版本大于4.14,但为了实现跟踪剖析,需要内核版本大于4.17。对于旧内核的支持,Kindling采用了Sysdig开源项目提供的增强版内核模块,尽管有局限,但在测试中表现良好。

为什么选择Kindling?

在众多的观测性工具如Skywalking、ELK和Prometheus之外,Kindling带来了独特的价值。在Kubernetes环境中,它可以帮助快速识别服务间的网络流,初步定位产品问题的原因。通过观察网络层面,可以判断问题是出在基础设施配置、虚拟网络如Calico或Flannel,还是应用代码上。

eBPF的低开销数据捕获使得Kindling在性能上优于传统的libpcap方法,特别适合跟踪Linux内核处理应用程序请求的过程。

核心特性

  • 跟踪剖析:揭示复杂的操作行为,如Elasticsearch的bulk insert操作。
  • 依赖关系映射:清晰展现Kubernetes集群内的服务间依赖关系。
  • Prometheus集成:利用PromQL进行数据查询,易于适应和管理。

开始使用

要开始使用Kindling,请参照安装指南

文档和支持

详细文档可在Kindling官方网站查阅。如果你有任何问题或者建议,可以通过GitHub讨论区、Slack频道,甚至加入我们的微信交流群进行交流。

Kindling 微信二维码

许可证

Kindling项目遵循Apache 2.0许可证

准备好用Kindling提升你的监控体验了吗?现在就开始,探索云原生环境的无限可能!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/930461
推荐阅读
相关标签
  

闽ICP备14008679号