目录

grafana-image-renderer插件使用

概述

grafana-image-renderer 这个插件安装之后,Grafana 支持通过 API 将 dashboard 导出成图片,不过官方镜像并没有直接将 grafana-image-renderer 插件安装进去,原因可能是图片渲染插件依赖很多系统的 lib 包,会让 Grafana 的镜像变得很大,甚至官方提供了 grafana-image-renderer 插件的 server 版本,支持 Grafana 通过配置远程的 render 服务将 dashboard 渲染成图片。

当前的考虑还是不独立维护一个 render 的 server 了,所以需要重新打一下 Grafana 的镜像,虽然官方提供了一个 Dockerfile 从源码开始打,但考虑到过程比较复杂,我们可以直接基于 Grafana 的官方镜像进行 grafana-image-renderer 依赖的补充安装。

构建镜像

为了在私有化环境配置好 renderer 插件,这里我提供一个可以成功安装 grafana-image-renderer 及其依赖的 Dockerfile,感兴趣的读者可以按照这个 Dockerfile 构建自己的镜像。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# docker buildx build --platform linux/amd64 -t runzhliu/grafana:11.4.0-with-renderer .
# FROM grafana/grafana:11.4.0-ubuntu
FROM grafana/grafana:12.0.2

USER root
# 安装缺失的依赖库
RUN apt-get update -y && apt-get install -y \
  libstdc++6 \
  libglib2.0-0 \
  libnss3 \
  libx11-xcb1 \
  libxcomposite1 \
  libxrender1 \
  libxrandr2 \
  libxi6 \
  libxcursor1 \
  libxtst6 \
  libpangocairo-1.0-0 \
  libpangoft2-1.0-0 \
  libcairo2 \
  libatk1.0-0 \
  libatk-bridge2.0-0 \
  libxdamage1 \
  libxext6 \
  libxfixes3 \
  libfontconfig1 \
  libfreetype6 \
  libjpeg62 \
  libpng16-16 \
  libglib2.0-data \
  shared-mime-info \
  fonts-liberation \
  libnss3 \
  libxcomposite1 \
  libxrandr2 \
  libxi6 \
  libatk-bridge2.0-0 \
  libcups2 \
  libxdamage1 \
  libgbm1 \
  libasound2 \
  libpangocairo-1.0-0 \
  libgtk-3-0 \
  libxkbcommon0 \
  fonts-noto-cjk \
  libharfbuzz-icu0 && \
  apt-get clean && rm -rf /var/lib/apt/lists/*
RUN grafana-cli plugins install grafana-image-renderer

API渲染

可以通过 Grafana 的 API,将某个图表渲染成图片,下面是示例的 URL,用户可以根据需要,选择要渲染的图表,主要是 URL 中的 /render/d-solo/ 后面对应的是图表的 id,还可以根据 widthheight 等参数生成图片。

1
http://grafana.default.svc.cat.dog/render/d-solo/detjdpfqpmtj4f?orgId=1&from=2025-07-30T17:31:17.091Z&to=2025-07-30T23:31:17.091Z&timezone=browser&panelId=panel-1&__feature.dashboardSceneSolo&width=2000&height=1000&tz=Asia%2FShanghai
/grafana-image-renderer%E6%8F%92%E4%BB%B6%E4%BD%BF%E7%94%A8/img.png /grafana-image-renderer%E6%8F%92%E4%BB%B6%E4%BD%BF%E7%94%A8/img_1.png

参考资料

  1. grafana-image-renderer