Рубрики
Uncategorized

Как отправить тревоги AWS CloudWatch в Slack

Системы тревоги и мониторинга являются ключевой частью зрелых продуктов и приложений … Помечено начинающими, DevOps, с открытым исходным кодом, как.

Системы тревоги и мониторинга являются ключевой частью зрелых продуктов и приложений. Если вы беспокоитесь о своих клиентах, лучше быть уведомленным, когда что -то пойдет не так, то будьте в темноте. Если вы размещаете свою инфраструктуру на AWS, единственный один из способов получить полные показатели ваших подержанных служб — это использовать CloudWatch. AWS CloudWatch не только дает вам доступ к метрикам, но также создает тревоги для конкретных случаев. Но если вы работали с AWS, прежде чем вы, несомненно, заметили, что интерфейс и некоторые функции далеки от «удобного для пользователя», что означает, что отправка уведомления с тревогами в Slack не тривиальная задача.

Эта статья показывает секреты, которые вы должны знать, чтобы настроить необходимые вам тревоги за пять минут. Для тех из вас, кто хотел бы увидеть все в действии, пожалуйста, посмотрите наш Видео учебник Анкет

Есть несколько шагов, которые нам нужно будет пройти, чтобы это произошло:

  • Создайте ключ AWS Access и секрет
  • Создать роль
  • Развернуть функцию лямбды
  • Создайте тему SNS и подписку
  • Создайте тревогу CloudWatch

1. Создайте AWS Access Key и Secret

Если у вас уже есть ключ и секрет AWS, вы можете пропустить этот шаг. В противном случае следуйте этому Ссылка Анкет Выберите своего пользователя, затем перейдите на вкладку «Учетные данные безопасности» и нажмите Ключ «Создать доступ».

Скопируйте ключ AWS Access и Secret; Мы будем использовать их во время настройки развертывания функции Lambda.

Создать роль

Роль будет использоваться вашей функцией Lambda и требует разрешения на выполнение определенных вещей. Следуйте этому связь Затем нажмите «Создать роль».

Выбрал Lambda из списка.

Найдите awslambdabasicexecutionrole и выберите его.

Наконец, введите имя роли, такое как «CloudWatch-To-Slack-Role», нажмите на недавно созданную роль в списке и скопируйте имя ARN. Мы будем использовать его на шаге 3 во время развертывания функции Lambda.

3. Развернуть функцию лямбды

Чтобы развернуть функцию AWS Lambda, вам нужно клонировать Репозиторий и установить node.js на местной машине. Особенно для этого руководства мы внесли значительный вклад в репозиторий, чтобы получить лучший процесс конфигурации.

git clone git@github.com:assertible/lambda-cloudwatch-slack.git
cd lambda-cloudwatch-slack
cp .env.example .env

Откройте свой файл .env и заполните переменные среды.

Uncrypted_hook_url Эта переменная, которую вы должны заполнить с помощью входящего веб -крючка; Создайте новый для CloudWatch на Эта страница для вашей организации

Следуйте практике использования одного крючка для одной конкретной службы. После создания веб -крючка выберите канал, затем публикуйте уведомления, создайте имя пользователя (заголовок для сообщений) и, конечно же, добавьте красивую картинку. Загрузите логотип CloudWatch по ссылке здесь

Aws_function_name Имя вашей функции, которая будет объявлена на вашей странице функции AWS Lambda. Давайте назовем это «CloudWatch-To-Slack».

Aws_region = eu-west-1 Выбрал область функции лямбды.

AWS_ROLE = «ARN: AWS: IAM:: 123456789123: ROLE/LAMBDA_EXEC_ROLE» Скопируйте идентификатор ARN со второго шага здесь.

AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY Заполните ключ AWS Access и секрет своими ключами с первого шага.

Теперь мы готовы развернуть; Просто выполните следующую команду в вашем терминале из папки с помощью репозитория, которое мы клонировали:

npm install
npm run deploy

Если все прошло хорошо, вы сможете найти свою свежую установленную функцию на странице Lambda в AWS.

4. Создайте тему SNS и подписку

Просмотрите AWS в простую службу уведомлений. По иронии судьбы, этот сервис совсем не прост, особенно терминология, которую они используют, и шаги, которые вы должны пройти.

Перейдите к темам и нажмите «Создать новую тему». Я выбрал имя «CloudWatch-Alarms» для уведомления, которое будет отправлено.

Откройте созданную тему и создайте подписку.

Выберите AWS Lambda в качестве вашего протокола и выберите конечную точку с именем вашей функции.

Вот и все; Теперь мы готовы создать тревогу.

5. Создайте тревогу CloudWatch

Перейдите по CloudWatch в свою учетную запись AWS и нажмите «Создать тревогу».

Выбрали метрику, которую вы хотели бы отслеживать, определить конфигурацию тревоги и выберите имя темы SNS в разделе «Уведомление о отправке».

Я рекомендую вам специально определить условия, которые немедленно бросят тревоги для целей тестирования вашей функции. Если все настроено правильно, вы увидите сообщение в своем канале Slack.

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

Дополнительные заметки : По умолчанию AWS Lambda имеет чертежи, которые позволяют вам делать разные вещи с простой конфигурацией, и в этих чертежах вы даже можете найти функцию CloudWatch-To-Slack. К сожалению, это отправляет очень плохие, неструктурированные данные в канал.

Оригинал: «https://dev.to/alex_barashkov/how-to-send-aws-cloudwatch-alarms-to-slack-596e»