Grafana Image Renderer


Grafana Backend Image Renderer that uses headless chrome to capture images.

A Grafana backend plugin that handles rendering panels and dashboards to PNGs using a headless browser (Chromium).


Supported operating systems

  • Linux (x64)
  • Windows (x64)
  • Mac OS X (x64)


This plugin is packaged in a single executable with Node.js runtime and Chromium browser. This means that you don't need to have Node.js and Chromium installed in your system for the plugin to function.

However, Chromium browser depends on certain libraries and if you don't have all of those libraries installed in your system you may encounter errors when trying to render an image. For further details and troubleshooting help, please refer to Grafana Image Rendering documentation.

Known issue having IPv6 disabled

We've got reports regarding the plugin doesn't work if IPv6 is disabled. The current workaround is to use Remote Rendering Using Docker instead. Refer to issue for more information.


Using grafana-cli

NOTE: Installing this plugin using grafana-cli is supported from Grafana v6.4.

grafana-cli plugins install grafana-image-renderer

Install in Grafana Docker image

This plugin is not compatible with the current Grafana Docker image without installing further system-level dependencies. We recommend setting up another Docker container for rendering and using remote rendering, see Remote Rendering Using Docker for reference.

If you still want to install the plugin in the Grafana docker image we provide instructions for how to build a custom Grafana image, see Grafana Docker documentation for further instructions.

Environment variables

You can override certain settings by using environment variables and making sure that those are available for the Grafana process.

Default timezone:

Instruct headless browser instance to use a default timezone when not provided by Grafana, e.g. when rendering panel image of alert. See ICU’s metaZones.txt for a list of supported timezone IDs. Fallbacks to TZ environment variable if not set.


Ignore HTTPS errors:

Instruct headless browser instance whether to ignore HTTPS errors during navigation. Per default HTTPS errors is not ignored. Due to the security risk it's not recommended to ignore HTTPS errors.


gRPC port:

Change the listening port of the gRPC server. Default is 0 and will automatically assign a port not in use.


Verbose logging:

Instruct headless browser instance whether to capture and log verbose information when rendering an image. Default is false and will only capture and log error messages. When enabled, true, debug messages are captured and logged as well.

For the verbose information to be included in the Grafana server log you have to adjust the rendering log level to debug, see Troubleshoot image rendering for instructions.


Remote Rendering Using Docker

Instead of installing and running the image renderer as a plugin, you can run it as a remote image rendering service using Docker. Read more about remote rendering using Docker.


For troubleshooting help, please refer to Grafana Image Rendering documentation.

Building from source

See Building from source.

Additional information

See docs.

Sign in to install