【问题标题】:Network data out - nmon/nload vs AWS Cloudwatch disparity网络数据输出 - nmon/nload 与 AWS Cloudwatch 差异
【发布时间】:2021-09-05 06:22:13
【问题描述】:

我们在 EC2 实例中运行视频会议服务器。

由于这是一个数据输出(出口)繁重的应用程序,我们希望密切监控网络数据(因为我们为此付出了高昂的费用)。

如上面的屏幕截图所示,在我们的测试中,在我们的 EC2 服务器中使用 nmon(右上角)或 nload(左)显示网络输出为 138 Mbits/s 和 nmon 中 17263 KB/s 非常接近 (138/8 = 17.25)。

但是,当我们在 AWS Cloudwatch(右下)中检查网络(字节)时,显示的数字非常高(~ 1 GB/s)(这对我们正在运行的测试更有意义),这就是我们最终收取的费用。

为什么 nmon/nload 和 AWS Cloudwatch 之间存在如此大的差异? 我们在这里缺少一些理解吗?我们是否没有正确查看 AWS Cloudwatch 指标?

感谢您的帮助!

编辑:

添加更长测试的屏幕截图,显示 AWS Cloudwatch 中的平均网络输出指标在测试期间保持在 1 GB 左右,而 nmon 显示平均网络输出为 15816 KB/s。

【问题讨论】:

  • 您显示的 CW 屏幕截图是 5 分钟内的平均网络输出字节数。
  • @jellycsc - 但是,在屏幕截图中显示 -> 统计:平均和周期:1 秒。
  • 我知道。尽管您选择了1 second,但数据不会以该频率捕获或推送到 CW。您可以在 CW 图中看到数据点相隔大约 5 分钟。
  • 好的。即使是平均 5 分钟,与 nmon 数据相比,我也不确定如何理解它。在我们的测试中,我们看到 CW 图在测试持续时间(当我们选择指标 - 统计:平均 & 周期:1 秒时)平坦为 1 GB。但是,nmon 仍然显示平均网络速度在 15-18 MB/s 左右。
  • @jellycsc - 添加了一个屏幕截图,显示更长测试持续时间的数据。

标签: amazon-web-services monitoring amazon-cloudwatch video-conferencing network-monitoring


【解决方案1】:

来自AWS docs

NetworkOut:实例在所有网络接口上发出的字节数。此指标标识来自单个实例的传出网络流量。 报告的数字是在此期间发送的字节数。如果您使用的是基本(五分钟)监控,您可以将此数字除以 300 以找到 Bytes/second。如果您有详细的(一分钟)监控,请将其除以 60。

在您的情况下,NetworkOut 图表不代表当前速度,它代表过去 5 分钟内所有网络接口发送的字节数。如果我的计算是正确的,我们应该得到以下值:

1.01 GB ~= 1027 MB (reading from your graph)

To get the average speed for the last 5 minutes:

1027 MB / 300 = 3.42333 MB/s ~= 27.38 Mbits/s

尽管这只是过去 5 分钟的平均值,但仍超出您的预期。

【讨论】:

  • 感谢您的回答,欧文。我也有同样的想法并进行了类似的计算,但仍然发现 Cloudwatch 指标与 nmon 或 nload 显示的有所不同。 nload 显示此测试的平均速度约为 100+ Mbits/s。
【解决方案2】:

刚刚想出了这个问题的答案。

以下链接讨论了 AWS 中的数据捕获周期: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html

期间

期间是与特定的时间相关联的时间长度 Amazon CloudWatch 统计数据。每个统计数据代表一个聚合 在指定时间段内收集的指标数据。时期 以秒数定义,周期的有效值为 1, 5、10、30 或 60 的任何倍数。例如,指定一个周期 六分钟,使用 360 作为周期值。您可以调整数据的方式 通过改变期间的长度来汇总。一个时期可以是 短至一秒或长至一天(86,400 秒)。这 默认值为 60 秒。

仅使用您定义的存储分辨率为 1 的自定义指标 第二个支持亚分钟周期。即使选项设置一个 低于 60 的期间始终在控制台中可用,您应该选择 与度量标准的存储方式一致的时间段。了解更多信息 关于支持亚分钟周期的指标,请参阅高分辨率 指标。


如上面的链接所示,如果我们不使用自定义周期设置自定义指标,AWS 默认不会捕获亚分钟数据。因此,可用数据的最低分辨率是每 1 分钟一次。

因此,在我们的例子中,60 秒内的网络输出数据被聚合并捕获为单个数据点。

即使我将统计数据更改为 平均 并将周期更改为 1 秒,它仍然会显示每 1 分钟的数据。

现在,如果我将 1.01 GB(由 AWS 显示)除以 60,我得到的每秒数据大约为 16.8 MBps,这与 nmon 或 nload 显示的数据非常接近。

【讨论】:

    猜你喜欢
    • 2019-11-30
    • 1970-01-01
    • 1970-01-01
    • 2017-12-14
    • 2018-08-03
    • 2016-03-20
    • 2022-12-23
    • 1970-01-01
    • 2015-05-12
    相关资源
    最近更新 更多