Datadog无法接收AWS CloudWatch告警的配置问题咨询
问题解答
CloudWatch告警同步至Datadog的功能完全可以正常实现,你当前配置存在多处遗漏,具体问题和修复方案如下:
1 权限配置错误
你定义的DatadogReadonlyPolicy中,CloudWatch相关操作的Resource字段错误配置为了Datadog Forwarder Lambda的ARN,这类云服务全局读取类操作的资源范围需要设置为*才能正常生效,修正后的Policy Statement示例如下:
- Effect: Allow Action: - 'cloudwatch:Get*' - 'cloudwatch:List*' - 'cloudwatch:DescribeAlarmHistory' - 'cloudtrail:LookupEvents' - 'ec2:Describe*' - 'tag:GetResources' - 'tag:GetTagKeys' - 'tag:GetTagValues' - 'support:*' Resource: '*'
另外注意原配置中ec2:Describe缺少后缀通配符,需要补全为ec2:Describe*才能正常生效。
2 Forwarder未开启CloudWatch告警转发开关
Datadog Forwarder默认不会自动转发CloudWatch告警事件,需要在Lambda的环境变量中添加DD_FORWARD_CLOUDWATCH_ALARMS: "true"开启该功能。同时你当前配置里存在无效的DD_: datadoghq.com环境变量,建议直接删除避免参数冲突。
3 缺少告警推送链路配置
你当前的CloudWatch告警没有配置通知动作,告警触发后不会主动推送给Forwarder,需要补充以下配置:
- 新增一个SNS主题,作为CloudWatch告警的通知接收端
- 在SNS主题中添加订阅,订阅协议选择Lambda,端点选择你部署的Datadog Forwarder Lambda
- 在你的
IncomingQueueHasMessagesExceptionAlarm资源配置中添加AlarmActions字段,值为上述SNS主题的ARN,也可以补充OKActions字段同步推送告警恢复的通知
4 可选:主动拉取模式配置
如果你不想用SNS推送的方式,也可以使用Datadog AWS集成的主动拉取模式,只需登录Datadog控制台,进入AWS集成的配置页面,找到CloudWatch告警收集的选项并勾选即可。该模式下Datadog会定时拉取你账号下的CloudWatch告警状态变更,无需额外配置SNS和告警动作。
内容的提问来源于stack exchange,提问作者osynavets
相关产品推荐
相关产品推荐

