当前位置: 首页 > article >正文

Metabase:零代码 BI 数据可视化工具,自建数据看板

Metabase零代码 BI 数据可视化工具自建数据看板在数据驱动决策的时代能快速看到业务数据的变化趋势至关重要。然而专业 BI 工具如 Tableau、Power BI价格昂贵而让每个业务同学都学 SQL 又不现实。Metabase 正是为了解决这个矛盾而生它是一款完全开源的 BI 工具通过可视化的问题构建器无需写 SQL让任何人都能查询数据库、创建图表、搭建仪表盘并一键分享给团队。本文将带你在自己的服务器上使用 Docker Compose 部署 Metabase配置 Caddy 反代连接你的业务数据库并演示从创建问题到构建仪表盘的完整工作流。Metabase 能做什么可视化问题构建器点击选择数据表 → 添加过滤条件 → 设置分组聚合 → 选择图表类型全程鼠标操作无需 SQL原生 SQL 编辑器高级用户可以直接写 SQL结果同样可以可视化仪表盘将多个图表组合成仪表盘支持钻取drill-through交互定时报告按日/周/月自动将仪表盘以邮件或 Slack 推送给订阅者数据告警当某个指标超过阈值时触发通知公开链接生成无需登录即可查看的嵌入链接方便分享给外部用户嵌入将图表嵌入到自己的应用中开源版支持简单嵌入Metabase 支持连接几乎所有主流数据库PostgreSQL、MySQL、SQLite、ClickHouse、MongoDB、BigQuery、Snowflake、Redshift、SQL Server、Oracle 等。服务器配置Metabase 基于 JavaJVM运行加上查询结果缓存对内存的需求比较高。推荐使用2 核 4GB 机型这是 Metabase 官方建议的最低生产环境配置如果数据量较大、并发查询多建议升级至 4 核 8GB。推荐使用雨云服务器 rainyun-com来部署 Metabase注册填优惠码2026off可领取 5 折。雨云提供大带宽、低延迟的云主机非常适合部署需要稳定运行的数据分析工具。环境要求操作系统Ubuntu 22.04 LTSCPU2 核及以上内存4GB 及以上建议 JVM 堆内存 2GB磁盘20GB 及以上开放端口80、443Docker Compose 部署安装 Dockersudoaptupdatesudoaptupgrade-ycurl-fsSLhttps://get.docker.com|sudoshsudousermod-aGdocker$USERnewgrpdocker创建项目目录mkdir-p~/metabasecd~/metabase编写 docker-compose.ymlversion:3.9services:metabase:image:metabase/metabase:latestcontainer_name:metabaserestart:unless-stoppedports:-127.0.0.1:3000:3000environment:MB_DB_TYPE:postgresMB_DB_DBNAME:metabaseMB_DB_PORT:5432MB_DB_USER:metabaseMB_DB_PASS:metabasepassMB_DB_HOST:postgres# 可选设置 JVM 堆内存JAVA_OPTS:-Xmx2g# 可选设置时区MB_TIMEZONE:Asia/Shanghaidepends_on:postgres:condition:service_healthyvolumes:-metabase_data:/metabase-datapostgres:image:postgres:15-alpinecontainer_name:metabase-postgresrestart:unless-stoppedenvironment:POSTGRES_DB:metabasePOSTGRES_USER:metabasePOSTGRES_PASSWORD:metabasepassvolumes:-postgres_data:/var/lib/postgresql/datahealthcheck:test:[CMD-SHELL,pg_isready -U metabase]interval:10stimeout:5sretries:5volumes:metabase_data:postgres_data:说明这里的 PostgreSQL 是 Metabase 自身的应用数据库存储用户、问题、仪表盘配置等不是你要分析的业务数据库。业务数据库在初始设置向导中单独配置连接。启动服务dockercompose up-dMetabase 首次启动需要初始化数据库通常需要 1~2 分钟。查看启动日志dockercompose logs-fmetabase看到Metabase Initialization COMPLETE即表示启动成功。Caddy 反代配置安装 Caddysudoaptinstall-ydebian-keyring debian-archive-keyring apt-transport-httpscurl-1sLfhttps://dl.cloudsmith.io/public/caddy/stable/gpg.key|sudogpg--dearmor-o/usr/share/keyrings/caddy-stable-archive-keyring.gpgcurl-1sLfhttps://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt|sudotee/etc/apt/sources.list.d/caddy-stable.listsudoaptupdatesudoaptinstallcaddy编辑 Caddyfilesudonano/etc/caddy/Caddyfile添加以下内容metabase.yourdomain.com { reverse_proxy localhost:3000 { header_up X-Real-IP {remote_host} header_up X-Forwarded-For {remote_host} } # 开启 gzip 压缩 encode gzip # 日志 log { output file /var/log/caddy/metabase.log { roll_size 10mb roll_keep 5 } } }创建日志目录并重载 Caddysudomkdir-p/var/log/caddysudosystemctl reload caddy初始设置向导访问https://metabase.yourdomain.com进入初始设置向导。第一步创建管理员账号填写姓名、邮箱和密码这是 Metabase 的超级管理员账号妥善保管。第二步选择语言Metabase 支持中文简体选择后界面全部切换为中文。第三步添加数据这一步配置你要分析的业务数据库不是 Metabase 自身的 PostgreSQL。以连接外部 PostgreSQL 为例数据库类型PostgreSQL显示名称生产数据库主机your_db_host端口5432数据库名your_database用户名readonly_user建议创建只读用户密码your_password点击测试连接确认连通性后保存。第四步完成设置向导完成后进入 Metabase 主界面左侧是导航栏顶部有搜索框。创建问题可视化查询Metabase 将每一次查询称为问题Question。使用可视化查询构建器点击顶部 新建→问题选择数据源和数据表如orders表筛选点击 “筛选” 按钮添加条件如status paid、created_at在过去 30 天内汇总点击 “汇总” 按钮选择聚合方式如 “按 created_at 按天分组统计行数”可视化Metabase 自动推荐图表类型也可手动切换为折线图、柱状图、饼图、地图等点击右上角保存为问题起个名字使用原生 SQL点击 新建→问题→原生查询在编辑器中输入 SQLSELECTDATE_TRUNC(day,created_at)ASdate,COUNT(*)ASorder_count,SUM(total_price)ASrevenueFROMordersWHEREcreated_atNOW()-INTERVAL30 daysANDstatuspaidGROUPBY1ORDERBY1;点击运行结果自动渲染为图表SQL 编辑器还支持变量实现动态筛选SELECT*FROMordersWHEREstatus{{status}}ANDcreated_at{{ start_date }}创建仪表盘点击顶部 新建→仪表盘命名为业务概览进入编辑模式点击右上角 添加→ 选择已保存的问题拖拽调整图表的位置和大小点击添加筛选器可以添加全局日期范围筛选器联动所有图表点击保存钻取Drill-through在仪表盘上点击图表中的某个数据点Metabase 会自动展示该数据点的明细数据无需额外配置。例如点击柱状图中某天的订单数会列出当天的所有订单列表。嵌入图表Metabase 开源版支持将图表嵌入到外部页面在问题或仪表盘页面点击右上角分享→嵌入此问题开启启用嵌入复制生成的 iframe 代码将代码粘贴到你的网页中iframesrchttps://metabase.yourdomain.com/embed/question/TOKEN#hide_parameterstrueframeborder0width800height600allowtransparency/iframe定时 PDF 报告打开一个仪表盘点击右上角的时钟图标→订阅选择邮件或Slack配置发送频率每天 9:00、每周一等添加收件人邮箱保存订阅注意需要先在管理后台→设置→电子邮件中配置 SMTP 服务器。管理用户与权限Metabase 支持细粒度的数据权限控制用户组创建不同权限的用户组如销售团队、“技术团队”数据权限为每个用户组配置可访问的数据库、数据表集合权限控制哪些用户组能查看哪些仪表盘和问题在管理后台→权限中进行配置。结语Metabase 让数据分析从工程师专属变成了人人可用——业务同学通过点选操作就能回答上周销售额是多少、哪个渠道的转化率最高这类问题不再需要等待技术同学写 SQL。自托管意味着数据留在你自己的服务器上安全可控也没有 SaaS 版本的用户数限制。

