










好问题——这是典型的"内部工具→给领导看"的场景。你现在的 Grafana 界面全是管理菜单、Search 框、Cancel/Save 按钮,领导看了会懵。目标是让他看到干净的仪表盘、只读、无侧栏、无登录。
Grafana 原生提供了几种方案,从简单到讲究我全给你梳理一遍,直接给你可用的配置。
| 方案 | 上手难度 | 用户体验 | 安全性 | 适用场景 |
|---|---|---|---|---|
| Kiosk 模式 URL | ★☆☆ | 全屏无侧栏 | 依赖登录 | 领导有账号 / 大屏值班室 |
| 匿名访问 + Kiosk | ★★☆ | 免登录直接看 | 需网络隔离 | 领导没账号,最常用 |
| Public Dashboard | ★☆☆ | 一个公开链接 | Grafana 官方公开分享 | 需要外部分享 |
| iframe 嵌入自有页面 | ★★★ | 完全定制 | 灵活 | 已有内部门户 |
| Snapshot 快照 | ★☆☆ | 静态数据 | 时点截图 | 汇报会用 |
我推荐方案二(匿名访问 + Kiosk 模式),最贴合你的场景——领导打开一个链接就是干净大屏,什么都不用点。
不改任何配置,只在 URL 末尾加参数:
http://172.16.0.8:4444/d/仪表盘ID/winserver19-1-3?kiosk
三种模式,从多到少:
?kiosk=tv —— 隐藏侧栏,保留顶栏(能切时间范围)?kiosk 或 ?kiosk=1 —— 全部隐藏,纯净大屏(推荐给领导)测试:现在这个页面 URL 末尾加 ?kiosk 刷新看看效果。不满意可以再切 ?kiosk=tv。
问题在于领导还是要先登录。想免登录看方案二。
给"来看仪表盘"这件事开一个只读的匿名通道,领导打开链接直接进。
Grafana 的 grafana.ini,常见位置:
# Linux 包安装
/etc/grafana/grafana.ini
# Docker 部署(宝塔一键那种)
/www/wwwroot/grafana/grafana.ini # 或容器里 /etc/grafana/grafana.ini
# 你的路径按实际找:
find / -name grafana.ini 2>/dev/null
打开 grafana.ini,找到 [auth.anonymous] 段(没有就自己加),改成:
[auth.anonymous]
enabled = true
# 匿名用户属于哪个组织,默认就叫 Main Org.
org_name = Main Org.
# 关键:给只读权限,防止匿名用户改仪表盘
org_role = Viewer
# 隐藏未登录时右下角的"登录"提示(可选)
hide_version = true
# systemd
systemctl restart grafana-server
# 或 Docker
docker restart grafana
# 或宝塔面板对应服务点重启
登录你自己的管理员账号 → 打开这个仪表盘 → 右上角 Share → Link 标签 → 复制链接。
然后到仪表盘的 Settings(齿轮图标)→ Permissions,确认 Viewer 角色能读(默认就能读,除非你显式禁用过)。
在方案一的链接后面拼上 ?kiosk:
http://172.16.0.8:4444/d/仪表盘ID/winserver19-1-3?kiosk
领导打开就是全屏、只读、无侧栏、无登录的大屏。
⚠️ 安全前提:匿名访问意味着内网里任何能打开这个 URL 的人都能看。你现在 IP 是
172.16.0.8,是内网地址,这没问题。但千万别把 4444 端口暴露到公网,否则全世界都能看你服务器的 CPU/内存。要给外部人看,用方案三或加 Nginx 反代 + IP 白名单。
如果领导在外网,用官方的 Public Dashboard 功能,会生成一个专门的公开 URL、只读、可以设过期时间:
http://你的域名:4444/public-dashboards/xxxxxxxx前提:Grafana 版本要 ≥ 10.0(推荐 10.4+,稳定版)。看你界面风格是新版应该没问题。可以在配置里限制 public_dashboards.enabled = true。
如果你想做一个"公司驾驶舱"页面,把 Grafana 面板嵌进去 + 加个 logo/标题/其他数据,用 iframe:
grafana.ini:
[security]
allow_embedding = true
# 如果 iframe 页面和 Grafana 不同域,还要开 cookie 策略
cookie_samesite = none
cookie_secure = true # 需 HTTPS
打开仪表盘中你想嵌入的那个 panel(比如 CPU 那张卡)→ 右上角三个点 → Share → Embed 标签 → 复制 iframe 代码,类似:
<iframe
src="http://172.16.0.8:4444/d-solo/仪表盘ID/winserver19-1-3?orgId=1&panelId=2&kiosk"
width="450" height="200" frameborder="0">
</iframe>
注意是 /d-solo/(单 panel)不是 /d/(整个仪表盘)。
给你写一个模板,直接可用:用法:
iframe 的 src 换成你从 Grafana 里 Share → Embed 复制的地址/www/wwwroot/dashboard/index.html)http://172.16.0.8/dashboard/ 就是自定义驾驶舱grafana.ini 里 allow_embedding = true 必须开如果只是特定时刻的报告(比如月度汇报),用 Share → Snapshot → Local Snapshot,Grafana 会把当前时刻的数据固化成一个静态快照页面,链接可以随便发,数据不再变化。适合 PPT 汇报,不适合日常监控。
领导日常想扫一眼 → 方案二(匿名 + Kiosk),一个链接直接看 需要给外部看/发到手机 → 方案三(Public Dashboard) 想做公司统一驾驶舱,整合多个系统 → 方案四(iframe 门户),我给你的 HTML 是起点
先试试方案一(就现在这个链接末尾加 ?kiosk 刷新),看下效果领导能不能接受,能接受就走方案二配置匿名,这是最快的路径。
我给你打包了驾驶舱 HTML 模板:想哪个方案先试哪个跟我说,配置文件位置或者 iframe 拿链接卡住的话截图给我,我看着帮你调。
你这个仪表盘用来给领导看正合适——右上角已经是全屏播放模式了(< ⏸ > ⛶ 那几个按钮就是),说明基础的干净展示已经调好。现在只差免登录。
一步步来。
find / -name grafana.ini 2>/dev/null
常见位置:
/etc/grafana/grafana.inidocker exec -it grafana cat /etc/grafana/grafana.ini/www/server/grafana/conf/grafana.ini 或类似vi /etc/grafana/grafana.ini # 按你的实际路径改
找到 [auth.anonymous] 段(用 /auth.anonymous 搜索),改成:
[auth.anonymous]
enabled = true
org_name = Main Org.
org_role = Viewer
hide_version = true
同一个文件里,找到 [users] 段,追加一行让匿名用户默认中文(对齐你现在的中文界面):
[users]
default_language = zh-Hans
再往下找 [security] 段,如果你之后想把这个仪表盘嵌到自己的门户页面里,顺手把这个也开了:
[security]
allow_embedding = true
保存退出。
# 直接装的
systemctl restart grafana-server
# Docker 的
docker restart grafana
# 宝塔面板
# 软件商店 → Grafana → 重启
开一个隐私/无痕浏览器窗口(这样不带你自己的登录 cookie),打开 Grafana 首页 http://172.16.0.8:4444/:
看你截图,你现在已经在播放模式(右上角有 < ⏸ > 上一页/暂停/下一页按钮,还有全屏图标),这个模式很适合领导看。
看你截图的浏览器 URL(虽然截图里看不到),应该长这样:
http://172.16.0.8:4444/d/仪表盘ID/仪表盘名字
在 URL 末尾拼上:
?kiosk&refresh=30s&theme=light
三个参数分别做什么:
kiosk → 隐藏侧栏和顶栏,纯净大屏refresh=30s → 每 30 秒自动刷新数据(领导不用手动刷)theme=light → 亮色主题(跟你现在这个一致);换 theme=dark 就是深色http://172.16.0.8:4444/d/xxxxx/zabbix-overview?kiosk&refresh=30s&theme=light
测试方法:把这个链接在隐私窗口里打开,看到的应该是——顶部只剩你截图右上那几个播放控制按钮,左侧完全没有菜单,整个页面就是仪表盘内容。这就是领导看到的样子。
看你截图右上角有 < ⏸ > 按钮——你把这个仪表盘加入了 Grafana 的播放列表(Playlist)里。这功能很适合大屏轮播:多个仪表盘按顺序自动切换。
如果领导想同时看多个页面(比如服务器状态 + 网络状态 + 应用状态),把这些仪表盘都加到一个 Playlist 里,然后发给领导 Playlist 的 kiosk 链接:
http://172.16.0.8:4444/playlists/play/播放列表ID?kiosk
这样领导打开一次,多个仪表盘自动轮播,值班室大屏挂着完美。
匿名访问不生效(隐私窗口还是要求登录),最常见原因:
配置文件路径不对——你改的可能不是 Grafana 实际用的那份。查看当前使用的配置:
# 直接装
systemctl status grafana-server | grep -i config
# Docker
docker exec grafana printenv | grep -i grafana
没重启——改完 grafana.ini 必须重启进程,kill -HUP 不够。
有反向代理——如果 Grafana 前面挂了 Nginx,可能 Nginx 层有 Auth 拦截。查 Nginx 配置里有没有 auth_basic 或 satisfy any 之类。
组织名字对不上——org_name = Main Org. 里那个点和空格必须一字不差。有些安装默认组织不叫这个,可以先在 UI 里看:右上角头像 → 切换组织,看到的名字就是你要填的。
配置写错了段——enabled = true 必须在 [auth.anonymous] 段下,不能在 [auth] 段下。段名带方括号那行不能删。
改完配置重启后,浏览器 URL 直接访问 http://172.16.0.8:4444/login,如果登录页右下角出现"以匿名身份继续"或类似链接,就说明匿名开成功了。
你的 IP 172.16.0.8 是内网地址,只有连到你们公司网络的人才能访问,这是安全的。
但千万别做这些事:
一旦对公网开放任何人都能看你们服务器的 CPU、内存、告警信息,这是重大安全风险。领导要在外网看的话,正确姿势是:
http://172.16.0.8:4444/,验证是否已经能免登录进(如果之前配过就直接跳到第 3 步)grafana.ini 三个配置段 + 重启?kiosk&refresh=30s&theme=light 拼成领导的链接改完卡在哪一步截图给我,或者链接打开是什么样也发我看看,我帮你调到位。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。