0

Использование этого tutorial Я создал функцию лямбда, когда она не срабатывает, сигнализация облачных часов вызывает отправку SNS сообщений электронной почты с использованием показателя лямбда-ошибок. Я использую его, чтобы проверить, есть ли у каких-либо экземпляров ec2 scheduled events. Сейчас это информация CloudWatch и SNS посылает в его электронной почте:Как сменить всплывающие сообщения SNS?

Alarm Details: 
- Name:      ec2-scheduled-events-alarm 
- Description:    an ec2 instance has an upcomming scheduled event 
- State Change:    OK -> ALARM 
- Reason for State Change: Threshold Crossed: 1 datapoint (1.0) was greater than or equal to the threshold (1.0). 
- Timestamp:     Wednesday 12 September, 2016 00:16:54 UTC 
- AWS Account:    .......... 

Threshold: 
- The alarm is in the ALARM state when the metric is GreaterThanOrEqualToThreshold 1.0 for 300 seconds. 

Monitored Metric: 
- MetricNamespace:   AWS/Lambda 
- MetricName:     Errors 
- Dimensions:     
- Period:      300 seconds 
- Statistic:     Sum 
- Unit:      not specified 

State Change Actions: 
- OK: 
- ALARM: [arn:aws:sns:us-west-2:..........:ec2-scheduled-events] 
- INSUFFICIENT_DATA: 

Я хотел бы изменить это сообщение также содержит информацию от моей лямбды-скрипта (например, список из экземпляров EC2 я определил как не). Как я могу это сделать? Я предполагаю, что это связано с изменением вывода Monitored Metric:- Dimensions: как-то.

Или еще лучше, как я могу просто иметь свои сообщения электронной почты с выходом журнала моей функции лямбда?

ответ

0

Да, у вас может быть ваша лямбда-функция, опубликовав ваше собственное сообщение, которое может быть журнальной информацией. Вы не указали, какой язык вы используете, поэтому я просто собираюсь представить его с помощью python.

from __future__ import print_function 
import json 
import boto3 
import logging 
import time 
import datetime 

logger = logging.getLogger() 
logger.setLevel(logging.INFO) 

def Publish(): 
     """ 
     Send a message to the topic 
     """ 

     sns = boto3.client('sns') 
     subject = '' 
     message = 'Here is the message' 
     # You can likely insert the debugging prints from logger into the 
     # message 

     # This will have TargetArn - the arn of the topic 
     # Subject and message of the email. There are other parameters as 
     # well. Just check out boto3 sns api 

     sns.publish(
      TargetArn='arn:', 
      Subject= subject, 
      Message= message)#of email 
    return 

Я не уверен, если вы могли бы получить доступ к информации в журнале лямбда от значения по умолчанию SNS электронной почты вы показали. Вариант, который я перечислил, может быть вашим решением. Вам нужно будет создать отдельную тему SNS и подписаться на нее, так что это может быть слишком много накладных расходов на то, что вы ищете.

Надеюсь, это поможет!

(EDIT: Я понимаю, что вы спросили об этом 9 месяцев назад, так что вы, вероятно, уже выяснили это, oops.)