1 минута чтения
3 декабря 2019 г.
Настройка алертов в Redash
В Redash реализован удобный функционал построения алертов. Под алертами подразумеваются оповещения, возникающие при изменении какого-то конкретного показателя. При этом степень изменения пользователь задает самостоятельно вручную в интерфейсе. Алерты можно настроить на почту или в канал / личные сообщения Slack.
Вспомним как собрать данные, используя Google Analytics, и для этих данных настроим оповещения, используя внутреннюю БД Redash (query-results). В качестве основания для оповещения нас будет интересовать падение числа пользователей на сайте за вчерашний день более, чем на 30%.
Построение запроса к Google Analytics
{
«ids»: «ga:128886640»,
«start_date»: «30daysAgo»,
«end_date»: «yesterday»,
«metrics»: «ga:users»,
«dimensions»: «ga:date»
}
Включаем хранение query results
Одной из основных фишек redash считается возможность обращения к результатам выполнения запроса, которые хранятся во внутренней СУБД SQLite.
Для того, чтобы включить хранение результатов необходимо перейти в Data Sources и включить query-results (beta).
Теперь простой командой:
select * from query_37
Мы получим аналогичный результат, что дает и предыдущий запрос к GA, но с возможностью использования языка SQL для обработки полученного сета данных.
Строим запрос для оценки изменений в числе пользователей
Для того, чтобы настроить оповещение необходимо в начале написать запрос, которые выдаст целевой показатель для проверки, в нашем случае — рост или падение числа пользователей на сайте.
Напишем запрос, который обращается ко внутренней СУБД Redash:
SELECT sum(CASE WHEN date(ga_date)=DATE(‘now’, ‘-1 day’) THEN ga_users ELSE NULL END) AS yesterday,
sum(CASE WHEN date(ga_date)=DATE(‘now’, ‘-2 day’) THEN ga_users ELSE NULL END) AS before_yesterday,
(sum(CASE WHEN date(ga_date)=DATE(‘now’, ‘-1 day’) THEN ga_users ELSE NULL END)*1.0/
sum(CASE WHEN date(ga_date)=DATE(‘now’, ‘-2 day’) THEN ga_users ELSE NULL END)*1.0-1)*100 AS difference
FROM query_37
В запросе выше мы считаем число пользователей за вчера и за позавчера, а также оцениваем изменение числа пользователей в процентах.
В текущем примере получили следующую таблицу данных, которую дальше будем использовать при настройке алерта:
alert-table@2x.png
Теперь, чтобы мы могли получать алерты, необходимо настроить выполнение запросом по расписанию (регулярное обновление результатов / scheduled query/ в терминах redash).
refresh-schedule@2x.png
Поставим обновление на 10 утра каждого дня:
refresh-10@2x.png
Настраиваем оповещение
Переходим в меню Create — Alert. Вводим название запроса, в моем случае — это «Alert on users«.
Далее, можем поменять отображаемое название нотификации или оставить то, что предлагается системой.
Выбираем целевую метрику, в рассматриваемом примере — difference. Ниже в операторе сравненения (Op) выбираем less then и устанавливаем значение -30.
target-value@2x.png
В блоке справа на странице необходимо выбрать куда именно будет отправляться алерт. Подробно о настройке пути следования алерта можно прочитать на официальном сайте Redash.
Теперь алерт появился на странице со списков алертов и по умолчанию находится в статусе OK.
Как только показатель превысит заданный нами уровень статус изменится на TRIGGERED, а оповещение отправится на почту / в Slack.
Больше по теме
* Настройка алертов на странице Redash
* Добавление Slack в качестве адреса для уведомлений
[ Рекомендации ]
Читайте также
[ Связаться ]
Давайте раскроем потенциал вашего бизнеса вместе
Заполните форму на бесплатную консультацию