Неполная информация в разделе SQS в сообщении, сгенерированном сигналом тревоги AWS CloudWatch

Я настроил оповещение о событиях 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: Журналы CloudTrail


person Ishu Gupta    schedule 18.09.2015    source источник
comment
Вероятно, это невозможно, так как CloudTrail передает данные в журналы CloudWatch. Затем CloudWatchLogs создает метрику в CloudWatch. Затем это может вызвать сигнал тревоги, который отправляет уведомление в SNS, который отправляет сообщение в SQS. К сожалению, информация об экземпляре не сохраняется в метрике CloudWatch, поэтому ее нельзя передать следующему процессу. Ближайший вариант — настроить Auto Scaling для отправки уведомления при завершении экземпляра, но это, вероятно, не соответствует вашему варианту использования.   -  person John Rotenstein    schedule 19.09.2015
comment
@john, ты не можешь придумать другой способ сделать это?   -  person Ishu Gupta    schedule 19.09.2015
comment
Мне в основном нужно знать информацию об узлах, автоматически завершаемых   -  person Ishu Gupta    schedule 19.09.2015


Ответы (1)


AWS CloudTrail доставляет файлы журналов в корзину Amazon S3 примерно каждые 5 минут. Затем доставку этих файлов можно использовать для «запуска» некоторого кода, который проверяет, произошло ли определенное действие. И хороший способ запустить этот код — AWS Lambda.

Основной поток:

  1. AWS CloudTrail создает файл журнала в Amazon S3
  2. Это инициирует вызов AWS Lambda с пользовательским кодом, который может определить, представляет ли событие интерес.
  3. Пользовательский код может отправлять опубликованные сообщения в Amazon SNS, которые могут доставлять сообщения по электронной почте, HTTP и т. д.

Рабочий процесс для запуска уведомления от CloudTrail

Вот две статьи, описывающие такую ​​установку:

person John Rotenstein    schedule 21.09.2015