1. 项目目标
(1)了解metabase特点
(2)熟练部署metabase工具
(3)掌握metabase基本使用
2. 项目准备
2.1. 规划节点
主机名 | 主机IP | 节点规划 |
10.0.1.141 |
2.2. 基础准备
系统镜像:CentOS 7.9
安装包下载网址:http://downloads.metabase.com/v0.42.4/metabase.jar
环境准备:Jdk8,MySQL环境
3. 项目实施
3.1. metabase入门
3.1.1. metabase特点
- 支持的数据源:Postgres、MySQL、Druid、SQL Server、Redshift、MongoDB、Google BigQuery、SQLite、H2、Oracle、Vertica、Presto、Snowflake、SparkSQL。
- 数据准备方式:支持 SQL 查询、简单查询和自定义查询。
- 支持的图表类型:曲线、柱状、条形、饼图、面积图、组合图、地图、漏斗、散点、仪表盘等
- 邮件报警:可以使用已有查询配置数据阈值报警,发送邮件。
- 仪表板功能:支持参数传递、一键全屏、公开分享、iframe 嵌入、定时刷新
- 用户集成:LDAP、OAuth2
- 权限:支持按数据源或者报表文件夹分配权限给用户组。
3.2. metabase安装部署
下载metabase.jar
mkdir /opt/metabase
cd /opt/metabase
curl -O http://downloads.metabase.com/v0.42.4/metabase.jar
安装jdk
yum install -y java-1.8.0-openjdk.x86_64
安装MySQL
MySQL 8.0的三种安装方式
安装metabase
java -jar metabase.jar
或者后台运行
nohup java -jar metabase.jar > /opt/metabase/run.log 2>&1 &
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
访问metabase:ip:3000
metabase也可以使用docker快速开始:
docker run -d -p 3000:3000 metabase/metabase
3.3. metabase的基础使用
1)metabase基本配置
选择使用的语言
设置管理员用户
选择使用的数据库,这里我选择使用MySQL
导入准备好的数据库表:
MySQL示例数据库
mysql -uroot -p000000 < mysqldemo.sql
输入数据库相关信息。
使用MySQL8.0公钥问题,需要添加allowPublicKeyRetrieval=true才能连接成功。
连接时会出现没有权限连接数据库的问题,解决方法。
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
成功部署metabase
2)简单查询
操作界面设计得非常简洁易用,用户只需通过鼠标点击就能轻松获取所需信息,无需掌握复杂的数据库查询语言,非常适合初学者使用。
添加新的question(疑问)使用刚刚添加的数据库mysqldemo数据库
添加筛选的内容,比如统计平均的信用额度。
查看信用额度的分配情况
可视化使用柱状图查看。
单击保存,设置这个图表的名字和描述即可保存。
3)添加新的仪表盘
单击 新的 -> 仪表盘
设置仪表盘名字,描述,合集后单击创建。
单击编辑仪表盘,即可添加需要的图表。
单击需要的图表即可添加到仪表盘。
4)SQL原生查询
单击 新的 -> SQL查询
查询查找职位名称为Sales Rep的员工:
SELECTlastname,firstname,jobtitle
FROMemployees
WHEREjobtitle = 'Sales Rep';
可把jobtitle变成变量来编辑,可以添加字段过滤器。
SELECTlastname,firstname,jobtitle
FROMemployees
WHEREjobtitle = {{jobtitle}};
单击保存即可保存图表。
5)用户权限管理
单击 设置齿轮图表 -> 管理员设置
单击 人员 -> 邀请某人,添加人员。
填入用户信息后单击 创建。
生成了一个临时密码,单击显示可以查看密码,也可以复制。
单击 人员 -> 分组 ->创建分组
这里添加了一个“运维部”分组
把刚刚创建的人员添加到运维部。
单击 权限 -> 查看运维部权限
根据需求配置权限
也可以单独授权某个表的权限。