「Metabase」:修訂間差異

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋
本頁面具有訪問限制。如果您看見此訊息,這代表您沒有訪問本頁面的權限。
標籤已被回退
標籤手動回退
行 86: 行 86:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
sudo systemctl daemon-reload; sudo systemctl enable metabase.service; sudo service metabase start
sudo systemctl daemon-reload; sudo systemctl enable metabase.service
</syntaxhighlight>
</syntaxhighlight>



於 2023年9月6日 (三) 21:13 的修訂

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

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

開機透過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

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

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). 

外部連結