Metabase、まじでイケてる。
1日で、Re:Dashから乗り換えました。
Metabaseとは
OSSのデータ可視化ツール。Re:Dashとかと同じ類。
AWSとかに乗せて、誰もが見れるダッシュボードを作ったりする時に使うと、俺かっけーってなります。
スクリーンショット
実際に社内で運用している様子をモザイク付きでお見せします。
毎日みているダッシュボード。これの4倍くらいの数値見てる。
ダッシュボードの編集。マウスで簡単に位置や多きさの変更ができる。
クエリビルダー的なやつがあり、グルーピングとか超絶便利。SQL書けない人でも、単一テーブルとかだったら余裕かと。
グラフ化も簡単。
SQLでのクエリ編集画面。ちゃんと補完してくれる。
Metabaseの良い所
- 見た目が格好いい。
- インストールが簡単。
- openjdk-8-jdk入れて、jarファイル置くだけ。
- 豊富なデータソースに対応。MySQL・PostgreSQL・GoogleAnalytics・BigQueryなど。
- 結果を直感的にいい感じに可視化してくれ、グラフ種類が豊富。
- 表
- 時系列
- パイチャート
- バブルプロット
- 単一の数値
- 結果のダッシュボード化も超直感的。
- SQLの補完が親切で書きやすい。
- カラム名のFuzzy Matchingまでやってくれる
- Slack連携、ユーザー追加も超簡単。
- Slack連携時の注意点 はある。
- ユーザーごとの権限を細かく設定できる
- 管理が楽
- クライアント側で必要なのはブラウザだけ。(Re:Dashもそうだけど)
- ユーザー追加が楽。勝手にパスワード発行してくれる。
- ユーザーごとにできることの制限も簡単にできる。
- Googleアカウントでのログイン、LDAP認証にも対応しているので、そこそこの規模の会社でも実用的
- 開発が活発
- サーバーサイドがClojureっていうのも格好いい。
- フロントエンドはAngularからReactに移行した。そしてサクサク動く。
その他OSSのBIツール比較
全部試した。
- Re:DashはOSS版だと寂しい。
- Supersetは使うのが難しい。しかもRead OnlyなDBには使えない。
- KibanaとGrafanaはダッシュボードがめっちゃかっこいいんだけど、DBがKVSやElasticsearch前提
- MySQLに入ってるデータをSQLで取ってきて見たいんだよなーみたいな時に、いやまずRDBのスキーマをElasticsearchのインデックスにマッピングして同期しないと。
- Elasticsearchのクエリを覚えるって学習コスト高い。
参考
https://www.astronomer.io/blog/six-open-source-dashboards/
日本語の記事が2017/11/04時点で少ないのはなんでだろう。
結論
Metabase最強。
インストール
Ansible + Ubuntu 16.04 ならこんな感じ。コマンドでやっても一緒。
playbook.yml
---
- name: Install Metabase
hosts: webservers
become: true
tasks:
- name: add apt repo
apt_repository:
repo: 'ppa:openjdk-r/ppa'
state: present
- name: Install Java
apt:
name: openjdk-8-jdk
update_cache: yes
state: present
- name: Download metabase
get_url:
url: http://downloads.metabase.com/v0.26.1/metabase.jar
dest: /opt/metabase/metabase.jar
mode: 0755
あとはサーバーに入って、 java -jar /opt/metabase/metabase.jar
で完了。
デーモン化したいなら nohup java -jar /opt/metabase/metabase.jar &
でいける。
Dockerならコマンド一発。
docker run -d -p 3000:3000 --name metabase metabase/metabase
追記
好きすぎて、日本語ローカライズのプロジェクトに参加することにしました。これも完成したら敵無しか。