未从AWS CloudWatch警报生成的消息中获取SQS主题中的完整信息

时间:2015-09-18 20:21:22

标签: amazon-web-services amazon-sqs amazon-sns amazon-cloudwatch amazon-cloudtrail

我已在CloudTrail事件上配置了警报。警报的度量标准是在日志中发现实例终止的信息时触发它。该信息向SNS主题发送消息,该主题又调用SQS。

现在一切正常。但是,当我读取SQS时,我只能看到警报的信息,但我想获得已终止的实例的详细信息。例如,下面是我看到的:

{
  "Type" : "Notification",
  "MessageId" : "1744f315-1042-5248-99a8-bd637aac7da4",
  "TopicArn" : "arn:aws:sns:us-east-1:873150696559:chefterm",
  "Subject" : "ALARM: \"terminatedchefnodes\" in US - N. Virginia",
  "Message" : "{\"AlarmName\":\"terminatedchefnodes\",\"AlarmDescription\":\"terminatedchefnodes\",\"AWSAccountId\":\"873150696559\",\"NewStateValue\":\"ALARM\",\"NewStateReason\":\"Threshold Crossed: 1 datapoint (1.0) was greater than the threshold (0.0).\",\"StateChangeTime\":\"2015-09-18T19:40:30.459+0000\",\"Region\":\"US - N. Virginia\",\"OldStateValue\":\"INSUFFICIENT_DATA\",\"Trigger\":{\"MetricName\":\"TestChefMetric\",\"Namespace\":\"CloudTrailMetrics\",\"Statistic\":\"AVERAGE\",\"Unit\":null,\"Dimensions\":[],\"Period\":900,\"EvaluationPeriods\":1,\"ComparisonOperator\":\"GreaterThanThreshold\",\"Threshold\":0.0}}",
  "Timestamp" : "2015-09-18T19:40:30.506Z",
  "SignatureVersion" : "1",
  "Signature" : "XpE8xR8S8sZPW0Yp642c2lpfiqP9qpXg1w8HCiD4YyWLRyHaQSR5RfSBk7yANJOtApw2nIUGRgpWzBE0j5RkfW4cvRrEcRLudAqO2N5QhCJfjvl48/AxWh1qmDiyrHmr0sTpSTg4zPbMQUs7nDRrW1QwQ6cqy04PTNJuZfBNfAXBlJNCkmeyJ8+klq6edmDijMy6M4D8kAUQ+trmTqTO29/jvT0+yOtBWBIOwiRDHxRfNIJ2vOWz8mjvyU43YDYZD1AG3hDBuSbs7li/8jkY7arsK2R5mDBhYI+o/w8D/W7qdBOGJlby1umVHX4mLQBwuOdLmSxN0P34cG9feuqdlg==",
  "SigningCertURL" : "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-bb750dd426d95ee9390147a5624348ee.pem",
  "UnsubscribeURL" : "https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:873150696559:chefterm:467b007c-bb58-4ad6-b05b-ccd159c0515d"
}

但我希望看到CloudTrail日志中存在的实例ID信息:CloudTrail logs

1 个答案:

答案 0 :(得分:1)

AWS CloudTrail大约每5分钟将日志文件传送到您的Amazon S3存储桶。然后,可以使用这些文件的传送来触发'一些代码,用于检查是否发生了某项活动。运行此代码的一种好方法是 AWS Lambda

基本流程是:

  1. AWS CloudTrail在Amazon S3中创建日志文件
  2. 这会触发对AWS Lambda的调用,其中包含可以确定事件是否感兴趣的自定义代码
  3. 自定义代码可以向Amazon SNS发送消息,该消息可以通过电子邮件,HTTP等方式传递消息。
  4. Workflow to trigger a notification from CloudTrail

    以下是两篇描述此类设置的文章: