Мы продолжаем тему алертинга в Splunk. Ранее мы говорили о том, как настроить отправку оповещений на электронную почту, а сегодня покажем Вам, как отправлять уведомления в мессенджеры, такие как Telegram и Slack.
В статье вы найдете пошаговую инструкцию по настройке.
Оба кейса мы разберем на примере алерта о неудачных попытках аутентификации при входе в Splunk (О том как создать такой алерт, мы писали в предыдущей статье). Лог, на котором основывается запрос для алерта, записывается и индексируется автоматически и есть у всех, у кого есть Splunk. Поэтому даже если у Вас на данный момент нет актуальной задачи по оповещениям, то Вы можете протестировать все на таком же примере как у нас. Если же у вас нет Splunk и вы не знаете, что это такое, зачем это нужно и как установить, то Вы можете прочитать, что мы писали об этом ранее.
К каждому алерту можно добавить действия при его реализации. По умолчанию в Splunk заложены возможности уведомления в самом Splunk, запись события в другой индекс, запись в справочник, отправка сообщения на электронную почту или запуск кастомного скрипта.
Для отправки сообщений в мессенджеры нам будет необходимо установить несколько бесплатных приложений.
Telegram
1. Скачиваем приложение Telegram Alert Action с сайта SplunkBase по следующей ссылке
2. Устанавливаем приложение
- Заходим в Splunk Enterprise;
- В меню приложений кликаем на иконку Manage Apps (синяя шестеренка);
- Нажимаем Install app from file;
- Выбираем файл, который мы только что скачали;
- Нажимаем Upload;
- Перезагружаем Splunk;
3. Теперь мы можем добавить Telegram-действие к нашему алерту.
«Search & Reporting» — «Alerts» — «Edit» — «Edit Alert» — «Add Actions» — «Telegram Alert»
Как мы видим, для отправки сообщения нам необходимы Bot ID и Chat ID, если у вас они уже есть, то Вы уже на финишной прямой, а если нет, то давайте создадим своего бота.
- Для получения Bot ID обратитесь к боту @BotFather c требованием создать нового бота (команда /newbot)
- Введите название своего бота и имя (имя должно оканчиваться на «bot»)
- Откройте диалог со своим созданным ботом и напишите ему произвольное сообщение
- Откройте в браузере ссылку, заменив <bot_id> на полученный идентификатор api.telegram.org/bot<bot_id>/getUpdates
- В полученном json-ответе найдите значение в параметре «id» это и есть Chat ID
5. Заполняем все поля в Telegram Alert. Знаком доллара обозначаются токены, которые переносят в сообщение информацию из запроса и о запросе. Больше о токенах вы можете прочитать по ссылке.
Message: Была совершена неудачная попытка входа. Время: $result.time$ Источник: $result.src$ Пользователь: $result.user$ Действие: $result.action$ Статус: $result.info$
Severity: High
Chat ID: Ваш chat_id
Bot ID: Ваш bot_id
6. Получаем уведомление в Telegram
Slack
1. Скачиваем приложение Telegram Alert Action с сайта SplunkBase по следующей ссылке
2. Устанавливаем приложение .(Процесс установки описан выше)
3. В конце установки приложение попросит указать Webhook URL.
4. Чтобы получить Webhook URL необходимо в Slack зайти в раздел «Apps» — найти приложение Incoming WebHooks – «Install» — «Add configuration» .
5. Выбираем из выпадающего списка канал, в который будут приходить уведомления (или создаем новый). Это может быть общий канал или личные сообщения какому-то пользователю. Далее нажимаем на кнопку «Add Incoming Webhooks Integration».
6. Получаем Webhook URL, который нужно указать в Splunk
7. Добавляем новое действие в наш алерт: «Search & Reporting» — «Alerts» — «Edit» — «Edit Alert» — «Add Actions» — «Slack», указывая название канала, в котором мы настроили интеграцию.
8. Получаем уведомление в Slack
Заключение
Таким образом, мы настроили оповещения из Splunk в мессенджеры Telegram и Slack, которые позволят вам всегда быть в курсе того, что происходит в ваших IT-системах и держать руку на пульсе.
Мы рады ответить на все ваши вопросы и комментарии по данной теме. Также, если вас интересует что-то конкретно в этой области, или в области анализа машинных данных в целом — мы готовы доработать существующие решения для вас, под вашу конкретную задачу. Для этого можете написать об этом в комментариях или просто отправить нам запрос через форму на нашем сайте.
Автор: JuliaKoroleva