ゲーム業界エンジニアの独り言

クライアント、サーバ、インフラなどなど興味あることなんでも紹介

Re:dashをdockerで起動する

dockerとdocker-composeが入っていればlinuxでもmacでも動くと思います。 (私はmacで起動しました) dockerの使い方と導入方法は説明しません。

Re:dash

公式サイト 公式セットアップ手順

クックパッド開発者ブログ ディレクターがSQLを使えてよかった話

この頃、社内ではre:dashというツールを各部署で使っています。re:dashでは、SQLで抽出したデータをそのままグラフにでき、任意の間隔で自動更新ができます。また、複数のグラフやデータを組み合わせてダッシュボードとしてまとめられます。 re:dashダッシュボードのサンプル 20160704110904.png

クックパッドさんのブログを見て導入してみました。 社内にSQL文化を作る良いきっかけになりそうです。

セットアップ

公式の手順通り 途中にエラーも出たけど起動に問題は無かった(たぶん・・・)

% git clone https://github.com/getredash/redash.git
% cd redash
% cp docker-compose-example.yml docker-compose.yml
% vi docker-compose.yml
# /opt/postgres-dataを自分の環境に合ったパスに変更
postgres:
  image: postgres:9.3
  volumes:
    - /opt/postgres-data:/var/lib/postgresql/data # ここ
% docker-compose up postgres
# postgresが無事起動したら終了
% ./setup/docker/create_database.sh
# 結果はエラーになるが特に問題は無かった
% docker-compose up # deamonにしたい場合は-d

Webページ

http://127.0.0.1:80
ID: admin
PASS: admin

ポートを変更したい場合はymlを修正

% vi docker-compose.yml
redash-nginx:
  image: redash/nginx:latest
  ports:
    - "80:80" # ここ
  links:
    - redash

データソースを追加

Webページから参照したDBの情報を設定(ここではMySQL

Settings > DATA SOURCES > NEW DATA SOURCES

スクリーンショット 2016-07-14 17.11.29.png

踏み台経由でDBに接続する場合はautosshが便利

# mac
% brew install autossh
# ubuntu
% apt-get install autossh
# autossh -f -M 0 -N -L [バインド]:[DBサーバ] [踏み台]
% autossh -M 0 -f -N -L 127.0.0.1:13306:127.0.0.1:3306 user@example.com

CLI

webページでのユーザー作成がメール認証だった redashのメール設定がうまく出来なかったのでCLIでユーザー作成

% docker-compose run redash bash
% cd /opt/redash/current
% ./bin/run ./manage.py users create [name] [mail] 

Docker

Docker