我有许多与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