You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于删除Cloudwatch中Dynamodb自动扩缩容INSUFFICIENT_DATA告警的咨询

关于删除INSUFFICIENT_DATA状态的DynamoDB扩缩容CloudWatch告警的解答

绝对可以删除这类处于INSUFFICIENT_DATA状态的CloudWatch告警!这类告警之所以会进入这个状态,通常是因为它们关联的DynamoDB表已经被删除,或者告警规则依赖的扩缩容相关指标(比如ProvisionedReadCapacityUtilization、ProvisionedWriteCapacityUtilization)再也无法被CloudWatch采集到了。留着它们只会白白消耗CloudWatch的告警存储成本,完全没有实际监控价值,所以放心删就好。

下面分享几种实现删除的方式,包括手动批量删除和自动清理方案:

方法1:用AWS CLI批量快速清理

如果你想一次性处理掉现有这类告警,可以用AWS CLI结合jq工具筛选并删除:

  1. 先列出所有符合条件的告警(这里假设告警名称包含DynamoDB扩缩容相关关键词,比如DynamoDB-Scaling-,你可以根据实际情况调整筛选逻辑):
aws cloudwatch describe-alarms --state-value INSUFFICIENT_DATA --query 'MetricAlarms[?contains(AlarmName, `DynamoDB-Scaling-`)].AlarmName' | jq -r '.[]' > dynamodb-alarms-to-delete.txt
  1. 再批量删除这些告警:
while read alarm; do
  aws cloudwatch delete-alarms --alarm-names "$alarm"
done < dynamodb-alarms-to-delete.txt

如果你的告警没有统一前缀,也可以去掉contains筛选条件,直接删除所有INSUFFICIENT_DATA状态的告警,但记得确认这些都是你不需要的哦。

方法2:用Lambda+EventBridge实现自动清理

要是想一劳永逸,以后自动清理这类无效告警,可以搭建一个自动化流程:

  1. 创建一个Lambda函数,用Python编写的示例代码如下:
import boto3

def lambda_handler(event, context):
    cloudwatch_client = boto3.client('cloudwatch')
    # 分页获取所有处于INSUFFICIENT_DATA状态的告警
    paginator = cloudwatch_client.get_paginator('describe_alarms')
    for page in paginator.paginate(StateValue='INSUFFICIENT_DATA'):
        metric_alarms = page.get('MetricAlarms', [])
        # 筛选和DynamoDB扩缩容相关的告警,可根据实际告警名称/指标调整判断条件
        target_alarms = [
            alarm['AlarmName'] for alarm in metric_alarms
            if 'DynamoDB' in alarm['AlarmName'] or 'Scaling' in alarm['AlarmName']
        ]
        if target_alarms:
            cloudwatch_client.delete_alarms(AlarmNames=target_alarms)
            print(f"成功删除 {len(target_alarms)} 个处于INSUFFICIENT_DATA状态的DynamoDB扩缩容告警")
  1. 给这个Lambda函数配置IAM权限,允许执行cloudwatch:DescribeAlarms和cloudwatch:DeleteAlarms操作。
  2. 在EventBridge创建一个定时规则(比如每天凌晨运行一次),触发这个Lambda函数,就能自动定期清理无效告警了。

方法3:通过基础设施即代码工具清理

如果你是用Terraform或CloudFormation来管理这些告警资源,直接从配置文件中移除对应的告警定义,然后执行部署命令(terraform apply或aws cloudformation update-stack),就能自动同步删除这些不再需要的告警了。

内容的提问来源于stack exchange,提问作者Jonathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:13:22