相关文章:

Metabase:零代码 BI 数据可视化工具,自建数据看板

Metabase:零代码 BI 数据可视化工具,自建数据看板 在数据驱动决策的时代,能快速看到业务数据的变化趋势至关重要。然而,专业 BI 工具(如 Tableau、Power BI)价格昂贵,而让每个业务同学都学 SQL …...

Taotoken的稳定性与低延迟在实时对话应用中的实际体验

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken的稳定性与低延迟在实时对话应用中的实际体验 在开发需要快速响应的AI聊天应用时,后端API的稳定性和延迟表现是…...

京东自动购物终极指南:告别缺货烦恼,智能抢购神器

京东自动购物终极指南:告别缺货烦恼,智能抢购神器 【免费下载链接】Jd-Auto-Shopping 京东商品补货监控及自动下单 项目地址: https://gitcode.com/gh_mirrors/jd/Jd-Auto-Shopping 还在为心仪商品瞬间售罄而苦恼吗?还在熬夜等待补货却…...

反向海淘站点常见配置故障复盘与数据一致性优化方案

摘要反向海淘独立站运行过程中,容易出现价格换算异常、页面语种错乱、商品同步失败、订单状态停滞、运费计算偏差等问题。多数故障并非系统底层缺陷,而是配置逻辑理解偏差、数据规范不统一引发。本文结合实际运维场景,汇总高频故障成因&#…...

告别KITTI!用TartanAir数据集在Unreal Engine+AirSim里复现那些让VSLAM算法“翻车”的雨天和黑夜

超越KITTI:用TartanAir数据集在虚拟极端环境中锤炼VSLAM算法当视觉SLAM算法在KITTI数据集上取得95%的准确率时,开发者们常常会松一口气——直到这些算法被部署到真实世界的雨夜街道上。突然之间,那些在阳光明媚的德国道路上表现优异的特征点检…...

CTF出题人视角:从NewStarCTF 2023的WEB题,聊聊PHP特性与Flask Debug的那些‘坑’

CTF出题艺术:从PHP特性到Flask Debug的攻防博弈 当一道精心设计的CTF题目被成功破解时,出题人与解题者之间往往存在一场无声的思维交锋。作为NewStarCTF 2023 WEB方向的出题人,我想通过复盘"Begin of PHP"和"ErrorFlask"…...

观察不同模型在统一 API 下的响应速度与输出风格差异

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 观察不同模型在统一 API 下的响应速度与输出风格差异 在为大语言模型应用选择模型时,开发者通常会关注两个核心维度&am…...

告别KITTI!用TartanAir数据集在Unreal Engine仿真环境里“虐”你的VSLAM算法(附保姆级下载与使用指南)

用TartanAir数据集在Unreal Engine中打造VSLAM算法的"极限考场"当你的视觉SLAM算法在KITTI数据集上跑出98%的准确率时,是否意味着它已经准备好应对真实世界的复杂场景?现实往往会给乐观的开发者当头一棒——实验室里的"优等生"在遇到…...

告别依赖冲突:在Debian12上为特定项目搭建Python2.7.18独立运行环境

告别依赖冲突:在Debian12上为特定项目搭建Python2.7.18独立运行环境 当现代Linux系统已全面拥抱Python3的时代,突然需要维护一个仅支持Python2.7的遗留项目,这种场景对开发者而言无异于一场噩梦。本文将带你用工程化的思维,在Deb…...

实战解锁:在Blender中掌握专业级MMD动画制作全流程

实战解锁:在Blender中掌握专业级MMD动画制作全流程 【免费下载链接】blender_mmd_tools MMD Tools is a blender addon for importing/exporting Models and Motions of MikuMikuDance. 项目地址: https://gitcode.com/gh_mirrors/bl/blender_mmd_tools MMD …...

BetterNCM安装器终极指南:5分钟解锁网易云音乐无限潜能

BetterNCM安装器终极指南:5分钟解锁网易云音乐无限潜能 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 你是否觉得网易云音乐PC版功能有限,界面单调&#xff1f…...

为什么你的Midjourney雾效总像“水汽”而非“山岚”?——资深CG总监拆解大气散射物理模型在--v 6.1中的3层映射偏差

更多请点击: https://kaifayun.com 第一章:为什么你的Midjourney雾效总像“水汽”而非“山岚”? Midjourney 生成的雾气常呈现为均匀、半透明、边界模糊的“水汽感”——厚重、潮湿、缺乏层次与呼吸感。这并非模型能力不足,而是提…...

基于CNN的食双星光变曲线自动化参数初估模型EBOP MAVEN

1. 项目概述与核心价值在恒星天体物理领域,食双星系统一直扮演着“宇宙实验室”的关键角色。通过分析两颗恒星相互绕转时周期性相互遮挡产生的光变曲线,我们可以像解谜一样,精确反演出恒星的质量、半径、轨道倾角等基本物理参数。这些参数是构…...

Hermes Agent工具如何自定义接入Taotoken提供商

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Hermes Agent工具如何自定义接入Taotoken提供商 Hermes Agent 是一款功能强大的AI智能体开发框架,它支持通过自定义提供…...

Sora 2 GIF导出速度提升300%?20年多媒体架构师亲授GPU加速转码链路(CUDA 12.4 + cuVID硬编实测)

更多请点击: https://kaifayun.com 第一章:Sora 2 GIF导出方法概览 Sora 2 并非 OpenAI 官方发布的模型,当前(截至2024年)并无名为“Sora 2”的公开产品。因此,所谓“Sora 2 GIF导出”实为社区对视频生成工…...

UE5 Cesium项目里,如何把默认的飞行Pawn换成建筑漫游Pawn?保姆级迁移教程

UE5 Cesium项目建筑漫游Pawn迁移实战:从飞行模式到精细化浏览的完整指南当你在UE5中结合Cesium插件构建数字孪生场景时,DynamicPawn提供的全球飞行体验令人印象深刻。但当视角聚焦到单体建筑或室内空间时,那种仿佛操控无人机般的操作方式就显…...

Arduino土壤湿度监测仪制作:从传感器原理到自动灌溉实现

1. 项目概述:用Arduino Uno和LCD屏打造你的土壤湿度监测仪作为一个喜欢在阳台种点番茄、辣椒的业余园丁,我经常为浇水这事儿头疼。浇多了怕烂根,浇少了又怕旱着,光靠手指插土里感觉,实在是不准。后来玩上了Arduino&…...

【C++】零基础入门 · 第 6 节:数组

上一节我们学习了函数,知道了如何把代码封装起来方便复用。但在实际编程中,你很快就会遇到一个问题:如果要存储 100 个学生的成绩,难道要定义 100 个变量吗?这显然不现实。数组就是 C++ 给出的答案——它让我们能用一个变量名管理一组相同类型的数据。 1. 为什么需要数组…...

【C++】零基础入门 · 第 5 节:函数基础

前面四节我们写的代码都集中在 main 函数里。随着程序变复杂,所有逻辑堆在一起会越来越难维护。函数就是用来解决这个问题的——它把一段代码「打包」起来,取个名字,需要的时候调用就行。 1. 为什么需要函数 假设你需要在程序的不同地方打印一行分隔线: cout << &…...

【C++】零基础入门 · 第 4 节:循环结构(while、for、do-while)

上一节我们学习了条件判断&#xff0c;这一节来学习循环结构。循环让程序能够重复执行某段代码&#xff0c;直到满足特定条件为止。C 提供了三种循环语句&#xff1a;while、for 和 do-while。 1. while 循环&#xff1a;先判断后执行 while 循环在每次执行前先检查条件&#x…...

利用 Taotoken 多模型能力为智能客服场景提供备份路由

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 利用 Taotoken 多模型能力为智能客服场景提供备份路由 智能客服系统是许多企业与用户交互的关键入口&#xff0c;其响应能力和服务…...

Godot 4.2 + C# 避坑指南:手把手教你打包发布你的第一个2D游戏到Steam

Godot 4.2 C# 避坑指南&#xff1a;从开发到Steam发布的完整实战手册当你终于完成心爱的2D游戏开发&#xff0c;准备向全世界展示你的作品时&#xff0c;打包发布这个看似简单的环节往往会成为独立开发者最大的噩梦。特别是使用Godot 4.2搭配C#的项目&#xff0c;从导出设置到…...

Linux平台终极Jellyfin客户端:如何用Tsukimi打造专业级媒体中心体验?

Linux平台终极Jellyfin客户端&#xff1a;如何用Tsukimi打造专业级媒体中心体验&#xff1f; 【免费下载链接】tsukimi A simple third-party Jellyfin client for Linux 项目地址: https://gitcode.com/gh_mirrors/ts/tsukimi 你是否厌倦了网页版Jellyfin的笨重体验&am…...

如何快速实现U盘文件自动备份:USBCopyer终极指南

如何快速实现U盘文件自动备份&#xff1a;USBCopyer终极指南 【免费下载链接】USBCopyer &#x1f609; 用于在插上U盘后自动按需复制该U盘的文件。”备份&偷U盘文件的神器”&#xff08;写作USBCopyer&#xff0c;读作USBCopier&#xff09; 项目地址: https://gitcode.…...

Unity项目实战:用TriLib插件动态加载FBX模型,5分钟搞定外部资源读取

Unity项目实战&#xff1a;用TriLib插件高效加载外部FBX模型的完整指南在VR展示、产品配置器等需要动态加载用户上传模型的场景中&#xff0c;如何快速实现外部FBX文件的读取是许多Unity开发者面临的挑战。传统的手动导入方式不仅效率低下&#xff0c;更无法满足运行时动态加载…...

避坑指南:Unity动态加载模型时,TriLib插件材质丢失、缩放异常的5个常见问题解决

Unity动态加载模型避坑指南&#xff1a;TriLib插件材质丢失与缩放异常的深度解决方案当你在Unity项目中尝试使用TriLib插件动态加载外部模型时&#xff0c;是否遇到过这些令人抓狂的情况&#xff1a;模型加载后材质全部变成刺眼的粉红色&#xff0c;贴图神秘消失&#xff0c;或…...

从《吃豆人》到开放世界:聊聊Unity Navigation里Agent Radius和Cost的那些‘潜规则’

从《吃豆人》到开放世界&#xff1a;Unity Navigation中Agent Radius与Cost的隐藏逻辑1980年诞生的《吃豆人》用简单的迷宫路径定义了早期游戏AI的移动规则——幽灵们沿着固定路线巡逻&#xff0c;遇到转角时随机选择方向。这种设计在当时堪称革命性&#xff0c;但以今天的标准…...

CA-CFAR、GO-CFAR、SO-CFAR怎么选?一张图看懂三种恒虚警检测算法的适用场景与避坑指南

CA-CFAR、GO-CFAR、SO-CFAR工程选型指南&#xff1a;从算法原理到场景适配 雷达信号处理工程师常常面临一个经典难题&#xff1a;在复杂环境中如何选择合适的恒虚警检测算法&#xff1f;当海面杂波、多目标干扰或低信噪比条件同时出现时&#xff0c;CA、GO、SO三种CFAR变体的性…...

如何用免费工具解锁QQ音乐、网易云音乐等加密格式:3分钟解决音乐播放限制

如何用免费工具解锁QQ音乐、网易云音乐等加密格式&#xff1a;3分钟解决音乐播放限制 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web…...

Unity新手避坑指南:NavMesh烘焙参数(Agent Radius/Height)到底怎么设?附场景实测

Unity导航系统深度解析&#xff1a;Agent参数设置与场景适配实战在Unity游戏开发中&#xff0c;导航系统(Navigation System)是实现角色智能移动的核心模块。对于刚接触Unity导航系统的开发者来说&#xff0c;Agent Radius(代理半径)和Agent Height(代理身高)这两个参数的设置往…...