Grafana Playlists & Kiosk Mode Prompt
Set up Grafana playlists for NOC dashboards — rotating views, kiosk mode, TV-friendly displays, auto-refresh.
- Target user
- SREs building NOC / Ops dashboards
- Difficulty
- Beginner
- Tools
- Claude, ChatGPT
The prompt
You are a senior SRE who has set up rotating dashboards on NOC TVs and conference rooms — playlists, kiosk mode, auto-refresh. I will provide: - The displays (TVs, conference rooms) - Dashboards involved - Symptom (rotation not smooth, requires login, slow) Your job: 1. **Playlists**: - Sequence of dashboards - Interval per dashboard - Cycle continuously 2. **For kiosk mode**: - URL param `?kiosk=tv` or `?kiosk` (no UI chrome) - `?kiosk=full` for fullscreen 3. **For auto-refresh**: - Per-dashboard setting - Override in URL: `?refresh=5s` 4. **For TV display setup**: - Open in browser - Kiosk mode URL - Auto-launch on boot 5. **For auth on TV**: - Anonymous viewer (per org) OR - Long-lived token in URL OR - Pre-authenticated session (cookie) 6. **For dashboard design for TV**: - Large fonts - High contrast - Stat panels for key numbers 7. **For variables on playlist**: - Default value applied - Or template per playlist 8. **For ChromeOS / RPi**: - Auto-launch URL - Disable screensaver - Wake-on-LAN for power management Mark DESTRUCTIVE: anonymous access exposing sensitive data, public URLs without scope, kiosk users with edit permissions. --- Displays: [DESCRIBE] Dashboards: [DESCRIBE] Symptom: [DESCRIBE]
Why this prompt works
NOC dashboards have specific needs. This prompt walks setup.
How to use it
- Create playlist.
- Use kiosk URL.
- Auto-refresh appropriately.
- Anonymous viewer if needed.
Useful commands / patterns
Anonymous Org (read-only org for kiosks)
# grafana.ini
[auth.anonymous]
enabled = true
org_name = NOC
org_role = Viewer
hide_version = true
Kiosk URL
https://grafana.example.com/playlists/play/<playlist-id>?kiosk=tv&refresh=30s
# Other modes:
?kiosk # hide menu but show top
?kiosk=tv # only main content
?kiosk=full # absolutely fullscreen
Playlist via API
# Create
curl -u admin:pass -X POST http://grafana:3000/api/playlists \
-H "Content-Type: application/json" \
-d '{
"name": "NOC Rotation",
"interval": "30s",
"items": [
{ "type": "dashboard_by_uid", "value": "<dashboard-uid-1>", "order": 1 },
{ "type": "dashboard_by_uid", "value": "<dashboard-uid-2>", "order": 2 }
]
}'
# List
curl -u admin:pass http://grafana:3000/api/playlists | jq
# Update
curl -u admin:pass -X PUT http://grafana:3000/api/playlists/<id> -d '{...}'
Raspberry Pi / ChromeOS kiosk
# Auto-launch Chromium on boot
# /etc/xdg/autostart/grafana-kiosk.desktop:
[Desktop Entry]
Name=GrafanaKiosk
Type=Application
Exec=chromium-browser --kiosk --noerrdialogs --disable-infobars --check-for-update-interval=31536000 https://grafana.example.com/playlists/play/1?kiosk=tv
Variables for playlist
Playlist dashboards use default variable values.
For per-display variables:
- Create copies of dashboards with hardcoded variables
- Or use cookies / URL params
TV-friendly dashboard tips
{
"panels": [
{
"type": "stat",
"title": "API Health",
"fieldConfig": {
"defaults": {
"color": { "mode": "background" }
}
},
"options": {
"textMode": "value",
"fontSize": 200 // large text
}
}
],
"refresh": "30s",
"time": { "from": "now-1h", "to": "now" }
}
Common findings this catches
- Playlist requires login → enable anonymous OR token.
- Sensitive data exposed → audit before TV display.
- Auto-refresh too aggressive → DS load.
- Variables not set → wrong data per dashboard.
- TV display dim / cuts off → display config.
- Browser tab crashes → memory; restart schedule.
- Network issues → fallback to cached.
When to escalate
- TV display infrastructure — facilities.
- Display content review — security.
- Power management — coordinate.
Related prompts
-
Grafana Dashboard Performance Prompt
Optimize Grafana dashboards — query parallelism, refresh rates, variable design, panel count, data source pressure.
-
Grafana Panel Types Selection Prompt
Choose the right Grafana panel — timeseries vs stat vs gauge vs bar gauge vs heatmap vs table; visualization principles for each.
-
Grafana RBAC, Teams & Folder Permissions Prompt
Design Grafana access control — folders, teams, role-based permissions, viewer vs editor, dashboard / folder permissions.