Уведомления AWS Eventbridge Не работают С Использованием темы SNS

0

Вопрос

Я хочу получать уведомления от AWS Eventbridge, когда запланировано событие для моего экземпляра Amazon Elastic Compute Cloud (Amazon EC2).

enter image description here

Я создал правило Eventbridge и установил цель на уже работающую тему SNS. Тема SNS подписана на рабочую функцию Lambda, которая уже используется для других предупреждений "Cloudwatch to slack". Настройка моста событий выглядит следующим образом:

{
  "source": ["aws.health"],
  "detail-type": ["AWS Health Event"],
  "detail": {
    "service": ["EC2"],
    "eventTypeCategory": ["scheduledChange"]
  }
}

enter image description here

enter image description here

Я уже получил уведомление о запланированном техническом обслуживании(перезагрузке) EC2 по электронной почте от AWS, но созданный мною мост событий не сработал для этого и не отправил никакого уведомления на канал slack.

Теперь я не уверен, что что-то упускаю в обстановке. Я устанавливаю его в первый раз, и нет способа просто проверить его с помощью поддельного ввода. Это должно работать, даже если есть одно событие расписания, которое отображается в значке верхнего звонка(как показано на скриншоте выше), правильно?

2

Лучший ответ

1

Чтобы выяснить основную причину этой проблемы, я предлагаю взглянуть на показатели использования CloudWatch для SNS. SNS сообщает следующие показатели, которые могут быть полезны для вас: NumberOfMessagesPublished, NumberOfNotificationsDelivered NumberOfNotificationsFailed. Если вы обнаружите, что эти показатели указаны, и их значение отличается от 0, это означает, что SNS получает события от моста событий, и проблема в другом месте.

Если вы используете Лямбда-код для отправки сообщений Slack, вам следует просмотреть журналы в CloudWatch, чтобы убедиться, что Лямбда-код был выполнен успешно. Возможно, вам захочется ознакомиться с настройкой Lambda, рекомендованной AWS: (ссылка)

Для дальнейшей отладки вы, возможно, захотите проверитьtest-event-pattern Команда CLI.

Это должно работать, даже если есть одно событие расписания, которое отображается в значке верхнего звонка(как показано на скриншоте выше), правильно?

Да, это должно сработать, даже если уже есть событие.

2021-11-17 16:31:10

Спасибо тебе, Эрвин, за хороший вклад. Можете ли вы проверить скриншоты? c2n.me/4e2fqht c2n.me/4e2fqrR Не могли бы вы помочь мне в дальнейшем?. Он показывает опубликованное и доставленное значение 1. Это значит работать, верно?. Но я ничего не вижу на своем канале slack.
JohnW

Я вижу, что у вас есть событие обслуживания от CloudWatch, хотя я не вижу значений для успешной публикации или сбоев SNS. Пожалуйста, проверьте, есть ли у вас Лямбда или что-то еще, подписанное на тему SNS.
Ervin Szilagyi

Хм, тема SNS уже подписана на функцию lambda, и они уже используются для отключения некоторых сигналов тревоги CloudWatch. Как вы думаете, нужно ли указывать какую-либо роль IAM между AWS Eventbridge и SNS или между AWS Eventbridge и Lambda?.
JohnW
0

У меня аналогичная проблема с правилом eventbridge, созданным с помощью cloudformation. Мне пришлось вручную войти в правило eventbridge через консоль AWS, перейти к триггеру и снова выбрать тему SNS. Теперь это работает. Мне потребовалось некоторое время, чтобы понять это. Можете ли вы подтвердить, что исправление сделало это за вас, так как я не знаю, как это исправить...

2021-11-17 16:19:53

Пожалуйста, не размещайте свои вопросы в разделе ответов!
Talha Tayyab

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................