こんにちは。那須野拓実です。
今回は、OSS(オープンソース)のBIツールであるMetabaseをConoHa VPSにインストールして独自ドメインを宛がってみた話について書いてみたいと思います。
※本記事は、ConoHa VPSのようなサーバー環境にSSH接続してLinuxコマンドで操作できる方を前提に書いています。ご留意ください。
※本記事は2024年10月時点での情報をもとに紹介しています。ご留意ください。
BIツールとは、データをグラフや表として簡単に可視化し、ダッシュボード(ページ)に見やすいように並べて定期的に閲覧できるようにすることで、ビジネスの意思決定に役立てるツールのことです。Business Intelligenceツール(ビジネスインテリジェンスツール)の略語です。
一昔前までは会社として導入して経営層向けの意思決定に役立てるエンタープライズ型BIツールというジャンルが主流でしたが、最近は現場が自分たちで導入して探索的なデータ分析に役立てるセルフサービス型BIツールというジャンルの方に勢いがあります。
セルフサービスBIとして有名なものには、TableauやPower BI、Looker Studio(旧Googleデータポータル)などがあります。いずれも無償で使える機能がある一方で、組織的に使おうとするユーザー向けに便利な有償プランが用意されています。
また、これらBIツールは、パソコンにインストールして自分だけで使うデスクトップ型と、サーバーにインストールして複数のユーザーがWebブラウザからアクセスして使うサーバー型(もしくはクラウド型)に分かれます。
さらにサーバー型は、開発会社がサーバーを管理しているフルマネージドと、ユーザーが自分のサーバー環境にインストールするオンプレミスに分かれます。
市場には色々なBIツールが出回っているため、自分に合ったBIツールを選定することが重要です。
Metabaseは比較的新しい2021年に公開された後発のBIツールです。MySQLやPostgresSQL、SQLserver、BigQuery、RedShift、Snowflakeをはじめとした主要データベースへのアクセスと、17のグラフ種別の作成に対応したBIツールで、以下の4つが主な特徴かなと思います。
Metabaseは数少ない商用利用可のOSS(オープンソース)BIツールであり、自分の好きな環境(オンプレミス)でライセンス費用なしで構築できるBIツールです。
インストーラーとしてはJavaファイルとDockerイメージが提供されており、これらを使うことで自分の好きな環境にインストールして利用することができます。
MetabaseはサーバーにインストールしてWebブラウザからアクセスするサーバー型のBIツールです。チームでデータを共有しながら分析するのが得意です。一方で、自分だけが見られるパーソナルコレクションも用意されており、個人的な分析や試行錯誤も同じ環境で行うことができます。
※パソコンのローカル環境にインストールすれば、Webブラウザ経由のアクセスにはなりますが、デスクトップアプリのように使うことも可能ではあります。
自分でインストールするオンプレミスだけでなく、Metabase Cloudというフルマネージド環境も提供されています。有料かつドル建てでユーザー数に応じた課金にはなりますが、サーバー保守なんてできないよという方にはオススメの選択肢になります。
BIツール、とりわけセルフサービス型BIツールは海外製のものが多く、日本語に翻訳されていないものが多いです。
そんな中、Metabaseは海外製にも関わらず日本語に対応しています。よく見ると和訳がイマイチピンとこない部分も散見されますが、それはご愛嬌というところでしょう。
それではConoHa VPSにMetabaseをインストールする手順を見ていきたいと思います。
なお、作業環境は以下の通りです。ご留意ください。
- サーバー:ConoHa VPS
- サーバーOS:Rocky Linux 9.4(※CentOSと同系列)
- Webサーバー:Apache(certbotインストール済、docker未インストール)
- PC:Windows 11
- SSHクライアント:Windows PowerShell
それでは具体的に見ていきましょう。
1 2 3 4 5 6 7 8 9 10 11 |
# Dockerのインストール sudo yum update -y sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io sudo systemctl start docker sudo systemctl enable docker # Docker Composeのインストール sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose |
1 2 |
mkdir -p ~/metabase cd ~/metabase |
1 |
vim docker-compose.yml |
↓実際の記述内容↓
1 2 3 4 5 6 7 8 9 10 |
version: '3' services: metabase: image: metabase/metabase ports: - "3000:3000" volumes: - ./metabase-data:/metabase-data environment: - MB_DB_FILE=/metabase-data/metabase.db |
1 2 |
sudo firewall-cmd --permanent --add-port=3000/tcp sudo firewall-cmd --reload |
1 2 3 4 5 |
echo $PATH export PATH=$PATH:/usr/local/bin echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc source ~/.bashrc echo $PATH |
1 |
docker-compose up -d |
1 2 |
sudo certbot certonly --apache -d {YOUR_DOMAIN} sudo certbot renew --dry-run |
1 2 3 |
sudo vim /etc/httpd/conf.d/metabase.conf sudo apachectl configtest sudo systemctl reload httpd |
↓実際の記述内容↓
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<VirtualHost *:80> ServerName {YOUR_DOMAIN} ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ ProxyPreserveHost On ErrorLog /var/log/httpd/metabase_error.log CustomLog /var/log/httpd/metabase_access.log combined </VirtualHost> <VirtualHost *:443> ServerName {YOUR_DOMAIN} SSLEngine on SSLCertificateFile /etc/letsencrypt/live/{YOURE_DOMAIN}/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/{YOURE_DOMAIN}/privkey.pem ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ ProxyPreserveHost On ErrorLog /var/log/httpd/metabase_error.log CustomLog /var/log/httpd/metabase_access.log combined </VirtualHost> |
これで作業完了です。
バーチャルホストに設定したURLにアクセスすると、Metabaseの画面が表示されました!最初から日本語で表示してくれるのは、ありがたいですね。
その後、言語設定、ユーザー設定、そして+αの設定を流れで行っていくと…
無事、トップ画面が開けました!あとは自由に使ってみましょう!
ということで、Metabaseの概要と実際にインストールする手順をまとめてみました。準備さえ揃っていれば、Dockerを使って一気に環境構築することができるので、思った以上に使い始めやすいツールだなという印象でした。
ConoHa VPSのようなサーバー環境にバーチャルホストを使ってインストールすれば実質的に追加コストなしで利用できるので、非常にリーズナブルな選択肢だと思います。
ただ、ファイアウォールとPATH環境変数、SSL証明書あたりは躓きやすい点だと感じたのと、Webサーバーにapacheではなくnginxを使っていたりサーバーがCentOS準拠ではなくUbuntuなど他の物を使っていたりするとコマンドが異なる点には留意が必要かなと感じました。
以上、誰かの参考になれば幸いです。