Настройка алертов в Redash - LEFT JOIN

Свяжитесь с нами в любой удобной для вас форме

Менеджер

Написать в телеграмм

Онлайн
Телеграмм
или
Заполните форму

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»
}

В результате выполнения данного запроса мы получим число пользователей за последние 30 дней.

Включаем хранение 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

В запросе выше мы считаем число пользователей за вчера и за позавчера, а также оцениваем изменение числа пользователей в процентах. 

В текущем примере получили следующую таблицу данных, которую дальше будем использовать при настройке алерта:

Теперь, чтобы мы могли получать алерты, необходимо настроить выполнение запросом по расписанию (регулярное обновление результатов / scheduled query в терминах redash).

Поставим обновление на 10 утра каждого дня:

Настраиваем оповещение

Переходим в меню CreateAlert. Вводим название запроса, в моем случае — это «Alert on users«.

Далее, можем поменять отображаемое название нотификации или оставить то, что предлагается системой.

Выбираем целевую метрику, в рассматриваемом примере — difference. Ниже в операторе сравненения (Op) выбираем less then и устанавливаем значение -30.

В блоке справа на странице необходимо выбрать куда именно будет отправляться алерт. Подробно о настройке пути следования алерта можно прочитать на официальном сайте Redash.

Теперь алерт появился на странице со списков алертов и по умолчанию находится в статусе OK.

Как только показатель превысит заданный нами уровень статус изменится на TRIGGERED, а оповещение отправится на почту / в Slack.

Больше по теме:

Настройка алертов на странице Redash

Добавление Slack в качестве адреса для уведомлений


94 просмотров

Добавить комментарий

[ Рекомендации ]

Читайте также

1 минута чтения

*

28 февраля 2024

Как и зачем мы сделали три дашборда по LinkedIn

1 минута чтения

*

25 июля 2020

Шпаргалка по оконным функциям в SQL

2 минут чтения

*

21 февраля 2021

Транзакции в SQLAlchemy

[ Дальше ]