首页/云/可观测性速查/看板导出图片渲染
Grafana 与看板53 条

看板导出图片渲染

把看板导出 PNG 用于通知与报告:OSS 版需单独部署 grafana-image-renderer,并在配置里指向渲染服务地址。

可观测性速查云更新于 2026-10-13

为什么需要渲染服务

Grafana 导出看板为 PNG、以及在告警通知里附带图片,都依赖独立的 grafana-image-renderer 服务:Grafana 负责生成看板定义并把渲染请求转发出去,真正的无头浏览器绘制由渲染服务完成。OSS 版本默认不带渲染能力,需要单独部署并在 grafana.ini 里指向它。

基本信息

部署方式独立容器或二进制,官方镜像 grafana/grafana-image-renderer
配置位置grafana.ini 的 [rendering] 段设置 server_url 与 callback_url
运行依赖无头浏览器(Chromium)与已安装的中文字体
使用位置看板分享、报告导出、告警通知附带图片

渲染服务与配置

渲染服务与配置
docker run -d --name=renderer grafana/grafana-image-renderer:latest

# grafana.ini
[rendering]
server_url = http://renderer:8081/render
callback_url = http://grafana:3000/

# 验证:Share → Direct link rendered image

常见问题

现象常见原因处理
请求超时渲染容器无法回调访问 Grafana检查 callback_url 与网络策略
中文乱码或方框渲染容器内字体缺失挂载中文字体并重启渲染服务
图片空白看板查询超时或变量未解析延长超时、固定变量取值
内存不足Chromium 并发渲染占用高限制并发数或提升容器内存上限

典型使用场景

  • 值班群与工单里直接贴图,省去收件人打开链接的步骤
  • 定时导出看板快照,做容量与趋势归档
  • 告警通知里附带当前曲线,帮助快速判断严重程度
  • 对外汇报用固定图片,避免依赖看板链接的访问权限
渲染服务与 Grafana 是两套进程,升级任一侧都要确认版本兼容,并确认回调地址在新部署里仍然可达。
渲染是资源消耗大户:并发导出会吃掉大量内存与 CPU,生产环境要限制单次导出数量并给渲染容器单独设资源上限。

排查顺序

  • 先看 Grafana 日志里的渲染错误信息,确认请求是否发到了渲染服务
  • 再从渲染容器侧验证能否访问 Grafana 的回调地址与端口
  • 字体类问题直接进容器检查已安装字体,缺哪个补哪个
  • 单块看板导出正常但批量失败时,优先怀疑并发与超时设置

易错点

  • 渲染容器需要能回调访问 Grafana,网络不通时请求会超时
  • 渲染中文或 emoji 缺失通常是容器字体不全,挂载字体后再排查其他原因
  • 渲染服务与 Grafana 不在同一网络域却不放行回调,导出会长期失败
  • 批量导出报告不限并发,渲染进程耗尽内存后告警配图全部丢失

数据来源与参考

  • Grafana 官方文档 · Image rendering
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