CloudWatch用不足的data删除警报



我有许多与DynamoDB自动升级有关的警报,这些警报显示不充分的_data。他们一起增加了我的AWS费用。

我可以删除它们吗?

我如何自动删除它们?

我在环境上遇到了相同的问题,在该环境中,我的距离为600个警报,没有足够的_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

希望这会有所帮助。

insportife_data消息仅仅是由于CloudWatch日志未在测得的时间段不活跃的结果,或者未接收到日志。例如,如果日志正在查看1分钟的时间,并且没有提交日志,则将收到此消息。

与这些日志相关的任何费用都是记录服务的费用。如果您想避免使用这些,则需要在DynamoDB上禁用CloudWatch日志。

请参考此AWS用户指南以获取更多详细信息:

https://docs.aws.amazon.com/amazoncloudwatch/latest/monitoring/alarmthatsendsemail.html

最新更新