You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CloudWatch日志中失败SNS消息日志格式配置咨询

CloudWatch日志中失败SNS消息日志格式配置咨询

嗨,这个需求完全可以实现!你不用再挨个查45个数据库了——SNS支持配置投递状态日志,让失败消息的CloudWatch日志自动带上Topic ARN和Subscription ARN。下面是具体的实现方式:

核心思路

SNS的**投递状态日志(Delivery Status Logging)**功能允许你自定义日志中包含的元数据,其中就包括你需要的Topic ARN和Subscription ARN。默认情况下可能没开启这些字段,但通过简单配置就能添加上。

具体配置步骤

1. 通过AWS控制台配置

  • 打开SNS控制台,找到你要监控的主题(如果是多个主题,也可以批量配置)
  • 进入主题的配置标签页,找到「投递状态日志」板块
  • 点击「编辑」,首先确保已经启用了投递状态日志(选择对应的CloudWatch日志组,以及具备权限的IAM角色)
  • 在「日志格式」选择JSON(和你现在收到的格式一致),然后勾选「包含Topic ARN」和「包含Subscription ARN」选项
  • 保存配置后,新的失败投递日志就会自动带上这两个字段

2. 通过CLI/API配置

如果需要批量自动化配置,可以用AWS CLI或者SDK调用对应的接口:

  • 对于主题,使用aws sns set-topic-attributes命令,设置LoggingConfig属性,指定includeTopicArn=true和includeSubscriptionArn=true:
aws sns set-topic-attributes \
  --topic-arn arn:aws:sns:us-east-1:123456789012:your-topic \
  --attribute-name LoggingConfig \
  --attribute-value '{"CloudWatchLogsLogGroupArn":"arn:aws:logs:us-east-1:123456789012:log-group:your-log-group:*","IncludeTopicArn":true,"IncludeSubscriptionArn":true}'
  • 对于单个订阅,也可以用aws sns set-subscription-attributes单独配置订阅的日志属性

配置后的日志示例

配置完成后,你收到的失败日志会新增对应的ARN字段,大概是这样:

{
  "notification": {
    "messageId": "9f807381-7795-5cbd-af1a-2db23e0c112c",
    "timestamp": "2024-01-30 19:00:41.925",
    "topicArn": "arn:aws:sns:us-east-1:123456789012:your-app-topic",
    "subscriptionArn": "arn:aws:sns:us-east-1:123456789012:your-app-topic:xxxx-xxxx-xxxx"
  },
  "delivery": {
    "phoneCarrier": "T-mobile USA Inc.",
    "mnc": 800,
    "numberOfMessageParts": 1,
    "destination": "+1xxxxxxxxxx",
    "priceInUSD": 0.00831,
    "smsType": "Transactional",
    "mcc": 310,
    "providerResponse": "Phone has blocked SMS",
    "dwellTimeMs": 0,
    "dwellTimeMsUntilDeviceAck": 1304
  },
  "status": "FAILURE"
}

注意事项

  • 确保配置的IAM角色具备SNS写入CloudWatch日志的权限,以及CloudWatch日志组的写入权限
  • 如果是跨账号的主题或订阅,需要额外配置跨账号的权限策略,保证日志能正常投递到你的CloudWatch日志组
  • 配置生效后,只有新产生的失败日志会带上ARN字段,历史日志不会自动更新

这样一来,你就能直接通过日志里的Topic ARN或Subscription ARN快速定位到对应的应用,不用再折腾45个数据库啦!

备注:内容来源于stack exchange,提问作者Haiyu Hou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 10:25:29