そんな今日この頃の技術ネタ

本家側に書くほどでもない小ネタ用

redashを導入してみた

rebuildで話題に上っていて気になったプロダクト。

Dockerで気軽に導入できそうだったので試してみた。

github.com

redashは大雑把にいえばMySQLなどのデータソースに接続して、 ウェブビュー上からの操作で表やグラフを作成し、 ダッシュボードに並べて表示することができるツールだ。

業務の中では何がしかのデータをウェブで表示したいという案件もあるが、 単にクエリを一発叩いた戻り値を表示しさえすれば良いだけの場合も少なくない。

画面を個別に実装することそれ自体は大した手間ではなくても、 数が増えてくれば後々のメンテナンスコストの増大につながってしまう。

何より、「ここではこう表示されてるけど、どのデータをどう解釈してるんだっけ?」というのを毎回ソースを探して読んで確認するのは意外と大変だ。

そういった現場では、ブラウザ上でのクエリ記述のみで完結するこのredashは非常に有効な解決策になると思う。


※ Docker Composeが必要なため、無ければ予め導入しておこう。

blue1st.hateblo.jp


導入

Githubからソースを取得する。

$ git clone https://github.com/getredash/redash.git
$ cd redash


起動のためにdocker-compose.ymlの作成を行う。

Githubから取得した中にdocker-compose-example.ymlが含まれているため、 これをdocker-compose.ymlとしてコピーし、適時書き換えを行う。

$ cp docker-compose-example.yml docker-compose.yml

例えばポートを変更するとか、postgresのデータ永続化のためのマウントディレクトリを変更するとか、 あるいはextra_hosts項を記述してデータソースの接続先を追加しておくなどしよう。


次にバッチを叩いて初期設定を行う。

$ ./setup/docker/create_database.sh


この作業が終わったら、docker-composeコマンドで立ち上げよう。

$ docker-compose up -d

データソース設定

docker-composeでredashの80番ポートの接続先として指定したポートにアクセスすると、 ログイン画面が表示される。

ユーザ名:admin、パスワード:adminとしてログインできる。

f:id:blue1st:20160812012900p:plain


ログインするとダッシュボードが表示される。(最初は当然何もないが)

f:id:blue1st:20160812012910p:plain


データソースの追加は右上のアイコンから。

「+ New Data Source」ボタンをクリックし、

f:id:blue1st:20160812012922p:plain

データソースの種別を選択、

f:id:blue1st:20160812012934p:plain

接続のための設定を加えていく。

f:id:blue1st:20160812012947p:plain

ちなみにユーザの追加やアラート通知なんかも同じノリで画面上から行えるようだ。

f:id:blue1st:20160812012959p:plain


思いの外分量が出そうだったので、実際に使ってみた記事は後日上げる予定。

ただ、UIは直感的で非常にわかりやすいので、解説するまでもないかもしれない。

書いた

blue1st-tech.hateblo.jp