那么为什么需要通过流量采集来解决这个问题呢?有两个方面的原因 。
第一个方面:从应用的层面无法解决问题 。从日志或代码插件很难去感知到网络层面的问题 。比如某个访问消耗了500毫秒,在网络层面是由于建连导致的时延问题?还是协议栈时延?其实在应用层并不清楚,只知道最终这个请求消耗了500毫秒 。
第二个方面:网络层的信息能提供更精确的数据 。以Nginx日志为例,当一个请求所发送的数据已在内核缓冲区里,Nginx认为已经实现了请求的完整回复,而记录了一个时延 。但是如果能从网络流量的角度去监测,会发现在实际的环境中对于这样的场景会有3~10倍时延的误差 。这说明,从网络层面去分析应用的质量、性能是必要的 。
为了实现整个业务的监控,需要在容器网络环境获取到的数据,包括Service之间访问的追踪关系;负载均衡、Service前后IP的变化关系;真实源IP与SNAT和DNAT后的变化关系 。
通过这些数据来刻画监控数据的分布,以及监控数据和网络逻辑拓扑的关联,构建网络知识图谱,实现各个纬度的可视化;同时对历史的交互数据进行回溯分析,在不同的维度(资源组维度、POD维度、服务维度)做层层的钻取来最终定位业务的性能问题,并进行证据的留存 。目前国内已有不少企业通过自己的产品赋能容器网络性能监控,例如云杉网络DeepFlow虚拟网络流量采集、可视化与监控平台,基于高效的混合云流量全网采集和时序数据存储、检索技术,提供混合云网络流量采集与分发和性能监控诊断解决方案 。
推荐阅读
- 你平时是怎么管理 Docker 容器的?还在使用一大堆的窗口和命令吗
- 穿衣搭配|职场女性穿衣有段位,从配色上就能分高下,看看你是青铜还是黄金
- 957|LOL代练最多的地方?三个前职业参加冠军杯赛,第二局就被拿下了
- 宇宙有没有开始?简述一下宇宙大爆炸理论 宇宙大爆炸理论认为
- 阿斯麦|19亿一台!ASML下一代革命性EUV光刻机:卖爆了
- 冬季防晒“停不下来” 雪地里紫外线最强
- 春季肠胃病频发 不妨试下三个食疗偏方
- 电脑右下角弹窗广告怎么关闭win10?windows10桌面弹出广告?
- 利用sql注入--拿下某违法网站数据
- Docker容器下怎样加密软件?来看硬件加密锁的方案