Metabaseを使ってポケモンGOで孵化したタマゴの情報を可視化する。

旦那さんとポケモンGOをプレイしているのですが、タマゴから孵るポケモンに偏りがあるかを知りたかったので、記録を取るようにしています。
記録の方法は以下の通り。

  1. タマゴが孵化したらLINEグループ宛に報告する
  2. 報告をLINE botが拾ってDB(SQLite3)に書き込む

LINE botと会話して統計を取れるようにはなっているのですが、テキストベースだと情報がデジタルでいまいちピンとこないため、Metabaseで情報を可視化してみることにしました。最初Grafanaが使いたかったのですが、SQLiteに対応していないので自動的にMetabase一択になりました。

動かし方

インストールは以下の記事を参考にしました。
OSSのデータ可視化ツール「Metabase」が超使いやすい
Dockerが多分一番楽に立ち上げられる気がします。私の環境はいろいろあってDockerが動かせないので、jarをそのままOpenJDK 8で動かす方法をとりました。使用したMetabaseのバージョンは0.30.1です。デフォルトだと3000番がMetabaseのポートになります。
セットアップはほんとに楽すぎて何も困ることなかったので割愛。

可視化したいDBの設定

DBの追加画面
DBの追加画面

ここから解析対象のDBまでのパスを入力すればすぐ解析してくれます。

DBの可視化結果とか

ポケモンの円グラフとかホエルコのグラフとか
ポケモンの円グラフとかホエルコのグラフとか

お互いが孵したポケモンの円グラフを作ってみました。本当はグラフの横に凡例と値が出力できるのですが、GUIのバグで凡例が多すぎるとグラフが表示できなくなるため、非表示にしています。カーソルを当てると内容がわかるのですが、不便なので次バージョンに期待します。

DBのフィルタリング結果
DBのフィルタリング結果

フィルター機能で期間やタマゴの距離を絞り込むこともできます。めちゃくちゃ楽です。

使ってみた感想

私がQuestionをあまり上手に使いこなせていないので、今の所Kibanaのように息を吸って吐くレベルのグラフ作成には到達できていません。が、最悪SQL文を書いてもグラフは作れるので、可視化するには困らなさそうです。ただ動かすまでの手軽さは、ElasticSearchとFluentdのハードルが高い分、圧倒的にMetabaseのほうが勝ります。java jarコマンド打つだけだったので本当に手軽でした。アクセスログを解析するぐらいであれば、Metabaseで十分用が足りると思います。GUI周りのバグについては今後の修正に期待したいと思います。

あと、旦那さんが使っているブラウザがモダンブラウザではないので、表示がバグったり動作しないスクリプトがあったりするのが悩みどころです。他人とダッシュボードを共有するときは、モダンブラウザの使用ルール化することをおすすめします。