开发者社区 问答 正文

为什么云监控中的ECS带宽和ECS控制台中看到的带宽不一致


云监控中的ECS带宽和ECS控制台中看到的带宽不一致,用户收到的云监控报警内容如下:

可以看到云监控报警,在11月15号9:10分,服务器的外网出带宽超过15000Kbps.


但是通过控制台查看到9:10的外网带宽使用率不到100kbps。
这个两个数值不相符。

原因:
经过排查可以确认,用户的服务器是在SLB后端的ECS服务器,并且使用的7层http的转发模型。
使用这种转发模型,SLB进来的流量请求到ECS,ECS走外网带宽响应给用户,这个响应占用的带宽,在ECS控制台中是看不到的,它是计入到SLB使用的出流量中。

通过后台可以看到SLB在对应的时间点的出流量是28144kb/s。如果在SLB中使用会话保持的话,后台使用两台ECS服务器,那么通常的负载不会完全均衡,这个时候28144/2=14072kbps,此时其中某台服务器的出带宽使用率超过15000kbps是有很大概率的。
此时用户可以通过SLB的控制台--》【监控指标】--》【流出流量】可以看具体的带宽使用情况。


如果问题还存在,请联系 阿里云售后支持

展开
收起
boxti 2017-10-20 14:27:02 2229 分享 版权
阿里云 AI 助理回答

根据您描述的情况,云监控中显示的ECS外网出带宽与ECS控制台显示的带宽使用率不一致,主要是因为您的ECS实例部署在负载均衡SLB之后,并且使用的是7层(HTTP/HTTPS)转发模式。在这种架构下,流量的行为和计费逻辑有其特殊性:

  1. 流量进入方式:客户端的请求首先到达SLB,然后SLB根据配置的转发规则将请求分发到后端的ECS实例。这部分进入ECS的流量,在ECS的控制台是可以观测到的,表现为流入流量。

  2. 流量响应方式:关键差异在于ECS响应客户端请求时的流量路径。当ECS通过外网响应客户端(即使原始请求是通过SLB进入的),这部分响应流量并不计入ECS控制台直接展示的“外网带宽使用率”中。相反,它会计入SLB的出流量。这是因为从ECS到客户端的响应路径被视为独立于ECS直接接收的流量。

  3. 监控与报警差异原因:云监控报警所依据的数据包含了ECS直接对外响应的流量,这部分数据在ECS控制台的常规带宽监控中可能未被充分反映。因此,当云监控报告ECS外网出带宽超过设定阈值时,这实际上包括了所有直接由ECS响应给客户端的流量,而不仅仅是通过ECS控制台直观看到的那部分。

  4. 解决方案与建议

    • 查看SLB的监控指标,特别是“流出流量”,以获取更全面的流量情况。
    • 考虑调整监控策略或报警阈值,确保它们与您的业务需求和预期流量模型相匹配。
    • 如果持续存在疑惑或问题,及时联系阿里云售后支持,提供详细情况以便获得专业的帮助和指导。

综上所述,这种差异源于流量在通过SLB和ECS之间的处理方式不同,理解这一机制对于正确解读监控数据至关重要。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答