【基于智能监控系统的配置问题】6、如何生成单页的监控界面
好问题——这是典型的"内部工具→给领导看"的场景。你现在的 Grafana 界面全是管理菜单、Search 框、Cancel/Save 按钮,领导看了会懵。目标是让他看到干净的仪表盘、只读、无侧栏、无登录。
Grafana 原生提供了几种方案,从简单到讲究我全给你梳理一遍,直接给你可用的配置。
方案对比(一眼选)
| 方案 | 上手难度 | 用户体验 | 安全性 | 适用场景 |
|---|---|---|---|---|
| Kiosk 模式 URL | ★☆☆ | 全屏无侧栏 | 依赖登录 | 领导有账号 / 大屏值班室 |
| 匿名访问 + Kiosk | ★★☆ | 免登录直接看 | 需网络隔离 | 领导没账号,最常用 |
| Public Dashboard | ★☆☆ | 一个公开链接 | Grafana 官方公开分享 | 需要外部分享 |
| iframe 嵌入自有页面 | ★★★ | 完全定制 | 灵活 | 已有内部门户 |
| Snapshot 快照 | ★☆☆ | 静态数据 | 时点截图 | 汇报会用 |
我推荐方案二(匿名访问 + Kiosk 模式),最贴合你的场景——领导打开一个链接就是干净大屏,什么都不用点。
方案一:Kiosk 模式(最简单)
不改任何配置,只在 URL 末尾加参数:
http://172.16.0.8:4444/d/仪表盘ID/winserver19-1-3?kiosk
三种模式,从多到少:
?kiosk=tv—— 隐藏侧栏,保留顶栏(能切时间范围)?kiosk或?kiosk=1—— 全部隐藏,纯净大屏(推荐给领导)- 不加参数 —— 完整管理界面
测试:现在这个页面 URL 末尾加 ?kiosk 刷新看看效果。不满意可以再切 ?kiosk=tv。
问题在于领导还是要先登录。想免登录看方案二。
方案二:匿名访问 + Kiosk(推荐)
给"来看仪表盘"这件事开一个只读的匿名通道,领导打开链接直接进。
步骤 1:找到 Grafana 配置文件
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
步骤 2:改配置开匿名
打开 grafana.ini,找到 [auth.anonymous] 段(没有就自己加),改成:
[auth.anonymous]
enabled = true
# 匿名用户属于哪个组织,默认就叫 Main Org.
org_name = Main Org.
# 关键:给只读权限,防止匿名用户改仪表盘
org_role = Viewer
# 隐藏未登录时右下角的"登录"提示(可选)
hide_version = true
步骤 3:重启 Grafana
# systemd
systemctl restart grafana-server
# 或 Docker
docker restart grafana
# 或宝塔面板对应服务点重启
步骤 4:把仪表盘设为公开可见(组织内)
登录你自己的管理员账号 → 打开这个仪表盘 → 右上角 Share → Link 标签 → 复制链接。
然后到仪表盘的 Settings(齿轮图标)→ Permissions,确认 Viewer 角色能读(默认就能读,除非你显式禁用过)。
步骤 5:给领导发的最终链接
在方案一的链接后面拼上 ?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(Grafana 10+ 官方公开分享)
如果领导在外网,用官方的 Public Dashboard 功能,会生成一个专门的公开 URL、只读、可以设过期时间:
- 打开仪表盘 → Share → Public dashboard 标签
- 首次会让你启用这个功能,勾选"Acknowledge",点 Generate public URL
- 得到一个类似的链接:
http://你的域名:4444/public-dashboards/xxxxxxxx - 领导用这个链接打开,Grafana 会自动隐藏所有管理界面,就是大屏
前提:Grafana 版本要 ≥ 10.0(推荐 10.4+,稳定版)。看你界面风格是新版应该没问题。可以在配置里限制 public_dashboards.enabled = true。
方案四:iframe 嵌入你自己的门户
如果你想做一个"公司驾驶舱"页面,把 Grafana 面板嵌进去 + 加个 logo/标题/其他数据,用 iframe:
步骤 1:允许 iframe 嵌入
grafana.ini:
[security]
allow_embedding = true
# 如果 iframe 页面和 Grafana 不同域,还要开 cookie 策略
cookie_samesite = none
cookie_secure = true # 需 HTTPS
步骤 2:拿到面板嵌入链接
打开仪表盘中你想嵌入的那个 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/(整个仪表盘)。
步骤 3:做你的门户 HTML
给你写一个模板,直接可用:用法:
- 打开这个 HTML 编辑,把每个
iframe的src换成你从 Grafana 里 Share → Embed 复制的地址 - 传到你 Nginx 目录(比如
/www/wwwroot/dashboard/index.html) - 领导访问
http://172.16.0.8/dashboard/就是自定义驾驶舱 - 前提:
grafana.ini里allow_embedding = true必须开
方案五:Snapshot 快照(只做汇报)
如果只是特定时刻的报告(比如月度汇报),用 Share → Snapshot → Local Snapshot,Grafana 会把当前时刻的数据固化成一个静态快照页面,链接可以随便发,数据不再变化。适合 PPT 汇报,不适合日常监控。
最后给你的组合拳建议
领导日常想扫一眼 → 方案二(匿名 + Kiosk),一个链接直接看 需要给外部看/发到手机 → 方案三(Public Dashboard) 想做公司统一驾驶舱,整合多个系统 → 方案四(iframe 门户),我给你的 HTML 是起点
先试试方案一(就现在这个链接末尾加 ?kiosk 刷新),看下效果领导能不能接受,能接受就走方案二配置匿名,这是最快的路径。
我给你打包了驾驶舱 HTML 模板:想哪个方案先试哪个跟我说,配置文件位置或者 iframe 拿链接卡住的话截图给我,我看着帮你调。
你这个仪表盘用来给领导看正合适——右上角已经是全屏播放模式了(< ⏸ > ⛶ 那几个按钮就是),说明基础的干净展示已经调好。现在只差免登录。
一步步来。
一、开匿名访问(让领导免登录)
步骤 1:找到 grafana.ini
find / -name grafana.ini 2>/dev/null
常见位置:
- 直接装:
/etc/grafana/grafana.ini - Docker:进容器
docker exec -it grafana cat /etc/grafana/grafana.ini - 宝塔一键:
/www/server/grafana/conf/grafana.ini或类似
步骤 2:编辑配置
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
保存退出。
步骤 3:重启 Grafana
# 直接装的
systemctl restart grafana-server
# Docker 的
docker restart grafana
# 宝塔面板
# 软件商店 → Grafana → 重启
步骤 4:验证匿名访问
开一个隐私/无痕浏览器窗口(这样不带你自己的登录 cookie),打开 Grafana 首页 http://172.16.0.8:4444/:
- ✅ 如果直接进首页,没让你登录 → 匿名访问成功
- ❌ 如果还是登录页 → 配置没生效,看下一段"排错"
二、拼出给领导的最终链接
看你截图,你现在已经在播放模式(右上角有 < ⏸ > 上一页/暂停/下一页按钮,还有全屏图标),这个模式很适合领导看。
找到当前仪表盘的 URL
看你截图的浏览器 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 是内网地址,只有连到你们公司网络的人才能访问,这是安全的。
但千万别做这些事:
- ❌ 把 4444 端口通过路由器映射到公网
- ❌ 用花生壳、frp 这类内网穿透工具把 Grafana 暴露到公网
- ❌ 域名 A 记录直接指到公网服务器再反代到这个 Grafana
一旦对公网开放任何人都能看你们服务器的 CPU、内存、告警信息,这是重大安全风险。领导要在外网看的话,正确姿势是:
- 走公司 VPN 进内网再打开这个链接(推荐)
- 或者用 Grafana 内置的 Public Dashboard 功能(右上角 Share → Public dashboard),它会生成一个专门的公开链接,只暴露这一个仪表盘、只读、可以设过期时间
你现在就做这几件事
- 先在隐私窗口打开
http://172.16.0.8:4444/,验证是否已经能免登录进(如果之前配过就直接跳到第 3 步) - 按上面步骤改
grafana.ini三个配置段 + 重启 - 复制当前仪表盘 URL,加上
?kiosk&refresh=30s&theme=light拼成领导的链接 - 用隐私窗口测试链接效果满意 → 发给领导
改完卡在哪一步截图给我,或者链接打开是什么样也发我看看,我帮你调到位。

浙公网安备 33010602011771号