【发布时间】:2021-07-13 14:21:40
【问题描述】:
我必须在 INSUFFICIENT_STATE 中删除几乎 3K+ 的 Cloudwatch 警报。
所以为了解决这个问题,我 - 1.通过终端取出所有处于INSUFFICIENT状态的告警列表
aws cloudwatch describe-alarms --query 'MetricAlarms[*].AlarmName' --state-value INSUFFICIENT_DATA --output text > list.csv
- 仅通过终端针对 for 循环运行文件
for i in `cat list.csv` ;do aws cloudwatch delete-alarms --alarm-names $i ;done
- 运行此命令后,警报不会从 AWS 中删除。我用列表中的 5 个警报测试了脚本,并且同样有效。但这不适用于其中包含更多警报名称的文件。
注意-我在运行命令时没有收到任何错误。
【问题讨论】:
-
文件名中是否有特殊字符或空格?
-
您能否检查您的 CloudTrail 日志并确保已收到命令?
-
delete-alarms 的 tps 限制相当低,您可能会受到限制。如果循环,请尝试在每次迭代中添加 0.5 秒的睡眠时间。
-
文件名没有特殊字符,已验证。 @大卫韦伯斯特
-
CloudTrail 日志确实显示收到的命令@Maurice
标签: amazon-web-services aws-cli amazon-cloudwatch