Kindling通过eBPF技术实现了无侵入性的容器环境监控,在调用拓扑图上展示了黄金指标:请求量、请求延时、请求错误率、发送和接收的网络流量,帮助了解集群中不同节点的基本性能情况。当需要进一步排查问题时,还需要通过其他面板来定位具体的问题边界,本期给大家介绍Kindling的网络详情面板。
下面是Kindling中单K8S集群下某个命名空间的调用拓扑,通过图可以看到prometheus-k8s与process-exporter的工作负载间通信SRTT比较高,可能存在物理网络的问题。那SRTT指标的变化趋势是怎样的,是否有突增现象?这个时候就可以使用网络详情面板来进一步排查了。
网络详情面板
网络详情面板主要用来查看整个集群下POD间的网络情况。在通过拓扑图找到网络指标异常的POD后,可以通过本面板来进一步排查。面板的最上面区域是检索区域。通过筛选源端工作负载和目的端工作负载,可以只查看感兴趣的工作负载下POD间的网络情况。
也可以通过面板下面的列表区域直接添加检索字段,来更细粒度的筛选感兴趣的POD。
例如查看源端POD为alertmanager-main-0的数据。
面板剩下的部分分为4个区域。下面每个区域可以解决什么问题。
整体指标区域
这个区域的指标可以用来评估整体容器网络的情况,并提供具体的SRTT指标的变化趋势。
- 重传数:展示了容器网络重传包的数量。若发生重传数突增,而整体请求量和网络流量没有突增或者错误率突增的情况下,则表示容器网络不稳定或者性能变差。需要排查物理网络的问题。
- 丢包数:展示了工作负载在处理从容器网络中接收的数据包时,在网络协议栈中丢失包的数量。若这个数量突增,表示出现了比如说缓冲区满、包非法等情况而把包丢弃,或者iptable等防火墙设置错误。
SRTT:每条线展示了工作负载之间的往返延时,即我们使用ping去探测的网络延时。SRTT过高很容易引起请求超时。
工作负载连接详情区域
该列表可以查看单个集群下有发生过通信的2个工作负载间的请求延时、SRTT、发送流量、接收流量、丢包数等。通过该表可以帮助找到应用容器网络层面问题,而造成通信性能差的具体两段的POD名称,以便我们可以有针对性的进行后面的物理网络排查。可以看到prometheus-k8s与process-exporter的SRTT比较高,和拓扑图中的一样。
重传详情区域
该列表显示了哪些POD之间有重传,可以看到发生数据包重传两端的具体信息:源端命名空间、源端工作负载、源端POD、源端IP、目的端命名空间、目的端工作负载、目的端POD、目的端IP以及具体的重传数量。可以筛选出特定范围内的POD,例如prometheus-k8s与process-exporter间工作负载的详情数据。
丢包详情区域
和上述列表一样,可以看到POD级别,只是显示的是丢包数指标。该列表显示了哪些POD之间有丢包,可以查看发生网络协议栈丢包两端的具体信息:源端命名空间、源端工作负载、源端POD、源端IP、目的端命名空间、目的端工作负载、目的端POD、目的端IP以及具体的丢包数量。
Kindling是一款基于eBPF的云原生可观测性开源工具,旨在帮助用户更好更快的定界云原生系统问题,并致力于打造云原生全故障域的定界能力。
关注我们
加入我们