VPSのサムネイル

VPS

【無料で使える分析可視化ツール環境】 DockerでMetabaseサーバーを立ち上げる方法

DockerでMetabaseサーバーを立ち上げて、同じくDockerで立ち上げているMySQL DBのデータを分析をする、「無料で使える分析可視化ツール環境」の構築方法を解説します。

編集ノート:SERVERSUSでは、パートナーリンクからコミッションを得ています。コミッションが記事の意見や、サービスの評価に影響を与えることはありません。

Metabaseとは?

Metabase はオープンソースのデータ分析アプリケーションです。

SQL の知識がなくてもデータを可視化できる BI(ビジネスインテリジェンス)ツール の一種で、データベースに接続してダッシュボードやレポートを作成できます。

Metabaseを自前サーバーで立ち上げる方法

Metabaseは、Metabaseが運営するクラウドを使うか、OSS版を自前サーバーに展開して使うかの二択がありますが、今回は、自前のサーバー(VPSやローカルサーバー)でMetabaseを展開する方法を取ります。

VPSでMetabaseサーバーを単体で立ち上げるのであれば、アプリケーションテンプレートを用意しているVPSを選ぶのが、一番簡単で素早く立ち上げができるためおすすめです。

今回は、VPSでもローカルでも共通で管理がしやすい、Dockerを使った方法をご紹介します。アプリの利用料は無料なので、ローカル環境で構築すれば「完全無料」で分析可視化ツール環境を構築できますし、VPSを使った場合でも、低コストで構築可能です。

DockerでMetabaseサーバーを立ち上げる

Metabaseコンテナの立ち上げ

Metabaseコンテナを立ち上げます。Dockerはインストール済みの前提です。

まずは、Metabaseの公式イメージをダウンロードします。

docker pull metabase/metabase:latest

続いて、コンテナを立ち上げます。Metabaseのデフォルトポートは3000番ですが、「-p」の後ろに任意のポートを指定することもできます。

docker run -d -p 3300:3000 --name metabase metabase/metabase

この場合は、3300番でリッスンして、Dockerコンテナ内で3000番に繋げることになります。

自社サーバーやVPSでドメインを使って外部からアクセスを可能にする場合は、nginxコンテナなどと組み合わせることで、独自ドメインで運用することも可能です。

初期設定

先ほど指定したポートでブラウザからアクセスすると、初期設定画面が出てきます。

localhost:3300

ブラウザに表示されたMetabaseの初期設定ウィザードを進めていけば、無事Metabaseサーバーが完成します。

DockerコンテナとMySQLデータベースを連携する

Metabaseでは各種DBと連携させて使うことができるようになっています。今回は、同じDocker環境内の別のコンテナで実行中のMySQLサーバーを追加してみます。

とりあえず何も考えずに「localhost:3306」で設定をすると、Dockerの場合は次のようなエラーが起こります。

Could not connect to address=(host=db)(port=3306)(type=master) : (conn=33) Access denied for user 'root'@'172.18.0.4' (using password: YES) Current charset is UTF-8. If password has been set using other charset, consider using option 'passwordCharacterEncoding'

これは、Docker内で「Metabaseコンテナ」と「MySQLデータベースコンテナ」が同一ネットワークにいないことで発生します。異なるネットワークに属しているコンテナ同士は直接通信できません。

なので、MetabaseコンテナをMySQLコンテナが所属しているネットワーク(ここでは仮に「dev-network」)に参加させます。

docker network connect dev-network metabase

そうすると、MetabaseからはMySQLコンテナにアクセスが可能になります。

もし、外部のDBサーバーなどで稼働しているDBと接続する場合は、「追加のJDBC接続文字列オプション」フィールドに以下の文字列を追加する必要があるケースもあります。

allowPublicKeyRetrieval=true

Metabaseはクラウド版だと月額85ドルもする高額なサービスですが、OSS版があるおかげで、無料で自前のデータの分析をサクサク行うことができます。

Metabaseと同様のアプリを一から構築するとかなりの手間がかかるので、自社でデータ分析アプリの導入を考えている方は、ぜひ検討してみてください。


価格は記載がある場合を除き、すべて税込みです。

関連キーワード

VPSの新着記事

VPSの新着ガイド

もっと見る