Redash v9のアラートカスタマイズ機能


Redashのアラートカスタマイズ機能

v8時点では実験的な機能という位置付けでデフォルトOFFだったアラートカスタマイズ機能が、v9ではUI・機能が大きく改善されると共にデフォルトONになりました。
Redash v8のアラートカスタマイズ機能の紹介

メッセージのカスタマイズ

デフォルトではかなりシンプルなアラートメッセージをカスタマイズできます。
デフォルトでは閾値を超えたことのみを伝えていましたが、カスタマイズ機能を使うとクエリの実行結果からメッセージを組み立てることができます。

Default Template Use Custom Template

Description に表示されているのがカスタマイズされた部分です。

画像はSlackを例にしたものですが、emailやPagerDutyなどRedashで設定可能な他の通知先にも対応しています(Alert Destination)

設定画面

アラート設定画面の下部にある Template の項目で Use custom template を選択するとカスタマイズ用のフォームが出ます。
SubjectBody いずれもテンプレートエンジンの mustache を利用したテンプレートを記述できます。

テンプレートの記述例

実行結果に target 列、売り上げ前日比の rate 列を含むクエリにアラートを設定します。
Bodyに次のようにテンプレートを設定します。

ターゲット : 売上前日比
{{#QUERY_RESULT_ROWS}}
{{target}} : {{rate}}%
{{/QUERY_RESULT_ROWS}}

設定画面で Preview モードにするとこんな感じ表示されます。期待通りに表示されています。

SubjectBody の表示のされ方は Alert Destination によって異なるので、あくまでテンプレートの記述の確認用に Preview モードを利用するのが良いでしょう。

テンプレートで利用可能な変数

公式ドキュメントにテンプレートで利用可能な変数の一覧が記載されています。
アラート設定のUIにリンクがあって便利

個人的にはこの辺りが特に使いそうです。

変数名 type 説明
ALERT_NAME string アラート名
QUERY_URL string クエリURL
QUERY_RESULT_VALUE string or number トリガーに設定したカラムの先頭行の値
QUERY_RESULT_ROWS value array クエリ結果の行
QUERY_RESULT_COLS string array クエリ結果の列

終わりに

ちょっとした監視やレポーティングならRedashで完結させることができそうです。
UIの改善も進んでおり、v8時点からかなり使いやすくなっていると感じました!