Как отправить оповещение на основе сообщения журнала в CloudWatch - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть лямбда, которая отправляет в STDERR, когда данная операция завершается неудачей, что-то вроде:

async function handler(event, context) {
  const success = do()
  if (success) {
    return { statusCode: 200 }
  }
  console.error('Failed :(')
  return { statusCode: 400 }
}

Это очень упрощено, но вы поняли идею. Естественно, это сообщение появится в CloudWatch. Я хотел бы знать, возможно ли (и как) настроить CloudWatch Alarm для отправки мне электронного письма, если это сообщение появляется в моих журналах.

Я прочитал документы о тревогах CloudWatch, но это очень загроможденный и трудно найти что-нибудь там.

1 Ответ

1 голос
/ 11 февраля 2020

Это в основном трехступенчатый процесс.

  1. Вам необходимо создать Metri c Filter из ваших журналов. Это позволит вам создать метри c всякий раз, когда в вашем журнале появляется «ошибка» (или любое другое условие, которое вы хотите). В этом случае имя metri c обычно будет выглядеть как «Ошибки», но есть пространство имен, полностью ваше. В это место вы добавляете что-то вроде «/ my-organization / my-service» или что-то еще, что имеет для вас смысл.
  2. Создайте Metri c Alarm . Этот сигнал тревоги, где вы будете указывать, какие условия вызывают сигнал тревоги. Например, если есть 1 ошибка в любые 2 минуты. Этот сигнал тревоги будет направлен на новый показатель c, созданный на предыдущем шаге.
  3. Отправьте сигнал тревоги на номер SNS topi c.
  4. Подпишитесь на SNS topi c со своей электронной почтой.
...