我正在尝试组织大量 CloudWatch 警报以实现可维护性,并且 Web 控制台在编辑时将名称字段变灰。是否有另一种方法(最好是可编写脚本的方法)来更新 CloudWatch 警报的名称?除了简单的可执行脚本之外,我更喜欢不需要任何编程的解决方案。
问问题
2817 次
3 回答
5
这是我们暂时用来执行此操作的脚本:
import sys
import boto
def rename_alarm(alarm_name, new_alarm_name):
conn = boto.connect_cloudwatch()
def get_alarm():
alarms = conn.describe_alarms(alarm_names=[alarm_name])
if not alarms:
raise Exception("Alarm '%s' not found" % alarm_name)
return alarms[0]
alarm = get_alarm()
# work around boto comparison serialization issue
# https://github.com/boto/boto/issues/1311
alarm.comparison = alarm._cmp_map.get(alarm.comparison)
alarm.name = new_alarm_name
conn.update_alarm(alarm)
# update actually creates a new alarm because the name has changed, so
# we have to manually delete the old one
get_alarm().delete()
if __name__ == '__main__':
alarm_name, new_alarm_name = sys.argv[1:3]
rename_alarm(alarm_name, new_alarm_name)
它假定您在具有允许此操作的角色的 ec2 实例上,或者您有一个带有您的凭据的 ~/.boto 文件。手动添加你的很容易。
于 2014-12-15T16:21:28.903 回答
2
不幸的是,目前看来这是不可能的。
于 2013-10-25T16:55:09.720 回答
2
我四处寻找相同的解决方案,但似乎控制台和 cloudwatch API 都没有提供该功能。
笔记:
但是我们可以使用相同的参数复制现有的 alram 并且可以保存新名称
.
于 2019-03-29T19:06:31.987 回答