hnwの日記

Grafana CloudのFree tierでアラート通知に画像を添付する方法

この記事は「KLab Engineer Advent Calendar 2025」の1日目です。初日から少々ニッチな小ネタです。

Grafana CloudのFree tierが大盤振る舞いすぎる

突然ですが、みなさんGrafana Cloud使ってますか?Grafana Cloudは、Grafana Labsが提供するフルマネージドのオブザーバビリティサービスです。私は自宅サーバーやIoTデバイスのモニタリング・アラーティングに活用しています。

例えば、自宅のCO2濃度の推移を可視化し、次のようなグラフを作成することが可能です。

自宅のCO2濃度グラフ

Grafana Cloudの大きな特徴は、Free tierの充実ぶりです。2025年12月現在、クレジットカードの登録不要で以下のリソースを利用できます。

  • Metrics: 10k series(Prometheus等のメトリクス)
  • Logs: 50GB(Loki)
  • Traces: 50GB(Tempo)
  • Users: 3ユーザーまで
  • データ保持期間: 14æ—¥

自宅の環境モニタリングや個人の小規模な開発用途であれば、10k seriesのメトリクスや50GBのログ容量は十分すぎると言えるでしょう。無料で構築できるモニタリング環境として、私の知る限り最強の選択肢の一つだと思います。

アラート通知を設定する

Grafana CloudのFree tierでは最大100個までアラート通知を設定することができます。例えば「CO2濃度が1000ppmを超えたら通知する」という設定は、以下の手順で行います。

  1. Alerting > Alert rules に移動し、「New alert rule」を作成します。
  2. クエリとアラート条件を設定します(例: avg(switchbot_co2{ })、Is above 1000)。
  3. Folder と Evaluation behavior を設定します。
  4. Contact points でSlackなどの通知先を指定します。
  5. Alert ruleの設定画面下部にある「Link dashboard and panel」で、このアラートに対応させるダッシュボードとパネルを選択します。
    • 通知にグラフ画像を添付するには、その元となる描画情報が必要なため、必ずダッシュボードと紐付ける必要があります。

これでアラート通知自体は届くようになります。しかし、デフォルトの状態ではテキストのみの通知となってしまい、グラフ画像は添付されません。

通知に画像を添付するにはサポートへの問い合わせが必要

アラート通知にグラフ画像を添付するには、さらに以下の2つの準備が必要です。

  1. Slack App側で発行したBot Tokenに files:write 権限を付与する。
  2. Grafanaのサポートに連絡し、Image Rendererプラグインを有効化してもらう。

後者のImage Renderer有効化は管理画面では設定できず、サポートチケットを発行して依頼する必要があります1。

私は下記のような問い合わせを出したところ、数時間で有効化されました。

件名: Request to enable "Images in notifications"

本文:

I would like to enable "Images in notifications" for my alerts.
Please enable the image rendering feature for my instance.

Instance Name: [あなたのインスタンス名].grafana.net

Information:
- I am using the Free tier account.
- My Alert Rule is linked to a Dashboard UID/Panel ID correctly.
- I have configured the Slack App with files:write permissions.

チケットのタイプ: Billing/Cancellation (※機能追加の依頼に適した項目が見当たらないため、一番近い選択肢で送ります。)

サポートから「有効化したよ!」と返信が来たら、わざとアラートを発生させて確認しましょう。Slackで下記のようなグラフが確認できるようになります。

Slack通知でグラフ画像が見えている様子

通知画像のタイムゾーンと期間を最適化する

Slackへの画像添付には成功しましたが、デフォルト設定のままだと「時間がずれている(UTC表示)」「グラフの期間が広すぎて直近の変化が分からない」といった点が気になるかもしれません。

ダッシュボードで次の設定を行うことで、見やすい通知画像に調整できます。

1. グラフの標準時をJSTにする

ダッシュボード上部の「Edit」「Settings」「General」から、Timezoneの設定を変更します。

  • Time zone: Default ではなく Asia/Tokyo を指定。

2. デフォルトの時間幅を調整

アラート発生時の状況を把握するには、あまりに長い期間の画像だと直近の変化が潰れて見えなくなってしまいます。

  • ダッシュボード右上の時間選択で、適切な期間(例: Last 3 hours)を選択します。
  • その状態でダッシュボードの「Save」ボタンを押し、「Update default time range」 にチェックを入れて保存します。

これで、アラート通知時に生成される画像が「JST表示」かつ「直近3時間」のグラフになり、Slack上でパッと見ただけで状況が把握できるようになります。

まとめ

Grafana Cloudでアラート画像添付を使いたい場合、サポートチケット経由で依頼する必要があります。Free tierであってもこのリクエストが通る2ことは、意外と知られていない情報だと思うので記事にしてみました。

サポートチケットを発行するのは心理的ハードルがあるかもしれませんが、一度設定してもらうとモニタリングの快適性が大きく向上します。ぜひ、ご自身の環境でも試してみてください。


  1. Use images in notifications を参照
  2. 少なくとも私の場合はリクエストが通りました。公式ドキュメントにはプランによる制限の明記はありませんが、リソースを消費する機能のため、将来的にポリシーが変わる可能性があります。
'); $entries_chunk.insertBefore(sections[0]); } else { chunk_id += 1; var $prev_entries_chunk = $entries_chunk; var $read_more_link = $('

これ以前の記事を表示する

'); $read_more_link.on('click', {chunk_id: chunk_id}, function(e){ $(e.target).hide(); $(this).remove(); $('#entries-chunk-' + e.data.chunk_id).fadeIn("slow"); }); $prev_entries_chunk.append($read_more_link); var $entries_chunk = $('
'); $entries_chunk.hide(); $entries_chunk.insertAfter($prev_entries_chunk); } } $(sections[i]).appendTo($entries_chunk); } });