- オープンソースのデータ可視化ツールのre:dashでらくらく分析共有 その1 〜 インストール編
- オープンソースのデータ可視化ツールのre:dashでらくらく分析共有 その2 〜 グラフ編
- オープンソースのデータ可視化ツールのre:dashでらくらく分析共有 その3 〜 Google Spreadsheets編
- オープンソースのデータ可視化ツールのre:dashでらくらく分析共有 その4 〜 pivot table編
ウェブサービス、ソーシャルゲームなどを運営していると数値データがたまります。
その数値データを分析して、次の施策に活かすのが非常に大事です。
生のデータをMySQLなどを叩いて、数値に出して、Excelにグラフを貼り付けるのもいいですが、毎回やっていると工数がとられます。
ディレクター、エンジニア、だれでも出したい数値が自分で出せるのが理想です。
Tableauなどのツールもありますがいかんせん値段がたかくて手がだせません。
1人ならまだしも、チームで共有したい場合はライセンス料が何十万にもなってしまいます。
そこでオープンソースのre:dashです。(ただSQLを叩く必要あがるというのはありますが)
環境
EC2でAmazon Linuxの最新を作成したものを想定してます。
Amazon Linux AMI 2015.09.1 (HVM), SSD Volume Type - ami-383c1956
re:dash
re:dashはRedshiftやMySQLなどのデータソースと連携してそのデータをビジュアライズしてくれます。
re:dash自体Webサーバになっているので、ビジュアライズされたデータが、ブラウザで確認できます。
しかも、re:dashはオープンソースなので無料で構築できます。
しかし、自分でmac上や、EC2のAmazon Linux上に構築してみましたがかなりインストールがつらいです。
nginx, gunicorn, supervisord, celery, redis, postgresqlなど慣れていればいいものの知らないと、構築できないときのデバッグが大変です。
そもそも、Amazon Linuxのスクリプトはあるのですが、すでにそのスクリプトが壊れているのでインストールできません。
UbuntuやDockerなら楽っぽいのですが、自分はAmazon Linux上で構築したかったのです。
そこで、re:dashをforkして、インストールスクリプトを直し、AnsibleでEC2にインストールできるようにしました。
リポジトリ
- https://github.com/wapa5pow/ansible-redash-amazon-linux
- ansible-redash-amazon-linuxで使っているforkされたre:dash
構成
re:dashはFlaskを使っているので、もし直したかったらpythonでごにょごにょできそうです。
nginxが前にたってますが、別になくてもいい気はします。
re:dashはメインのDBがPostgreSQLです。MySQLはre:dashだけならいらないのですが、データソースとして使いたいのでインストールしてあります。
インストール手順
以下の通りやればインストールできます。Ansibleはインストールしておいてください。
クローン
git clone https://github.com/wapa5pow/ansible-redash-amazon-linux
hostsをEC2のものにする。EC2はsshとhttpのポートをあけておく
cd ansible-redash-amazon-linux
vi hosts
your-private-key.pemをEC2のSSH用秘密鍵に設定して以下を実行
ansible-playbook site.yml --private-key=~/.ssh/your-private-key.pem -u ec2-user -i hosts
Ansibleが失敗する場合は、上記の同じコマンドをもう一度うつと成功します。
re:dashの使い方
ログイン
admin/adminでログインします。
データソースの追加
re:dashは各種データベースにつなげるのですが、同じインスタンス上にインストールしてあるMySQLを追加するため以下のようにします。
クエリの作成
データソースを作成したらクエリを作成します。
ビジュアライゼーション
発行したクエリから同じ画面の下のほうにある、「+New Visualization」からグラフなどが作れます。
ダッシュボードの作成
ビジュアライズしたグラフを集めて、ダッシュボードが作れます。ここにまとめておけば定期的なKPI確認が楽そうです。
まとめ
- 最初に示したAnsibleを使えば簡単にEC2 Amazon Linux上にre:dashが構築できます
- re:dashはいままで有料でしか構築できなかったようなWeb上でのビジュアライゼーションを無料でできます
- ただし、SQLを発行する必要があるのですが、ビジュアライゼーション自体はSQLなしでできます
次回は、どのようなビジュアライゼーションが出来るのか紹介します。