How to Send Hourly Alerts with Updated Panel Images

Hi all,

I’m trying to configure Grafana to send hourly alerts with updated panel images so I can monitor my data without logging in. My setup includes:

  • Grafana version: v10.2.1
  • Data source: SQL Server
  • Alert contact point: Telegram
  • Image renderer plugin: Installed and working

What I’ve Tried:

  1. Always-firing alert:
    I created an alert that’s always in a “firing” state (e.g., selecting a positive number > 0) with a 1-hour repeat interval. This sends hourly messages, but the image stays the same as when the alert first fired — not reflecting current data.
  2. Alternating alert window:
    I made a query that fires only if the current minute is within a certain range (e.g., 0–30), causing it to alternate between firing and OK states. With a 30-min group/repeat interval, I get updated images.
  • Problem: When multiple alerts are set this way (e.g., 4 panels), all messages arrive first, then all images (likely due to image rendering lag).
  • Also, the alert time drifts by a few minutes daily (e.g., 07:01 on day 1, 07:14 by the end of the week).

My Goal:

To reliably receive hourly alerts per panel, with each alert including an up-to-date image, and ideally have the alerts trigger precisely on the hour.

My Question:

Is there a way to achieve this behavior using tweaks in alert queries, notification policies, or alert rule settings—without relying on an external script or feature that doesn’t exist yet? Has anyone achieved this kind of precise, image-included hourly reporting in Grafana?

Thanks in advance!

Currently, the screenshot expiration interval is 24h from the time it was taken first time (alert fired). Unfortunately, it is not possible to change.
To work this around you need your alert rule to get resolved. There is no other way.

You can open a pull request or an issue to make that expiration interval configurable.