Cloudwatch使用INSUFFICIENT_DATA删除警报

时间:2018-02-26 23:52:43

标签: amazon-web-services amazon-cloudwatch

我有许多与Dynamodb自动缩放相关的警报,显示INSUFFICIENT_DATA。所有这些都会增加我的AWS成本。

我可以删除它们吗?

如何自动删除它们?

1 个答案:

答案 0 :(得分:0)

我的环境存在相同的问题,在该环境中,我有近600个INSUFFICIENT_DATA状态的警报。我确定我没有使用/不需要它们中的任何一个,所以我只运行了该脚本并将其全部删除。

//Delete CloudWatch Alarms by INSUFFICIENT_DATA

const AWS = require('aws-sdk');
AWS.config.update({
    region: 'us-east-1'
})
const cloudwatch = new AWS.CloudWatch();

const params = {
    StateValue: "INSUFFICIENT_DATA"
}

// Get Alarm Names with INSUFFICIENT_DATA state
cloudwatch.describeAlarms(params, (err, data) => {
    if (err) {
        console.log(err, err.stack);
    }
    else {
        // delete alarms
        const alarmNames = data.MetricAlarms.map(alarm => alarm.AlarmName);
        const parmasDelete = {
            AlarmNames: alarmNames
        }
        cloudwatch.deleteAlarms(parmasDelete, (err, data) => {
            if (err) console.log(err, err.stack); // an error occurred
            else     console.log(data);  
        })
    }
});

这每次只会删除50条警报,但是如果您需要增加该限制,有一种方法可以执行此操作,只需检查aws-sdk

只需将以上代码保存在文件中,然后运行以下命令:node filename.js

filename.js-是您保存脚本的文件的名称

注意:您需要在保存此脚本的同一文件夹中安装aws-sdk,可以使用以下命令进行安装:npm install aws-sdk

希望这会有所帮助。