如何通过AWS CDK TypeScript为CloudWatch仪表盘启用信息(i)按钮
CloudWatch仪表盘小部件缺失指标信息“i”按钮问题
我用AWS CDK TypeScript创建了CloudWatch仪表盘,但小部件右上角看不到用来查看指标信息的“i”按钮。正常显示该按钮的小部件截图:
通过CDK创建的缺失按钮的小部件截图:
解决办法
- 确认小部件类型:只有**指标小部件(Metric Widget)**才会显示这个信息按钮,文本、自定义HTML等非指标类小部件不会有该按钮。
- 使用完整
Metric实例定义指标:CDK创建时必须通过cloudwatch.Metric类构建指标,不能直接用查询表达式字符串,否则CloudWatch无法识别指标元数据,不会显示“i”按钮。
正确示例:
错误示例(无信息按钮):const cpuMetric = new cloudwatch.Metric({ namespace: 'AWS/EC2', metricName: 'CPUUtilization', dimensionsMap: { InstanceId: 'i-1234567890' }, statistic: cloudwatch.Statistic.AVERAGE, period: cdk.Duration.minutes(5), }); const widget = new cloudwatch.GraphWidget({ title: 'EC2 CPU使用率', left: [cpuMetric], });const widget = new cloudwatch.GraphWidget({ title: 'EC2 CPU使用率', left: [{ expression: 'SELECT AVG(CPUUtilization) FROM "AWS/EC2" WHERE InstanceId = \'i-1234567890\'' }], }); - 确保指标传递完整:不管是通过
left/right数组还是addMetric方法,都要传入完整的Metric实例,不能简化参数。 - 检查IAM权限:创建仪表盘的身份需要拥有
cloudwatch:GetMetricData和cloudwatch:ListMetrics权限,权限不足也会导致按钮不显示。
内容的提问来源于stack exchange,提问作者YJM
相关产品推荐
相关产品推荐

