我想查看我的 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 命名空间中的 EBSReadOps、EBSWriteOps、EBSReadBytes 和 EBSWriteBytes 指标来计算以下指标并在 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% 指标仅适用于基本监测。