如何使用 CloudWatch 查看 EC2 实例的聚合 Amazon EBS 性能指标?

2 分钟阅读
0

我想查看我的 Amazon Elastic Compute Cloud(Amazon EC2)实例的 Amazon Elastic Block Store(Amazon EBS)的性能指标。

概述

Amazon EC2 实例的 Amazon EBS 卷带宽有限。对于 Amazon EBS 优化实例,EBS I/O 流量使用专用带宽。为方便了解实例是否存在预配置不足或过度的情况,请监控所有连接的 EBS 卷的聚合性能。对于 Nitro 实例,使用 Amazon CloudWatch 查看 Amazon EBS 性能指标,例如每秒 I/O 操作数(IOPS)和吞吐量。

**注意:**要发布基于 Xen 的实例的自定义 CloudWatch 指标,请参阅 AWS Knowledge Center 中有关 Linux 实例Windows 实例的文章。

解决方法

以下解决方案不受操作系统(OS)影响,适用于所有基于 Nitro 平台的 EC2 实例。该解决方案使用 AWS/EC2 命名空间中的 EBSReadOpsEBSWriteOpsEBSReadBytesEBSWriteBytes 指标来计算以下指标并在 CloudWatch 中绘制相应图表。此任务使用 CloudWatch 中的指标数学功能

  • 平均读取 IOPS =(EBSReadOps)总和/时长
  • 平均写入 IOPS =(EBSWriteOps)总和/时长
  • 平均总 IOPS =((EBSReadOps)总和 +(EBSWriteOps)总和)/时长
  • 平均读取吞吐量 =(EBSReadBytes)总和/时长
  • 平均写入吞吐量 =(EBSWriteBytes)总和/时长
  • 平均总吞吐量 = ((EBSReadBytes)总和 +(EBSWriteBytes)总和)/时长

此方法为某些 *.4xlarge 实例绘制了以下突发指标。此方法还为小型实例绘制了这些突发指标,这些小型实例在至少每 24 小时内仅有 30 分钟可迸发出最大性能:

  • EBSIOBalance%
  • EBSByteBalance%

绘制所有相关指标的图表

1.    打开 CloudWatch 控制台。从导航栏中选择您所在的 AWS 区域。

2.    在导航窗格中,选择 Metrics(指标),然后选择 All metrics(所有指标)。

3.    选择 Source(来源),然后输入以下 CloudWatch 来源:

{
    "metrics": [
        [ "AWS/EC2", "EBSIOBalance%", "InstanceId", "INSTANCE_ID", { "id": "m1", "visible": false } ],
        [ ".", "EBSByteBalance%", ".", ".", { "id": "m2", "visible": false } ],
        [ ".", "EBSReadOps", ".", ".", { "id": "m3", "stat": "Sum", "visible": false } ],
        [ ".", "EBSWriteOps", ".", ".", { "id": "m4", "stat": "Sum", "visible": false } ],
        [ ".", "EBSReadBytes", ".", ".", { "id": "m5", "stat": "Sum", "visible": false } ],
        [ ".", "EBSWriteBytes", ".", ".", { "id": "m6", "stat": "Sum", "visible": false } ],
        [ { "expression": "m3/PERIOD(m3)", "label": "Avg Read IOPS", "id": "r_io", "visible": false } ],
        [ { "expression": "m4/PERIOD(m4)", "label": "Avg Write IOPS", "id": "w_io", "visible": false } ],
        [ { "expression": "(m3+m4)/PERIOD(m3)", "label": "Avg Total IOPS", "id": "t_io" } ],
        [ { "expression": "(m5/PERIOD(m5))/1024^2", "label": "Avg Read Throughput (MiB/s)", "id": "r_tp", "visible": false } ],
        [ { "expression": "(m6/PERIOD(m6))/1024^2", "label": "Avg Write Throughput (MiB/s)", "id": "w_tp", "visible": false } ],
        [ { "expression": "((m5+m6)/PERIOD(m5))/1024^2", "label": "Avg Total Throughput (MiB/s)", "id": "t_tp" } ]
    ],
    "view": "timeSeries",
    "stacked": false,
    "period": 300,
    "title": "EC2 aggregate EBS graphs"
}

**注意:**将实例 INSTANCE_ID 替换为您的实例 ID。

4.    选择 Update(更新)。

5.    在 Graphed metrics(已绘制指标)选项卡中,选中要查看的指标旁边的复选框。

6.   (可选)要为其中任何指标设置警报,请选择操作列下的钟形图标。

如果实例运行的区域与在 CloudWatch 控制台中选择的区域不同,则图表会显示为空白。

默认情况下,EC2 指标每隔 5 分钟提供一次基本监测。如需将间隔调整为 1 分钟,请启用详细监测EBSIOBalance%EBSByteBalance% 指标仅适用于基本监测。

AWS 官方
AWS 官方已更新 1 年前