TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

CloudWatch оповещает Pushbullet через SNS и AWS Lambda

378

При настройке сигналов тревоги Amazon CloudWatch я заметил, что они переходят к теме простой службы уведомлений ( SNS ). Оттуда можно получать оповещения по электронной почте, но лямбда-функция также является одним из вариантов . Поскольку я уже использую Pushbullet и у них есть API, я решил, что безсерверная функция Node.js может отправлять мне уведомления . В этом руководстве я собираюсь показать вам, как отправлять сигналы CloudWatch в Pushbullet, чтобы получать мгновенные уведомления о состоянии экземпляров EC2. Я думаю, что мы делаем себе одолжение, изучая трендовые технологии, я имею в виду, насколько горячими становятся эти сервисы:

Почему Pushbullet?

Я уже написал статью о Pushbullet и его API, поэтому сначала проверьте это, если вы не знакомы с ним. Теперь я чувствую, что круг завершен, потому что я могу наконец показать вам реальный пример использования. Их push-уведомления на моем телефоне особенные, потому что я или мои сценарии отправляем их. Электронные письма могут быть потеряны, но, по крайней мере, на Android можно контролировать, как ведут себя различные виды уведомлений. Следовательно, я настроил толчки Pushbullet, чтобы иметь большее значение, чем другие.

Что еще? Я еще не нашел хорошую альтернативу. Единственное, я мог бы найти способ кажется слишком сложным для этой простой задачи. К сожалению, приложение AWS Console не отправляет мне уведомления.

CloudWatch Alarms

Хотя процесс настройки аварийных сигналов CloudWatch стоит отдельной статьи, вот соответствующая часть. Убедитесь, что тема SNS получит состояние «in Alarm», затем нажмите «Создать тему» :

Сигнализация CloudWatch для SNS

Если вы нажмете « Добавить уведомление», вы можете создать дополнительные нажатия, например, когда сигнал тревоги вернется в состояние «ОК». Это может быть полезно для других метрик, которые могут разрешаться самостоятельно, таких как память и процессор.

AWS Lambda

Перейдите в Консоль управления Lambda (проверьте свой регион). В основе этого лежит функция Node.js, поэтому создайте ее следующим образом:

Создать функцию AWS Lambda Node.js

Настройки по умолчанию в порядке везде, кроме того, что стоит установить имя и этот код:

{ "Records": [ { "Sns": { "Subject": "Test Subject", "Message": "Test Message" } } ] }

Вот функция Node.js, которую вы ждали:

Ниже приведено содержание сигнала тревоги CloudWatch, поступающего от SNS. Вы можете видеть, что это наиболее значимое свойство (в данном примере это мало места на диске):event.Records[0].Sns.Message``NewStateReason

Когда SNS подключится к этой функции, рисунок будет выглядеть так:

CloudWatch сигнализирует о Pushbullet через SNS и AWS Lambda

Простая служба уведомлений

Наконец, шаг, где соединение CloudWatch Alarms с Pushbullet собирается вместе! Думайте о SNS как о центральном узле, куда поступают программные сообщения от других служб. В то же время они выходят и при подписке на них по разным каналам. Простое использование – «получать электронную почту, когда что-то идет не так». Однако мы дополняем это push-уведомлением через функцию lambda. Перейдите в SNS -> Подписки (убедитесь, что ваш регион правилен) и нажмите « Создать подписку» . К счастью, поля помочь вам авто завершения, так что найти в теме ARN и конечную точку из списка не должно быть трудно.

SNS в AWS Lambda

тестирование

Одно дело, что лямбда-функция отправляет вам эти тестовые уведомления, но требуется дальнейшее тестирование.

  • Выберите строку, которую вы создали. Затем нажмите Опубликовать сообщение и заполните его произвольным содержимым. Вы должны получить электронное письмо и сообщение с тем, что вы ввели в качестве темы и сообщения. Если это работает, вы можете повторно использовать функцию Pushbullet для других тем SNS.
  • Временно понизьте пороговое значение в вашей тревоге, поэтому CloudWatch сам пингует SNS. Обратите внимание, что, возможно, он настроен на действия только тогда, когда проблема возникла некоторое время. Из-за этого толчок может показаться отложенным.

Сводка полной цепочки сигналов тревоги CloudWatch для цепи Pushbullet

  1. Экземпляр предоставляет данные об использовании памяти и диска EC2 для CloudWatch. Что-то идет плохо … ИЛИ возвращается к нормальной жизни !
  2. Сигнализации CloudWatch Триггеры и уведомляет темы SNS .
  3. SNS отправляет вам электронное письмо, а также запускает функцию AWS Lambda .
  4. Функция Node.js связывается с API Pushbullet и передает сообщение.
  5. Ваш телефон звонит в ответ на событие. Ура!

CloudWatch сигнализация в Pushbullet

Источник записи: https://letswp.io

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее