Skip to content

Images not rendering with Grafana 12.1.0. and Image Renderer 4.1.0 #709

@holgigit

Description

@holgigit

What happened:

I set up Grafana 12.1.0 and Image Renderer 4.1.0 on a fresh Debian 12 installation on a X86 machine. When rendering a dashboard, the following error message is shown:

Failed to render panel image
An error occurred when generating the image

To analyse the issue, I set the log levels to debug, these are the log entries of the renderer:

cat grafana.log|grep render
logger=local.source t=2025-08-10T08:54:24.955523925+01:00 level=debug msg="Loading plugin" path=/var/lib/grafana/plugins/grafana-image-renderer/plugin.json
logger=plugins.signature t=2025-08-10T08:54:30.011014692+01:00 level=debug msg="Plugin signature valid" id=grafana-image-renderer
logger=plugin.signature.validator t=2025-08-10T08:54:30.011218623+01:00 level=debug msg="Plugin has valid signature" id=grafana-image-renderer
logger=plugins.registration t=2025-08-10T08:54:30.01134411+01:00 level=info msg="Plugin registered" pluginId=grafana-image-renderer
logger=plugin.loader source=external t=2025-08-10T08:54:30.011406079+01:00 level=debug msg="Plugin source loaded" plugins=grafana-image-renderer duration=5.059595108s
logger=local.source t=2025-08-10T08:54:30.234061767+01:00 level=debug msg="Loading plugin" path=/var/lib/grafana/plugins/grafana-image-renderer/plugin.json
logger=cleanup t=2025-08-10T08:54:30.653059293+01:00 level=debug msg="Found old rendered file to delete" folder=/var/lib/grafana/png deleted=0 kept=0
logger=cleanup t=2025-08-10T08:54:30.65320026+01:00 level=debug msg="Found old rendered file to delete" folder=/var/lib/grafana/csv deleted=0 kept=0
logger=cleanup t=2025-08-10T08:54:30.653278656+01:00 level=debug msg="Found old rendered file to delete" folder=/var/lib/grafana/pdf deleted=0 kept=0
logger=server t=2025-08-10T08:54:30.653371801+01:00 level=debug msg="Starting background service" service=*rendering.RenderingService
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:30.653656172+01:00 level=debug msg="starting plugin" path=/var/lib/grafana/plugins/grafana-image-renderer/plugin_start_linux_amd64 args=[/var/lib/grafana/plugins/grafana-image-renderer/plugin_start_linux_amd64]
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:30.65439214+01:00 level=debug msg="plugin started" path=/var/lib/grafana/plugins/grafana-image-renderer/plugin_start_linux_amd64 pid=9526
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:30.65444004+01:00 level=debug msg="waiting for RPC address" plugin=/var/lib/grafana/plugins/grafana-image-renderer/plugin_start_linux_amd64
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.730907548+01:00 level=debug msg="Setting chromeBin to /var/lib/grafana/plugins/grafana-image-renderer/chrome-headless-shell/linux-140.0.7336.0/chrome-headless-shell-linux64/chrome-headless-shell"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.735261476+01:00 level=debug msg="Browser initialized" config="map[args:[--no-sandbox --disable-gpu] chromeBin:/var/lib/grafana/plugins/grafana-image-renderer/chrome-headless-shell/linux-140.0.7336.0/chrome-headless-shell-linux64/chrome-headless-shell clustering:map[maxConcurrency:5 mode:browser monitor:false timeout:30] deviceScaleFactor:1 dumpio:true emulateNetworkConditions:false headed:false height:500 ignoresHttpsErrors:false maxDeviceScaleFactor:4 maxHeight:3000 maxWidth:3000 mode:default pageZoomLevel:1 timingMetrics:false tracing:map[serviceName: url:] verboseLogging:true width:1000]"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.843635555+01:00 level=debug msg="[0810/085434.841937:ERROR:net/base/address_tracker_linux.cc:222] Could not create NETLINK socket: Die Adressfamilie wird von der Protokollfamilie nicht unterstützt (97)"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.846088317+01:00 level=debug msg="[0810/085434.845347:ERROR:device/udev_linux/udev_watcher.cc:51] Failed to initialize a udev monitor."
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.853513719+01:00 level=debug msg=
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.853610737+01:00 level=debug msg="Fontconfig error: No writable cache directories"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.85364395+01:00 level=debug msg="\t/var/cache/fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.853681415+01:00 level=debug msg="\t/usr/share/grafana/.cache/fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.853712329+01:00 level=debug msg="\t/usr/share/grafana/.fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.853747894+01:00 level=debug msg=
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.853777492+01:00 level=debug msg="Fontconfig error: No writable cache directories"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.853808715+01:00 level=debug msg="\t/var/cache/fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.853839551+01:00 level=debug msg="\t/usr/share/grafana/.cache/fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.85386902+01:00 level=debug msg="\t/usr/share/grafana/.fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.855117928+01:00 level=debug msg=
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.855172873+01:00 level=debug msg="Fontconfig error: No writable cache directories"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.855206082+01:00 level=debug msg="\t/var/cache/fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.85523741+01:00 level=debug msg="\t/usr/share/grafana/.cache/fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.855268737+01:00 level=debug msg="\t/usr/share/grafana/.fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.871668019+01:00 level=debug msg=
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.871748766+01:00 level=debug msg="Fontconfig error: No writable cache directories"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.87177982+01:00 level=debug msg="\t/var/cache/fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.871809584+01:00 level=debug msg="\t/usr/share/grafana/.cache/fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.871839104+01:00 level=debug msg="\t/usr/share/grafana/.fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.877626789+01:00 level=debug msg=
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.877708558+01:00 level=debug msg="Fontconfig error: No writable cache directories"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.877739442+01:00 level=debug msg="\t/var/cache/fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.877775952+01:00 level=debug msg="\t/usr/share/grafana/.cache/fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.877807163+01:00 level=debug msg="\t/usr/share/grafana/.fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.885956604+01:00 level=debug msg="[0810/085434.885317:WARNING:sandbox/policy/linux/sandbox_linux.cc:414] InitializeSandbox() called with multiple threads in process gpu-process."
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.8972453+01:00 level=debug msg=
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.915953109+01:00 level=debug msg="DevTools listening on ws://127.0.0.1:39397/devtools/browser/ee9955de-dfb6-4026-a26b-536c52e8046c"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:35.00116752+01:00 level=debug msg="Using browser version" browserVersion=HeadlessChrome/140.0.7336.0
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:35.014773832+01:00 level=debug msg="using plugin" version=2
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:35.015035354+01:00 level=debug msg="(node:9526) DeprecationWarning: Calling start() is no longer necessary. It can be safely omitted."
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:35.015077324+01:00 level=debug msg="(Use `plugin_start_linux_amd64 --trace-deprecation ...` to show where the warning was created)"
logger=plugins.update.checker t=2025-08-10T08:54:35.020441273+01:00 level=debug msg="Checking for plugin updates" url="https://grafana.com/api/plugins/versioncheck?grafanaVersion=12.1.0&slugIn=grafana-exploretraces-app%2Cgrafana-image-renderer%2Cgrafana-lokiexplore-app%2Cgrafana-metricsdrilldown-app%2Cgrafana-pyroscope-app"

