CentOS 7 に Redash インストールして MySQL のデータをグラフ表示してみた

作業環境

Docker + Docker Compose のインストール

Re:dash は CentOS では Docker のコンテナ上で起動させるので、まずは Docker をインストールします。

Kernel のバージョンを確認する

CentOS 7 に Docker をインストールするには Kernel が 3.10 以上ではないといけないようなので Kernel のバージョンを確認します。

$ uname -r
3.10.0-327.el7.x86_64

3.10 以上なので、Docker のインストールを進めていきます。

Docker のインストール

まずは root ユーザに変更します。

$ sudo su -

ここからは root ユーザでの作業にになります。

次のコマンドで Docker のインストールができます。

# curl -fsSL https://get.docker.com/ | sh

インストールが完了したので、バージョンを確認します。

# docker --version
Docker version 1.12.1, build 23cf638

Docker を起動させます。

# service docker start
Redirecting to /bin/systemctl start  docker.service

自動起動の設定も行っておきましょう。

# chkconfig docker on
Note: Forwarding request to 'systemctl enable docker.service'.
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

これで Docker のインストールは完了です。

Docker Compose のインストール

Re:dash は Docker コンテナの管理を Docker Compose で行っているので、Docker Compose もインストールします。

GitHub のリリースページ から最新のコマンドをコピーして、実行します。

# curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose

これで Docker Compose のインストールが完了となりますので、バージョンを確認してみます。

# docker-compose --version
docker-compose version 1.8.0, build f3628c7

Re:dash のインストール

Docker + Docker Compose のインストールが完了したので、いよいよ Re:dash のインストールをしたいと思います。

まずは、git clone して、サンプルの設定ファイルを元に設定ファイルを作成します。

# git clone https://github.com/getredash/redash.git
# cd redash/
# cp docker-compose-example.yml docker-compose.yml

まずは PostgreSQL のコンテナを起動します。

# docker-compose up postgres

PostgreSQL のコンテナが起動したら、次のコマンドを実行していきます。

なお、PostgreSQL のコンテナ起動後、端末は操作できなくなるので、別タブを開いたりして、再度アクセスし、root ユーザに変更してください。

# ./setup/docker/create_database.sh
# docker-compose up

これで Re:dash が起動したので、ブラウザからアクセスしてみましょう。

f:id:enomotodev:20170519203657p:plain

無事ログインできました!

ログイン画面が表示されたので、ログインしてみましょう。

初期の Email、Password はこちらになります。

  • Email:admin
  • Password:admin

f:id:enomotodev:20170519203705p:plain

MySQL への接続

画面右上の『Data Sources』 → 『New Data Source』をクリックし、MySQL の設定を行っていきます。

ここで注意するのは、MySQL はコンテナのホスト側にあるので、MySQL の Host は Re:dash への接続元 IP になります。

Re:dash への接続元 IP はコンソールに出力されている Re:dash のアクセスログから判断することができます。

グラフ表示する

まず、画面上部の『Queries』 → 『New Query』から Query 入力画面に移動し、『Data Source』に先ほど登録した Data Source がきちんと設定されていることを確認します。

次に、入力フォームに SQL を記述し、『Execute』ボタンを押します。

そうすると下記のように結果が出力されます。

f:id:enomotodev:20170519203711p:plain

結果に問題ないようであれば、『Save』ボタンで今回の SQL を保存することができます。

結果をグラフ化するには『+ NEW VISUALIZATION』ボタンを押して、Visualization Editor に移動します。

画面に従って、グラフの種類や、縦軸・横軸に表示するカラムを設定していくと次のようなグラフが完成します。

f:id:enomotodev:20170519203717p:plain

まとめ

Re:dash を使うことによって、SQL の結果を簡単にグラフ化することができました。

Re:dash は一つひとつの SQL やグラフに固定の URL が割り振られるので、URL さえあれば、SQL での分析結果をみんなで共有することができ、分析結果の属人化を防ぐことができます。

導入自体もそれほど難しくはないので、今後積極的に活用していきたいと思います。

データ分析基盤構築入門[Fluentd、Elasticsearch、Kibanaによるログ収集と可視化]

データ分析基盤構築入門[Fluentd、Elasticsearch、Kibanaによるログ収集と可視化]