はじめに
概要
Metabaseはデータ可視化ツールです。データソースを指定することで、あらゆるフォーマットでデータを閲覧することができます。
詳細は以下URLをご覧ください。
Metabase
セットアップの流れ
ここでは、Metabase自体をインストールし、Metabaseが動作するのに必要な周辺環境を整える方法について説明します。
どのデータを監視するのか、どういうフォーマットで見るのかという具体的な設定は、Metabaseの提供するUI(Webアプリ形式で提供されます)で行います。直感的でわかりやすいUIであり、公式のヘルプなども充実しているため、本記事ではこれについては省きます。
MySQL準備
Metabaseは、何も指定しなければデフォルトでローカルにH2データベースを作成します。
Metabase実行サーバとデータ格納箇所を分けたくなったときなど、MySQLにデータを格納しておいたほうが好都合なので、筆者はMySQLにデータを格納しています。
H2のままでよい場合、この章はとばしてください。
データベースの作成
MySQLにログインします。
$ mysql -u root -p
デフォルトの文字コードをutf8としてDBを作成します。
CREATE DATABASE metabase DEFAULT CHARACTER SET utf8;
Metabaseデータベース用MySQLユーザの作成
上記で作成したデータベースにアクセスするための専用ユーザを作成します。
metabase
、metabasepass
は任意の文字列に変更してください。
GRANT ALL PRIVILEGES ON metabase.* TO metabase@localhost IDENTIFIED BY 'metabasepass';
Metabaseインストール
JREインストール
Metabaseは、Java8以上のJREを必要とします。
JREバージョン確認
Javaのバージョンを確認するには、java -version
を実行します。
$ java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.16.04.1-b03)
上記の実行結果は、JDKのバージョンが1.8(=Java8)、JREのバージョンが1.8(=Java8)であることを示しています。
このコマンドに対し、1.7以下のバージョンであったり、コマンドが見つからない旨のメッセージが表示される場合、インストールが必要です。
リポジトリ追加
Ubuntu16.04ではこの手順は不要です。
Ubuntu14.04の場合、まずadd-apt-repository
でopenjdkのリポジトリを追加します。
$ sudo apt-get install add-apt-repository
$ sudo add-apt-repository ppa:openjdk-r/ppa
$ sudo apt-get update
JREのインストール
Ubuntu14.04
$ sudo apt-get install openjdk-8-jre
Ubuntu16.04
$ sudo apt install openjdk-8-jre
インストールが完了したら、「JREバージョン確認」の手順で、Java8のJREがインストールされていることを確認してください。
Metabaseインストール
Metabaseの実体は、単なる.jarファイルです。
任意のバージョンのMetabaseをwget
などのコマンドで取得すればインストール完了です。
$ sudo mkdir /opt/metabase
$ sudo wget http://downloads.metabase.com/v0.32.9/metabase.jar -O /opt/metabase/metabase.jar
起動用スクリプト作成
Metabaseの設定は、環境変数で行います。
起動のたびに環境変数を設定するのは面倒なので、設定から起動までを行うスクリプトを作成しておくと便利です。
$ sudo vim /opt/metabase/run.sh
以下はメモリ上限500MB・ポート55555でMetabaseを起動する例です。
DBパスワード、ユーザ名などは適宜変更してください。
#!/bin/sh
export MB_DB_TYPE=mysql
export MB_DB_DBNAME=metabase
export MB_DB_PORT=3306
export MB_DB_USER=metabase
export MB_DB_PASS=metabasepass
export MB_DB_HOST=localhost
export MB_JETTY_PORT=55555
java -Xmx500m -jar /opt/metabase/metabase.jar
実行可能にしておきます。
$ sudo chmod a+x /opt/metabase/run.sh
初回起動時のみ、少し時間がかかります。数秒~数分待ちましょう。
$ sudo /opt/metabase/run.sh
このスクリプトを起動し、ブラウザでhttp://(サーバのIPアドレス):55555/
にアクセスしてみましょう。
以下のような画面があらわれたら成功です。
終了の際は、Ctrl+Cを押下してください。
Metabaseをサービス化する
次は、サーバー起動時に自動的にMetabaseを起動するようにしましょう。
つづいて、起動時に自動起動するよう設定していきます。
使いたいときに都度手動で起動する使用方法でよければ、次の手順は不要です。
Ubuntu16.04と14.04でサービス化の手順が異なります。
Ubuntu16.04
サービス化するための設定ファイルを作成します。
$ sudo vim /etc/systemd/system/metabase.service
[Unit]
Description = metabase
[Service]
WorkingDirectory = /opt/metabase
ExecStart = /opt/metabase/run.sh
Restart = always
Type = simple
[Install]
WantedBy = multi-user.target
$ sudo chmod 600 /etc/systemd/system/metabase.service
サービスが登録されたことを確認します。以下のようにmetabase.serviceがあれば成功です。
$ systemctl list-unit-files --type=service | grep metabase
metabase.service disabled
サービスを有効化し、再起動します。
$ sudo systemctl enable metabase
$ sudo reboot
再起動後、http://(サーバのIPアドレス):55555/
にアクセスします。
うまくいかない場合は、
-
sudo systemctl status metabase
でmetabaseサービスの状態を確認 -
/var/log/syslog
をmetabase
でgrepしてログを確認
などを行って対応してください。
Ubuntu14.04
サービス化するための設定ファイルを作成します。
$ sudo vim /etc/init/metabase.conf
start on filesystem
exec /opt/metabase/run.sh
サービスとして登録します。
$ sudo ln -s /etc/init/metabase.conf /etc/init.d/metabase
これでサービスとして開始・終了が可能になります。
また、起動時に自動的に起動されるようになります。
$ sudo service metabase start
監視対象のセットアップ
あとはURLにアクセスして設定するだけです。
わかりやすいUIなのでアクセスすれば流れで設定できるはずですが、以下の公式ページも参考になるかもしれません。
Setting up Metabase