如何在Ubuntu20.04部署Metabase

Metabase是一款简单的开源BI工具。Metabase的两个核心概念是问题及其对应的答案,Metabase一切都基于问题和答案。Metabase有以下特点:

  • 在五分钟内完成设置(我们不是在开玩笑)。
  • 让团队中的任何人在不了解SQL的情况下提出问题。
  • 更复杂的查询可使用SQL编辑器实现。
  • 使用过滤器、自动刷新、全屏和自定义点击行为构建美观的交互式仪表板。
  • 创建清理、注释和组合原始表的模型。
  • 定义规范的细分和指标供您的团队使用。
  • 使用仪表板订阅按计划将数据发送到Slack或电子邮件。
  • 设置警报,让Metabase在您的数据更改时通知您。
  • 在您的应用程序甚至整个元数据库中嵌入图表和仪表板。

metabase 看板

官方支持的数据库,以下数据库的官方驱动程序是由Metabase团队进行维护的。付费计划的客户将获得官方支持。

安装依赖

本文使用PostgreSQL数据库作为Metabase的数据库,使用以下命令安装依赖:

1
sudo apt-get install openjdk-17-jdk postgresql postgresql-contrib nginx

创建PostgreSQL数据库和数据库用户

  • 通过以下命令登录到PostgreSQL数据库:

    1
    sudo -u postgres psql
  • 创建Superset数据库

    1
    CREATE DATABASE metabase_db;
  • 创建数据库用户

    1
    CREATE USER metabase_user WITH PASSWORD 'password';
  • 修改数据库链接参数

    1
    2
    3
    ALTER ROLE metabase_user SET client_encoding TO 'utf8';
    ALTER ROLE metabase_user SET default_transaction_isolation TO 'read committed';
    ALTER ROLE metabase_user SET timezone TO 'UTC';
  • superset_user访问管理superset数据库

    1
    GRANT ALL PRIVILEGES ON DATABASE metabase_db TO metabase_user;
  • 配置完成后使用以下命令退出PostgreSQL交互界面

    1
    \q

安装和配置Metabase

  • 下载最新版的Metabase jar包,当前最新的版本是v0.43.1

    1
    wget https://downloads.metabase.com/v0.43.1/metabase.jar
  • 创建Metabase配置文件mkdir -p /etc/metabase && sudo vim /etc/metabase/config

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    MB_PASSWORD_COMPLEXITY=strong
    MB_PASSWORD_LENGTH=10
    MB_JETTY_HOST=127.0.0.1
    MB_JETTY_PORT=3000
    MB_DB_TYPE=postgres
    MB_DB_DBNAME=metabase_db
    MB_DB_PORT=5432
    MB_DB_USER=metabase_user
    MB_DB_PASS=password
    MB_DB_HOST=localhost
    MB_EMOJI_IN_LOGS=false
    • MB_PASSWORD_COMPLEXITY:密码复杂度,可填内容<weak|normal|strong>
    • MB_PASSWORD_LENGTH:密码最小长度;
    • MB_JETTY_HOST:Metabase绑定的地址;
    • MB_JETTY_HOST:Metabase监听的端口;
    • MB_DB_TYPE:数据库类型,可填内容<postgres|mysql|h2>
    • MB_DB_DBNAME:数据库名称;
    • MB_DB_PORT:数据库端口;
    • MB_DB_USER:数据库用户;
    • MB_DB_PASS:数据库用户密码;
    • MB_DB_HOST:数据库地址;
    • MB_EMOJI_IN_LOGS:日志中包含表情符号,默认情况下true,可填内容<true|false>
  • 创建系统日志配置文件/etc/rsyslog.d/metabase.conf

    1
    2
    if $programname == 'metabase' then /var/log/metabase.log
    & stop
  • 重启系统日志

    1
    sudo systemctl restart rsyslog.service
  • 创建Metabase服务/etc/systemd/system/metabase.service

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    [Unit]
    Description=Metabase server
    After=syslog.target
    After=network.target

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

    [Install]
    WantedBy=multi-user.target

    配置完成后执行以下命令

    1
    sudo systemctl daemon-reload
  • 配置Nginx

    1
    2
    3
    4
    5
    6
    7
    8
    server {
    listen 80;
    listen [::]:80;
    server_name your.domain.com;
    location / {
    proxy_pass http://127.0.0.1:3000;
    }
    }
  • 启动Metabase服务

    1
    sudo systemctl start metabase.service

初始化

  • 打开页面首先进入到以下界面,点击按钮开始初始化实例

    初始化

  • 配置语言

    语言

  • 配置管理员用户

    管理员用户

  • 添加数据库,这里我们先不添加

    添加数据库

  • 配置匿名信息

    匿名信息

  • 配置完成

    配置完成

    配置完成后

    主页

作者

Junle

发布于

2022-05-28

更新于

2024-04-01

许可协议

评论