Redashのアラートカスタマイズ機能
v8時点では実験的な機能という位置付けでデフォルトOFFだったアラートカスタマイズ機能が、v9ではUI・機能が大きく改善されると共にデフォルトONになりました。
Redash v8のアラートカスタマイズ機能の紹介
メッセージのカスタマイズ
デフォルトではかなりシンプルなアラートメッセージをカスタマイズできます。
デフォルトでは閾値を超えたことのみを伝えていましたが、カスタマイズ機能を使うとクエリの実行結果からメッセージを組み立てることができます。
Default Template | Use Custom Template |
---|---|
|
Description
に表示されているのがカスタマイズされた部分です。
画像はSlackを例にしたものですが、emailやPagerDutyなどRedashで設定可能な他の通知先にも対応しています(Alert Destination)
設定画面
アラート設定画面の下部にある Template
の項目で Use custom template
を選択するとカスタマイズ用のフォームが出ます。
Subject
・ Body
いずれもテンプレートエンジンの mustache を利用したテンプレートを記述できます。
テンプレートの記述例
実行結果に target
列、売り上げ前日比の rate
列を含むクエリにアラートを設定します。
Body
に次のようにテンプレートを設定します。
ターゲット : 売上前日比
{{#QUERY_RESULT_ROWS}}
{{target}} : {{rate}}%
{{/QUERY_RESULT_ROWS}}
設定画面で Preview
モードにするとこんな感じ表示されます。期待通りに表示されています。
Subject
や Body
の表示のされ方は 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時点からかなり使いやすくなっていると感じました!