<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0">

<channel>

<title>Блог об аналитике, визуализации данных, data science и BI, заметки с тегом: alert</title>
<link>http://test.leftjoin.ru/tags/alert/</link>
<description></description>
<generator>E2 (v3365; Aegea)</generator>

<item>
<title>Настройка алертов в Redash</title>
<guid isPermaLink="false">20</guid>
<link>http://test.leftjoin.ru/all/redash-alerts/</link>
<comments>http://test.leftjoin.ru/all/redash-alerts/</comments>
<description>
&lt;p&gt;В &lt;a href="http://test.leftjoin.ru/all/redash-polnocennaya-on-demand-analitika/"&gt;Redash&lt;/a&gt; реализован удобный функционал построения алертов. Под алертами подразумеваются оповещения, возникающие при изменении какого-то конкретного показателя. При этом степень изменения пользователь задает самостоятельно вручную в интерфейсе. Алерты можно настроить на почту или в канал / личные сообщения Slack.&lt;/p&gt;
&lt;p&gt;Вспомним как собрать данные, используя &lt;a href="http://test.leftjoin.ru/all/stroim-funnel-report-v-redash/"&gt;Google Analytics&lt;/a&gt;, и для этих данных настроим оповещения, используя внутреннюю БД Redash (&lt;i&gt;query-results&lt;/i&gt;). В качестве основания для оповещения нас будет интересовать падение числа пользователей на сайте за вчерашний день более, чем на 30%.&lt;/p&gt;
&lt;h2&gt;Построение запроса к Google Analytics&lt;/h2&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;{
    &amp;quot;ids&amp;quot;: &amp;quot;ga:128886640&amp;quot;,
    &amp;quot;start_date&amp;quot;: &amp;quot;30daysAgo&amp;quot;,
    &amp;quot;end_date&amp;quot;: &amp;quot;yesterday&amp;quot;,
    &amp;quot;metrics&amp;quot;: &amp;quot;ga:users&amp;quot;, 
    &amp;quot;dimensions&amp;quot;: &amp;quot;ga:date&amp;quot;
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В результате выполнения данного запроса мы получим число пользователей за последние 30 дней.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="http://test.leftjoin.ru/pictures/ga-query@2x.png" width="175" height="391" alt="" /&gt;
&lt;/div&gt;
&lt;h2&gt;Включаем хранение query results&lt;/h2&gt;
&lt;p&gt;Одной из основных &lt;i&gt;фишек&lt;/i&gt; redash считается возможность обращения к результатам выполнения запроса, которые хранятся во внутренней СУБД SQLite.&lt;br /&gt;
Для того, чтобы включить хранение результатов необходимо перейти в &lt;i&gt;Data Sources&lt;/i&gt; и включить &lt;i&gt;query-results (beta)&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Теперь простой командой:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;select * from query_37&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Мы получим аналогичный результат, что дает и предыдущий запрос к GA, но с возможностью использования языка SQL для обработки полученного сета данных.&lt;/p&gt;
&lt;h2&gt;Строим запрос для оценки изменений в числе пользователей&lt;/h2&gt;
&lt;p&gt;Для того, чтобы настроить оповещение необходимо в начале написать запрос, которые выдаст целевой показатель для проверки, в нашем случае — рост или падение числа пользователей на сайте.&lt;br /&gt;
Напишем запрос, который обращается ко внутренней СУБД Redash:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;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&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В запросе выше мы считаем число пользователей за вчера и за позавчера, а также оцениваем изменение числа пользователей в процентах.&lt;br /&gt;
В текущем примере получили следующую таблицу данных, которую дальше будем использовать при настройке алерта:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="http://test.leftjoin.ru/pictures/alert-table@2x.png" width="299" height="102" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Теперь, чтобы мы могли получать алерты, необходимо настроить выполнение запросом по расписанию (регулярное обновление результатов / &lt;i&gt;scheduled query&lt;/i&gt; в терминах redash).&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="http://test.leftjoin.ru/pictures/refresh-schedule@2x.png" width="351" height="76" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Поставим обновление на 10 утра каждого дня:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="http://test.leftjoin.ru/pictures/refresh-10@2x.png" width="324" height="172" alt="" /&gt;
&lt;/div&gt;
&lt;h2&gt;Настраиваем оповещение&lt;/h2&gt;
&lt;p&gt;Переходим в меню &lt;i&gt;Create&lt;/i&gt; — &lt;i&gt;Alert&lt;/i&gt;. Вводим название запроса, в моем случае — это «&lt;i&gt;Alert on users&lt;/i&gt;».&lt;br /&gt;
Далее, можем поменять отображаемое название нотификации или оставить то, что предлагается системой.&lt;/p&gt;
&lt;p&gt;Выбираем целевую метрику, в рассматриваемом примере — &lt;i&gt;difference&lt;/i&gt;. Ниже в операторе сравненения (&lt;i&gt;Op&lt;/i&gt;) выбираем &lt;i&gt;less then&lt;/i&gt; и устанавливаем значение &lt;i&gt;-30&lt;/i&gt;.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="http://test.leftjoin.ru/pictures/target-value@2x.png" width="781" height="341" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;В блоке справа на странице необходимо выбрать куда именно будет отправляться алерт. Подробно о настройке пути следования алерта можно прочитать на &lt;a href="https://redash.io/help/user-guide/alerts/creating-new-alert-destination"&gt;официальном сайте Redash&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Теперь алерт появился на странице со списков алертов и по умолчанию находится в статусе &lt;i&gt;OK&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Как только показатель превысит заданный нами уровень статус изменится на &lt;i&gt;TRIGGERED&lt;/i&gt;, а оповещение отправится на почту / в Slack.&lt;/p&gt;
&lt;p&gt;Больше по теме&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://redash.io/help/user-guide/alerts/setting-up-an-alert"&gt;Настройка алертов на странице Redash&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://redash.io/help/user-guide/alerts/creating-new-alert-destination#Slack"&gt;Добавление Slack в качестве адреса для уведомлений&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
<pubDate>Tue, 03 Dec 2019 10:55:11 +0300</pubDate>
</item>


</channel>
</rss>