ところで最近割と暇。そんな話をみんなにしたら「それ良いことじゃん」と突っ込まれた。たしかに前職とかだとちょっとした”戦場”が多かったような気がする。それがあってか手が空くと少し不安になってしまうw 実際冷静に考えると、暇があるということは、空いた時間で技術的な検証をしたり、好きなことをする余裕があるってことだ。まあもう良い年なので、余裕をもって生活したいね。それと、老害にならない程度に、良い意味で手を抜くようにもしたいと思っている。肩の力を抜くっつーか。
redashというものをたまたま見つけてよさそうなので触ってみた。簡単に言うと、データストアに投げるクエリを書いておくとその結果をグラフ化してくれる。今回は例としてBigQueryとのインテグレーションを例に使うが、MySQLやPostgreSQLやRedshiftやMongoDBなどのデータストアにも対応している模様。



0. re:dash

こちらになります。Python製。

1. インストール

公式ドキュメントの通りだけど以下のような流れ。AWSやGCP上に作る場合、redash入りのAMI/イメージが公開されているのでそれを使う。俺はAWSで試した。

* AMIから起動
* Google Compute Platformのコンソールでサービスアカウントとウェブ アプリケーションのクライアント IDを作っておく。
* /opt/redash/.envを整える。重要なのは下記。ウェブアプリケーションのクライアントIDとクライアントシークレット、そしてgoogle appsを使っている場合はそのドメインを入力しておく。google appsのドメインを入れておくと、redashへのログインをそのドメインに限定したgoogle認証にすることができる。

export REDASH_GOOGLE_APPS_DOMAIN=”yourcompany.com”
export REDASH_GOOGLE_CLIENT_ID=”xxxxxxxxxxx@developer.gserviceaccount.com”
export REDASH_GOOGLE_CLIENT_SECRET=”xxxxxxxxxxxxxxx”

* 設定反映のためにredashを再起動する

sudo supervisorctl restart redash_server

* redashからデータソースの設定をする。この例はBigQuery用の設定。サービスアカウントと先ほど配置した鍵とプロジェクトIDが必要。もちろんデータソースは1つだけではなく複数設定できる。

sudo -u redash bin/run ./manage.py ds new -n BQ -t bigquery -o ‘{“serviceAccount” : “xxxxxxx@developer.gserviceaccount.com”, “privateKey” : “/path/to/google-cloud-production.p12″, “projectId” : “xxxxxx” }’

* redashにブラウザでアクセスする。デフォルトだと80番ポート。

2. クエリを書く

「Queries」から「New Query」を選択して、とあるデータのTOP10を算出するためのクエリを書く。結果が取得できたら下のほうにある「+New Visualization」から、取得したデータのグラフを作ることができる。今回は円グラフにした。なお、クエリはスケジューリングして定期的に実行させることも可能。

redash01

3. ダッシュボードを作る

適当にダッシュボードを作って「+」をクリックすると↑で作ったグラフを見つけることができる。こんな感じ↓になる(ラベル類を消しているのでなんか変な生き物みたいに見える…)。もちろん1画面に複数のグラフやデータを貼付けて見やすいように配置することもできる。

redash02

3. 感想

まだ若干お遊び程度に少し触ってみただけだが、クエリを日次実行するようにして毎朝ビジネスサイドの人間に共有したり、fluentd経由でbigqueryに突っ込んでいるログをhourlyくらいの間隔でトレースするようにしたらおもしろいかもしれない。

おわり

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Set your Twitter account name in your settings to use the TwitterBar Section.