Системы тревоги и мониторинга являются ключевой частью зрелых продуктов и приложений. Если вы беспокоитесь о своих клиентах, лучше быть уведомленным, когда что -то пойдет не так, то будьте в темноте. Если вы размещаете свою инфраструктуру на 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»