There are actually three errors shown:

  • ERROR:net/base/address_tracker_linux.cc:222] Could not create NETLINK socket: Die Adressfamilie wird von der Protokollfamilie nicht unterstützt (97)
  • ERROR:device/udev_linux/udev_watcher.cc:51] Failed to initialize a udev monitor
  • Fontconfig error: No writable cache directories"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.843635555+01:00 level=debug msg="[0810/085434.841937:ERROR:net/base/address_tracker_linux.cc:222] Could not create NETLINK socket: Die Adressfamilie wird von der Protokollfamilie nicht unterstützt (97)"

logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.846088317+01:00 level=debug msg="[0810/085434.845347:ERROR:device/udev_linux/udev_watcher.cc:51] Failed to initialize a udev monitor."


logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.853610737+01:00 level=debug msg="Fontconfig error: No writable cache directories"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.85364395+01:00 level=debug msg="\t/var/cache/fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.853681415+01:00 level=debug msg="\t/usr/share/grafana/.cache/fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.853712329+01:00 level=debug msg="\t/usr/share/grafana/.fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.853747894+01:00 level=debug msg=
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.853777492+01:00 level=debug msg="Fontconfig error: No writable cache directories"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.853808715+01:00 level=debug msg="\t/var/cache/fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.853839551+01:00 level=debug msg="\t/usr/share/grafana/.cache/fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.85386902+01:00 level=debug msg="\t/usr/share/grafana/.fontconfig"
logger=plugin.grafana-image-renderer t=2025-08-10T08:54:34.855117928+01:00 level=debug msg=

To address the Fontconfig error, I created a directory /usr/share/grafana/.fontconfig and chowned it to grafana:grafana but this did not fix the issue.

What you expected to happen:

Image is rendered without error messages

How to reproduce it (as minimally and precisely as possible):

Install Grafana 12.1.0. and Image Renderer 4.1.0 on Debian 12 and try to render images from a dashboard

Anything else we need to know?:

I installed the dependencies as mentioned in the troubleshooting guide and made sure that the plugin directory of the plugin is chowned by grafana:grafana

When downgrading Grafana to 11.3.9 for example, the image is rendered when modifying the link to the rendered image (link is provided with "localhost", has to be changed but the image is rendered).

Environment:

  • Grafana Image Renderer version: 4.1.0
  • Grafana version: 12.1.0
  • Installed plugin or remote renderer service: Installed plugin
  • OS Grafana Image Renderer is installed on: Debian 12
  • User OS & Browser: Windows 11, Chrome
  • Others:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions