采取网络监控程序的原因有哪些?

企业需要认识到网络范围的流量收集的重要性,简而言之,在微服务场景中需要考虑服务与服务之间的调用关系,这等效于跟踪调用堆栈。实际上服务之间的访问实际上就是POD和POD之间的访问,这意味着可以直接在网络级别查看其相互访问流量,下面一起来了解一下采取网络监控程序的原因有哪些?

1、无法从应用程序级别解决问题

从日志或代码插件很难感知网络级的问题,例如某个访问耗时在网络级别时间延迟是由建立连接引起的或者还是协议栈延迟?实际上在应用程序层尚不清楚,仅请求花费的毫秒。因此可以通过网络流量收集直接获得服务的调用堆栈,甚至更具说明性:流量收集可以解决容器网络的可观察性问题。

2、网络层信息可以提供更准确的数据

当请求发送的数据已经在内核缓冲区中时已经完成对该请求的完整响应并记录延迟,但是如果可以从网络流量的角度进行监视,则会发现在实际环境中此类场景的延迟误差会比较大。这表明有必要从网络级别分析应用程序的质量和性能。为了监视整个业务用户需要在容器网络环境中获取数据,包括服务之间的跟踪关系、负载均衡,服务前后IP之间的关系发生变化,真正的源IP与SNAT和DNAT的关系发生变化。

总而言之,采取网络监控程序的原因有无法从应用程序级别解决问题和网络层信息可以提供更准确的数据。使用这些数据来表征监视数据的分布以及监视数据与网络逻辑拓扑之间的关系,构造网络知识图并实现各种纬度的可视化。同时对历史交互数据的回顾分析以不同的维度(资源组维度,POD维度,服务维度)进行深入研究以定位业务绩效问题并保留证据。