ログってなんぼ

日々のメモです

MacのDockerでRe:dashを立ち上げ監視やBI入門に使う

SQLで書けるKPIやメトリクスを簡単にグラフ化できるredash、活用してますか!

BIにも監視にも手軽に使える便利なツールなのでオススメです。

docs.docker.com

docker-composeで構築します

参考ドキュメント

Setting up a Redash instance · Redash Help Center

基本的にこちらにしたがって進めます。

任意のディレクトリからスタート

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

cloneしたプロジェクトのディレクトリに移動

$ cd redash

docker composeのコンフィグサンプルが入っているので再利用させていただきます

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

postgres

次にpostgresのデータディレクトリを指定します

まず、Docker -> Preferences… -> File Sharing から共有ディレクトリの設定を確認

f:id:Okisanjp:20161114181421p:plain

今回は/Usersの下にディレクトリを作ることにしました

$ mkdir /Users/okisanjp/postgres-data

もともとの設定ファイルは以下のような内容ですが

postgres:
  image: postgres:9.3
  volumes:
    - /opt/postgres-data:/var/lib/postgresql/data

docker-compose.yml は下記のように修正

$ vim docker-compose.yml

postgres:
  image: postgres:9.3
  volumes:
    - /Users/okisanjp/postgres-data:/var/lib/postgresql/data

postgresのコンテナを起動します

$ docker-compose up postgres

動いてるのを確認したら一旦ctrl+Cで終了

次にセットアップスクリプトを流します

$ ./setup/docker/create_database.sh
Pulling redis (redis:2.8)...
2.8: Pulling from library/redis
51f5c6a04d83: Already exists
6c8ccd839b1d: Pull complete
0fded1c9651d: Pull complete
7f1aa6a73799: Pull complete
fbe8a4f1aa87: Pull complete
1a9852d2edd3: Pull complete
128182e1e85d: Pull complete
b94de088b6d8: Pull complete
Digest: sha256:e507029ca6a11b85f8628ff16d7ff73ae54582f16fd757e64431f5ca6d27a13c
Status: Downloaded newer image for redis:2.8
Starting redash_postgres_1
Creating redash_redis_1
Creating user (admin, Admin) in organization default...
Admin: True
Login with Google Auth: False

: No such file or directory: 169.254/16
: No such file or directory: 169.254/16
: No such file or directory: 169.254/16
: No such file or directory: 169.254/16
CREATE ROLE
GRANT
GRANT
GRANT
Creating pg data source (re:dash metadata) with options:
{"host": "postgres", "password": "redash_reader", "user": "redash_reader", "dbname": "postgres"}
Id: 1

そして起動

$ docker-compose up

起動してるか確認

公式ドキュメントではdocker-machine lsできると書いてありましたが勉強不足なのか私の環境ではdocker psでしか起動を確認できませんでした

$ docker ps
CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS                              NAMES
3c15d01073f0        redash/nginx:latest    "nginx -g 'daemon off"   18 minutes ago      Up 5 minutes        0.0.0.0:80->80/tcp, 443/tcp        redash_redash-nginx_1
4b1af3b3cf66        redash/redash:latest   "supervisord -c /opt/"   18 minutes ago      Up 5 minutes        0.0.0.0:5000->5000/tcp, 9001/tcp   redash_redash_1
e362d5ff9774        redis:2.8              "docker-entrypoint.sh"   21 minutes ago      Up 5 minutes        6379/tcp                           redash_redis_1
c734c551e4e2        postgres:9.3           "/docker-entrypoint.s"   24 minutes ago      Up 5 minutes        5432/tcp                           redash_postgres_1

ブラウザから確認

http://127.0.0.1:80

f:id:Okisanjp:20161114182851p:plain

admin/admin

でログイン可能です

f:id:Okisanjp:20161114183047p:plain

ログインできました

起動と終了

$ docker-compose up

で起動した場合は、起動したターミナルにログがずらずら出てきていると思うので、ctrl+Cで終了させることができます

または

$ docker-compose up -d

$ docker-compose stop

という運用もできます

おまけ

直接関係ありませんが、Dockerをインストールしたときに付いてきたkinematicsを使うといろいろ見やすくて助かります

f:id:Okisanjp:20161114184358p:plain