Metabase:BI 分析工具
使用 Metabase 进行快速的商业智能分析,友好的用户界面让团队自主探索数据。
Metabase 是一个快速、易用的开源商业智能工具,让您的团队无需 SQL 知识即可探索和可视化数据。
Metabase 提供友好的用户界面和丰富的图表类型,支持连接多种数据库,是企业数据分析的理想选择。
快速开始
在 Pigsty 软件模板目录中提供了 Metabase 的 Docker Compose 配置文件:
cd ~/pigsty/app/metabase
检查并修改 .env 配置文件:
vim .env # 检查配置,建议修改默认凭据
启动服务:
make up # 使用 Docker Compose 启动 Metabase
访问 Metabase:
- 默认地址: http://metabase.pigsty
- 备用地址: http://10.10.10.10:3001
- 首次访问需要完成初始化设置
管理命令
Pigsty 提供了便捷的 Makefile 命令来管理 Metabase 服务:
make up # 启动 Metabase 服务
make run # 使用 Docker 启动(连接外部 PostgreSQL)
make view # 显示 Metabase 访问地址
make log # 查看容器日志
make info # 查看服务详细信息
make stop # 停止服务
make clean # 停止并移除容器
make pull # 拉取最新镜像
make rmi # 移除 Metabase 镜像
make save # 保存镜像到文件
make load # 从文件加载镜像
连接 PostgreSQL
Metabase 可以连接到 Pigsty 管理的 PostgreSQL 数据库。
在 Metabase 初始化或添加数据库时,选择「PostgreSQL」,然后输入连接信息:
数据库类型:PostgreSQL
名称:自定义名称(如 "生产数据库")
主机:10.10.10.10
端口:5432
数据库名:your_database
用户名:dbuser_meta
密码:DBUser.Meta
连接成功后,Metabase 会自动扫描数据库结构,您可以开始创建问题和仪表板。
功能特性
- 无需 SQL:通过可视化界面构建查询
- 丰富的图表类型:折线图、柱状图、饼图、地图等
- 交互式仪表板:创建美观的数据仪表板
- 自动刷新:定时更新数据和仪表板
- 权限管理:精细的用户和数据访问控制
- SQL 模式:高级用户可以直接编写 SQL
- 嵌入功能:将图表嵌入到其他应用
- 告警功能:数据变化自动通知
配置说明
Metabase 的配置在 .env 文件中:
# Metabase 元数据库(建议使用 PostgreSQL)
MB_DB_TYPE=postgres
MB_DB_DBNAME=metabase
MB_DB_PORT=5432
MB_DB_USER=dbuser_metabase
MB_DB_PASS=DBUser.Metabase
MB_DB_HOST=10.10.10.10
# 应用配置
JAVA_OPTS=-Xmx2g
建议:为 Metabase 使用独立的 PostgreSQL 数据库存储元数据。
数据持久化
Metabase 的元数据(用户、问题、仪表板等)存储在配置的数据库中。
如果使用 H2 数据库(默认),数据会保存在 /data/metabase 目录。强烈建议在生产环境中使用 PostgreSQL 作为元数据库。
性能优化
- 使用 PostgreSQL:替代默认的 H2 数据库
- 增加内存:通过
JAVA_OPTS=-Xmx4g增加 JVM 内存 - 数据库索引:为常查询的字段创建索引
- 结果缓存:启用 Metabase 的查询结果缓存
- 定时更新:合理设置仪表板的自动刷新频率
安全建议
- 修改默认凭据:修改元数据库的用户名和密码
- 启用 HTTPS:生产环境配置 SSL 证书
- 配置认证:启用 SSO 或 LDAP 认证
- 限制访问:通过防火墙限制访问
- 定期备份:备份 Metabase 元数据库
相关链接
- Metabase 官网: https://metabase.com/
- 官方文档: https://www.metabase.com/docs/
- GitHub 仓库: https://github.com/metabase/metabase
- Pigsty 软件模板: https://github.com/Vonng/pigsty/tree/main/app/metabase