1. TOP
  2. ラズベリーパイ
  3. セットアップ
  4. Metabase

Metabaseのセットアップ(ラズベリーパイ)

Metabaseは、データベースのデータをブラウザからグラフや表にできるオープンソースのBIツールです。SQLを書かなくても集計画面が作れるので、MariaDBに記録したPLCのデータを手早く「見える化」するのに便利です。

このページでは、ラズベリーパイ上でMetabaseを動かし、同じラズベリーパイのMariaDBにつなぐまでの手順をまとめます。インターネットにつながない社内LANだけで完結します。

前提:「初期設定とサーバー構築」の手順で、固定IPの設定とMariaDBのセットアップ(testDB・testuserの作成)が終わっていることを前提にしています。
外出先やスマホからも見たい場合は、クラウドで動かす「Grafana Cloud(無料枠)」も検討してください。

環境

項目内容
ハードウェアRaspberry Pi 4 Model B(4GB)
OSRaspberry Pi OS(64-bit)
JavaEclipse Temurin 25(JRE)
MetabaseOSS版(jarファイル)
アクセスhttp://192.168.0.100:3000/
MetabaseはJavaで動くため、メモリを多く使います(起動後で1GB前後)。Raspberry Pi 4/5 の4GB以上のモデルで動かしてください。

Java 25のインストール

最新のMetabaseはJava 25が必要です。Raspberry Pi OSの標準リポジトリにはないため、Eclipse Temurin(Adoptium)のリポジトリから入れます。

$ sudo apt install -y wget apt-transport-https gpg
$ wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null
$ echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
$ sudo apt update
$ sudo apt install -y temurin-25-jre
$ /usr/lib/jvm/temurin-25-jre-arm64/bin/java -version
初期設定で入れた default-jdk(Java 17)はそのまま残り、Metabaseだけが上のパスのJava 25で動くようにします。古いバージョンのMetabase(v0.43など)を使う場合はJava 17のままでも動きます。

ダウンロードと動作確認

ここではユーザー pi のホームに metabase ディレクトリを作り、その中にjarファイルを置きます。

$ mkdir -p ~/metabase
$ cd ~/metabase
$ wget -O metabase.jar https://downloads.metabase.com/latest/metabase.jar

ブラウザでダウンロードする場合は、Metabase公式サイト(OSS版)から入手して、上のディレクトリにコピーしてください。

まずは手動で起動して動作を確認します(停止は Ctrl+C)。

$ /usr/lib/jvm/temurin-25-jre-arm64/bin/java -jar metabase.jar

PCのブラウザで http://192.168.0.100:3000/ を開きます。ラズベリーパイでは初回起動に数分かかるので、ログに「Metabase Initialization COMPLETE」と出るまで待ってください。

サービスとして自動起動する

ユニット定義ファイルの作成

ラズベリーパイの起動時に自動で立ち上がるよう、systemdのサービスとして登録します。

$ sudo nano /etc/systemd/system/metabase.service
/etc/systemd/system/metabase.service
[Unit]
Description=Metabase server
After=network-online.target mariadb.service
Wants=network-online.target

[Service]
WorkingDirectory=/home/pi/metabase
ExecStart=/usr/lib/jvm/temurin-25-jre-arm64/bin/java -Xmx1g -jar /home/pi/metabase/metabase.jar
# 環境変数ファイル(ポート変更など)。先頭の「-」はファイルがなくてもエラーにしない指定
EnvironmentFile=-/etc/default/metabase
User=pi
Type=simple
SyslogIdentifier=metabase
SuccessExitStatus=143
TimeoutStopSec=120
Restart=always

[Install]
WantedBy=multi-user.target
-Xmx1g はMetabaseが使うメモリの上限です。4GBモデルで他のサービスと同居させる場合の目安なので、環境に合わせて調整してください。
ポートを3000から変えたい場合は、/etc/default/metabase に MB_JETTY_PORT=8080 のように書きます。

サービスの登録と起動

$ sudo systemctl daemon-reload
$ sudo systemctl enable --now metabase.service
$ systemctl status metabase.service

ログの確認

現在のRaspberry Pi OSでは、ログはjournald(systemdのログ)で確認できます。

$ journalctl -u metabase -f

以前のOSのようにrsyslogでファイルに書き出したい場合は、rsyslogを入れて振り分け設定を追加します。

$ sudo apt install -y rsyslog
$ sudo nano /etc/rsyslog.d/metabase.conf
/etc/rsyslog.d/metabase.conf
if $programname == 'metabase' then /var/log/metabase.log
& stop
$ sudo systemctl restart rsyslog

MariaDBとの接続

Metabaseの初期設定画面で管理者ユーザーを作成したあと、「データベースを追加」から次のように入力すると、MariaDBのデータをグラフにできます。

項目設定値
データベースの種類MySQL(MariaDBもこちらを選択)
ホストlocalhost
ポート3306
データベース名testDB
ユーザー名/パスワードtestuser/passwd

まとめ

これで、社内LANのPCのブラウザから http://192.168.0.100:3000/ を開くだけで、MariaDBに記録したPLCのデータを表やグラフで確認できるようになりました。
Metabaseの「質問(Question)」でグラフを作り、「ダッシュボード」にまとめておくと、設備の状態を一画面で確認できます。

関連ページ

初期設定とサーバー構築

初期設定とサーバー構築

固定IP・Apache・PHP・MariaDBのセットアップ手順

Grafana Cloud 無料枠のセットアップ

Grafana Cloud(無料枠)

ポート開放なしで、クラウドのGrafanaからラズパイのMariaDBを見える化します

ラズベリーパイとは

ラズベリーパイとは

歴史・現行機種のスペック・PLCとの連携構成を紹介します

参考

Raspberry Pi is a trademark of Raspberry Pi Ltd.

この記事へのコメント