「Metabase」:修訂間差異

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋
本頁面具有訪問限制。如果您看見此訊息,這代表您沒有訪問本頁面的權限。
 
行 37: 行 37:
== 設定 ==
== 設定 ==


 先設定Metabase的log檔案<code>/etc/rsyslog.d/metabase</code>:
 先設定Metabase的log檔案<code>/etc/rsyslog.d/metabase.conf</code>:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">

於 2023年9月6日 (三) 21:35 的最新修訂

Metabase是一套BI視覺化工具。

安裝

Metabase的硬體需求不高[1][2],我自己在GCE上用1GB RAM的機器跑還可以。

Metabase需要Java 11+的版本[3],而在Ubuntu 20.04與22.04下預設就是Java 11,所以可以直接用內建的default-jre並且取得已經編譯好的jar檔:

sudo apt install -y default-jre; sudo apt clean; mkdir ~/metabase; cd ~/metabase; wget -O metabase-0.47.0.jar https://downloads.metabase.com/v0.47.0/metabase.jar; ln -s metabase-0.47.0.jar metabase.jar

執行

預設的模式是讓使用者嘗鮮,不需要使用外部的資料庫儲存資料,會使用Java的H2存放資料:

java -jar metabase.jar

如果使用PostgreSQL,可以建立一個start.sh,將連線資訊指定到環境變數[4],這邊另外指定了Port 8000為網頁的接口:

#!/bin/bash

export MB_DB_TYPE=postgres
export MB_DB_DBNAME=metabase
export MB_DB_PORT=5432
export MB_DB_USER=metabase
export MB_DB_PASS=metabasepassword
export MB_DB_HOST=db-metabase.srv.example.net
export MB_JETTY_PORT=8000

java -jar metabase.jar

設定

先設定Metabase的log檔案/etc/rsyslog.d/metabase.conf

#
if $programname == 'metabase' then /var/log/metabase.log
& stop

使用PostgreSQL前需要先有最基本的權限,讓Metabase連上後可以初始化:

CREATE USER metabase WITH ENCRYPTED PASSWORD 'metabasepassword';
GRANT metabase TO postgres;
CREATE DATABASE metabase OWNER = metabase;

開機透過systemd自動執行Metabase有兩個檔案要設定,一個是/etc/systemd/system/metabase.service

[Unit]
Description=Metabase server
After=syslog.target
After=network.target

[Service]
WorkingDirectory=/home/service-metabase/metabase
ExecStart=/usr/bin/java -jar /home/service-metabase/metabase/metabase.jar
EnvironmentFile=/etc/default/metabase
User=service-metabase
Type=simple
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=metabase
SuccessExitStatus=143
TimeoutStopSec=120
Restart=always

[Install]
WantedBy=multi-user.target

另外一個是/etc/default/metabase

#
MB_DB_TYPE=postgres
MB_DB_DBNAME=metabase
MB_DB_PORT=5432
MB_DB_USER=metabase
MB_DB_PASS=metabasepassword
MB_DB_HOST=db-db-metabase.srv.example.net
MB_JETTY_PORT=8000

這個檔案設定完成後建議將權限改成600

sudo chmod 600 /etc/default/metabase

檔案設定完後需要指定開機跑起來:

sudo systemctl daemon-reload; sudo systemctl enable metabase.service

參考資料

  1. Minimum / Recommended Hardware Requirement. 2017-12-12 [2023-09-06] (English). 
  2. Metabase: RAM Usage. 2019-11-19 [2023-09-06] (English). 
  3. Java versions. [2023-09-06] (English). 
  4. Environment variables. [2023-09-06] (English). 

外部連結