Plugins 〉Grafana Image Renderer
Grafana Image Renderer
A Grafana backend plugin that handles rendering panels and dashboards to PNGs using a headless browser (Chromium).
Requirements
Supported operating systems
- Linux (x64)
- Windows (x64)
- Mac OS X (x64)
Dependencies
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.
Installation
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.
Configuration
For available configuration settings, please refer to Grafana Image Rendering documentation.
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.
Troubleshooting
For troubleshooting help, please refer to Grafana Image Rendering documentation.
Additional information
See docs.
Enterprise plugins, along with support and assistance from the core team behind Grafana, are available with Grafana Enterprise.
Installing Grafana Image Renderer on Grafana Cloud:
Installing plugins on a Grafana Cloud instance is a one-click install; same with updates. Cool, right?
For more information, visit the docs on plugin installation.
Installing on a local Grafana:
For local instances, plugins are installed and updated via a simple CLI command. Plugins are not updated automatically, however you will be notified when updates are available right within your Grafana.
1. Install the Renderer
Use the grafana-cli tool to install Grafana Image Renderer from the commandline:
grafana-cli plugins install
The plugin will be installed into your grafana plugins directory; the default is /var/lib/grafana/plugins. More information on the cli tool.
Alternatively, you can manually download the .zip file for your architecture below and unpack it into your grafana plugins directory.
Alternatively, you can manually download the .zip file and unpack it into your grafana plugins directory.
2.0.0 (2020-05-16)
- Plugin: Migrate to @grpc/grpc-js to resolve problems when IPv6 is disabled #135, aknuds1
- Adds support for new Grafana backend plugin system #128, marefr
- Browser: Adds support for setting viewport device scale factor #128, marefr
- Browser: Adds support for attaching Accept-Language header to support render is name locale as Grafana user #128, marefr
- Browser: Fail render if the URL has socket protocol #127, aknuds1
- Chore: Upgrade typescript dependencies #129, marefr
2.0.0-beta1 (2020-04-22)
- Adds support for new Grafana backend plugin system #128, marefr
- Browser: Adds support for setting viewport device scale factor #128, marefr
- Browser: Adds support for attaching Accept-Language header to support render is name locale as Grafana user #128, marefr
- Browser: Fail render if the URL has socket protocol #127, aknuds1
- Chore: Upgrade typescript dependencies #129, marefr
1.0.12 (2020-03-31)
- Remote rendering: Delete temporary file after serving it to client #120, marefr
- Remote rendering: More configuration options #123, marefr
1.0.12-beta1 (2020-03-30)
1.0.11 (2020-03-20)
- Render: Add support for enabling verbose logging using environment variable #105, marefr
- Render: Fix panel titles should not be focused when rendering #114, AgnesToulet
- Security: Upgrade minimist dependency to v1.2.5 #118, marefr
1.0.10 (2020-02-18)
1.0.9 (2020-01-30)
- Remote rendering: Improve error handling, logging and metrics #92, marefr
- Service: Don't swallow exceptions and fix logging of parameters
- Metrics: Use status 499 when client close the connection
- Docker: Set NODE_ENV=production
- Changed request logging to use debug level if status < 400 and error if >= 400
- Plugin: Adds icon #95, marefr
1.0.8 (2020-01-20)
- Build: Upgrade Node.js requirement to LTS (v12) #57, marefr
- Docker: Add unifont font to support rendering other language, like Chinese/Japanese #75, okhowang
- Subscribing to page events to catch errors from browser #88, marefr
- Plugin: Automatically assign grpc port per default #87, marefr
- Plugin: Support configuring default timezone thru environment variable #86, marefr
- Remote rendering: Support configuring default timezone thru config file and environment variable #86, marefr
- Remote rendering: Support configuring HTTP host and port thru config and environment variables #40, marefr
- Remote rendering: Support reading config from file #73, marefr
- Remote rendering: Collect and expose Prometheus metrics #71, marefr
Breaking changes
- Plugin now automatically assigns gPRC port not in use. Before port
50059
was used. You can change this by using theGF_RENDERER_PLUGIN_GRPC_PORT
environment variable.
1.0.8-beta1 (2019-12-17)
- Remote rendering: Collect and expose Prometheus metrics #71, marefr
- Build: Upgrade Node.js requirement to LTS (v12) #57, marefr
1.0.7 (2019-12-03)
- Provide correctly named config parameter to Chromium when overriding to skip https errors using environment variable
GF_RENDERER_PLUGIN_IGNORE_HTTPS_ERRORS
and/orIGNORE_HTTPS_ERRORS
#62, marefr
1.0.6 (2019-11-25)
- Wait until all network connections to be idle before rendering #24, d1ff
- Support ignoring https errors using environment variable #59, marefr
- Docker: Update dependencies to remove vulnerabilities #53, marefr
- Fix typo in log statement #39, ankon
- Updated documentation
1.0.5 (2019-09-11)
- Include md5 checksums in release artifacts
1.0.4 (2019-09-11)
- Update readme and docs
1.0.3 (2019-09-10)
- Automate docker release
1.0.2 (2019-09-10)
- Don't include dist directory in archive (zip) files
1.0.1 (2019-09-09)
- Switch docker base image from node:10 to node:alpine-10 #36, marefr
- Updated the panel render wait function to account for Grafana version 6 #26, bmichaelis
- Updated dependencies
1.0.0 (2019-08-16)
Initial release containing prebuilt binaries available for download. Right now the binaries themselves should be considered alpha as they need more testing.