用最简单、快速的方式让你们公司的每一位拥有商业智能与分析。
Metabase 介绍
Metabase 有两个版本,开源版和企业版,有两种方式将它们部署到生成环境:
- Metabase 云,有钱不想自己折腾的选择,但数据访问比较受限制
- 自己托管,在自己的机器上或者是云服务商的主机上
对于 Metabase 云,他们会帮你搞定设置,备份,升级,你只需要专注在使用上,而不需要管如何部署等等。
对于自己托管的方案,我们需要准备两个东西:
- 一台服务器运行 Metabase 应用
- 一个应用的服务器,用来存储 Metabase 运行期间产生的数据
对于部署方式,用户是感觉不到任何差别的,实际上 Metabase 文档也写了,在底层即便是使用 Docker,Metabase 也是使用 Metabase JAR 的方式运行。
另外对于这一点的选择,也与 team 内部成员的技术储备有关,如果你的 team 成员比较懂 Docker,比如 服务器、网络等技术,则选择 Docker,否则选择 JAR;如果你的 taem 成员对两者都是差不多的懂,则选择 JAR,因为它需要学习的内容相对较少。
对于数据库,建议使用 PostgreSQL,MySQL,或者 MariaDb。
如果你使用云主机,则它们会自动帮你处理备份,否则你就需要自己备份。
使用 docker 部署
使用 docker 部署 metabase 非常简单,打开 Metabase 官方的 docker image 页面。
复制下面的语句,将 docker image 拉取下来
1 | docker pull metabase/metabase |
然后,直接启动:
1 | # 我 windows 机器上,3000 端口无法打开,所以将其设置为 8889 |
然后访问本机的 8889 端口就可以看到欢迎界面了。
但是在添加数据库的界面中,是没有 Oracle 的,对我来说这是刚需,没办法得配置一下。
需要我们去 Oracle 下载 JDBC Driver JAR 文件,并放到容器内的 plugins 文件夹。
- 访问 Oracle JDBC 下载页面,这里是文档内推荐的版本
- 往下面找到 ojdbc8.jar
- 使用 docker cp 命令从宿主机拷贝该包到容器内
1 | docker cp C:\Users\Scott\Downloads\ojdbc8.jar 614bccac20ce:/plugins/ |
或者也可以直接在启动的时候,将文件映射进去:
1 | docker run -d -p 3000:3000 \ |
这里的 plugins 文件夹中需要有 ojdbc8.jar
文件。如果你配置后连接数据库有编码错误,可以从 oracle 下载完整版的驱动,将其中的 orai18n.jar
也放进去。
然后打开 metabase ,添加数据库连接,即可看到 Oracle 也出现在列表中了。
至此,使用 Docker 对于 Meta 的部署就结束了。
还有一些高级的内容,比如如何将应用的数据存储在 docker 外部,或者是存储在 postgres 数据库中,可以参考官网的文档。
配置邮箱
一开始使用 Metabase 设置邮箱,参考 Metabase 的官网文档(2022-2-21)并没有 outlook 的设置教程, 但设置的过程和参数应该是差不多的。
于是搜索 smtp outlook 的设置文档,找到了微软的帮助文档: POP, IMAP, and SMTP settings
按照微软的教程:
1 | SMTP: smtp.office365.com |
取决于你公司的配置,你可能直接配置成功,或者也有可能像我一样遇到无法连接到 smtp 服务器的情况。
这时候需要你检查你公司的smtp邮件服务器地址,然后将端口换成25再试试。
可使用 telnet 命令来测试与邮件服务器的连接,如:
telnet smtp.office365.com 25
是测试到该网址的25端口连接情况。
如果你公司的地址是 google.com,那么你公司的邮件服务器地址有可能是:
1 | google.mail.protection.outlook.com |