【Metabase】指定条件のデータや集計結果を自動通知する
みなさん、こんにちは。
プロダクトマネージャー業務の傍ら、社内のあちこち自動化・仕組み化の実装をしている問題発見&解決大好きマイコです。
今回は、オープンソースBIツール「Metabase」の「通知設定」を紹介します。Metabaseを触り始めてから数ヶ月経ちますが、この通知設定はさまざまな業務の自動化・効率化を実現してくれており、お気に入りの機能です😀
Metabaseとは
「これが噂のメタバースですね!!」
と嬉しそうに言われたことがありますが、
違います、メタベースです。
Metabaseは、Metabaseプロジェクトによって開発されているオープンソースソフトウェアのデータ可視化ツールです。
データベースに接続することでデータを閲覧したり集計したりダッシュボードを作ったりすることができます。
UIがシンプルであることに加え、エクセルのように特定条件のデータだけフィルタリングして表示する「Simple question」、直感的にクエリを組めるUI「Custom question」など、SQLの知識がなくともやりたいことは大部分達成できます。
もちろん、「Native query」でSQLクエリを書いて複雑な条件のデータを抽出したり、集計することもできます。
ダッシュボードとして複数のクエリ結果を一つの画面にまとめて表示することもできます。ダッシュボードの作り方についてはまた別の記事で紹介できればと思います。
インストールも(恐らく)容易で、超多忙なSREチームが数日でセットアップを完了してくれました。
そんなMetabaseでお気に入り機能「自動通知」の設定方法は次のとおりです。
自動検知の設定方法
1. 通知条件のクエリを用意する
SQLで直打ちでクエリを書くのでもよいですし、カスタムクエスチョンやシンプルクエスチョン機能を使って作成するのも可能です。
2. ダッシュボードにまとめる
通知したいクエリを1つのダッシュボードにまとめます。
3. 通知方法を設定する
ダッシュボードの右上の矢印マークから「Dashboard subscriptions」をクリックします
EmailかSlackのどちらで通知するのかを選択します。
ここで現時点(2022年6月時点)でSlackを検討されている方に重要な豆知識です。
マルチチャネルゲストにはSlack通知の表示がうまくできません。Slack通知自体はできるのですが、マルチチャネルゲストから見ると通知部分が真っ黒に表示されてしまいます。SREなどにも調査してもらいましたが、Metabase側の仕様のようです。改善されるのを待つかメール送信で対応するようにしましょう。(他にも表示に関する制約などはあるかもしれません。ご自身の環境で最新バージョンでお試しください)
①メールの場合
メールを選択すると、下の図のような画面が表示されるので、設定していきます。
送信頻度として設定できるのは、時間ごと、毎日、一週間ごと、月ごとです。
なお、宛先として設定できるのはこのMetabaseにアカウントを持っている人だけです。通知したいメンバーが持っていない場合は、アカウント発行してもらう必要があります。
「Send email now」をクリックすると、テスト送信ができます。
Doneをクリックしたら設定完了!
②Slackの場合
Slackを選択するとこちらのような画面が出てきます。メール設定のときと同様に、通知先(ユーザかチャネルを選択)、送信頻度を選択します。
Slackもメール通知と同じように、宛先(チャネルかユーザ)、送信頻度を設定します。こちらもテスト送信してうまくいくことを確認して、Doneをクリックしたら完了。
設定作業は以上です!
実際に作ったもの
リリース済機能の日々利用状況をウォッチするためにSlack通知機能を活用しています。毎日自動的に流れてくるので便利です。
その他にも、特定条件を満たす新規登録者通知や、不備が疑われる状態検知など、目視モニタリングは難しい、けれどやらなければならないオペレーション負荷軽減にも役立てています。
一度設定しておけば、通知先を増やしたり、クエリにちょっとした変更を加えたり、メンテナンスもしやすいところもGoodです。
「目視でモニタリングするのは面倒だから自動検知&通知したいな〜」というときはMetabaseの通知設定、おすすめです。