<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Legacy Grafana Alerts on Grafana Labs</title><link>https://grafana.com/docs/grafana/v8.4/alerting/old-alerting/</link><description>Recent content in Legacy Grafana Alerts on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v8.4/alerting/old-alerting/index.xml" rel="self" type="application/rss+xml"/><item><title>Alert notifications</title><link>https://grafana.com/docs/grafana/v8.4/alerting/old-alerting/notifications/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/old-alerting/notifications/</guid><content><![CDATA[&lt;h1 id=&#34;alert-notifications&#34;&gt;Alert notifications&lt;/h1&gt;
&lt;p&gt;When an alert changes state, it sends out notifications. Each alert rule can have
multiple notifications. In order to add a notification to an alert rule you first need
to add and configure a &lt;code&gt;notification&lt;/code&gt; channel (can be email, PagerDuty, or other integration).&lt;/p&gt;
&lt;p&gt;This is done from the Notification channels page.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Alerting is only available in Grafana v4.0 and above.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;add-a-notification-channel&#34;&gt;Add a notification channel&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the Grafana side bar, hover your cursor over the &lt;strong&gt;Alerting&lt;/strong&gt; (bell) icon and then click &lt;strong&gt;Notification channels&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add channel&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Fill out the fields or select options described below.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;new-notification-channel-fields&#34;&gt;New notification channel fields&lt;/h2&gt;
&lt;h3 id=&#34;default-send-on-all-alerts&#34;&gt;Default (send on all alerts)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Name -&lt;/strong&gt; Enter a name for this channel. It will be displayed when users add notifications to alert rules.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Type -&lt;/strong&gt; Select the channel type. Refer to the &lt;a href=&#34;#list-of-supported-notifiers&#34;&gt;List of supported notifiers&lt;/a&gt; for details.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Default (send on all alerts) -&lt;/strong&gt; When selected, this option sends a notification on this channel for all alert rules.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Include Image -&lt;/strong&gt; See &lt;a href=&#34;#enable-images-in-notifications-external-image-store&#34;&gt;Enable images in notifications&lt;/a&gt; for details.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Disable Resolve Message -&lt;/strong&gt; When selected, this option disables the resolve message [OK] that is sent when the alerting state returns to false.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Send reminders -&lt;/strong&gt; When this option is checked additional notifications (reminders) will be sent for triggered alerts. You can specify how often reminders should be sent using number of seconds (s), minutes (m) or hours (h), for example &lt;code&gt;30s&lt;/code&gt;, &lt;code&gt;3m&lt;/code&gt;, &lt;code&gt;5m&lt;/code&gt; or &lt;code&gt;1h&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; Alert reminders are sent after rules are evaluated. Therefore a reminder can never be sent more frequently than a configured alert rule evaluation interval.&lt;/p&gt;
&lt;p&gt;These examples show how often and when reminders are sent for a triggered alert.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Alert rule evaluation interval&lt;/th&gt;
              &lt;th&gt;Send reminders every&lt;/th&gt;
              &lt;th&gt;Reminder sent every (after last alert notification)&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;30s&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;15s&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;~30 seconds&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;1m&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;5m&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;~5 minutes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;5m&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;15m&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;~15 minutes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;6m&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;20m&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;~24 minutes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;1h&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;15m&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;~1 hour&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;1h&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;2h&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;~2 hours&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;div class=&#34;clearfix&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;list-of-supported-notifiers&#34;&gt;List of supported notifiers&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Supports images&lt;/th&gt;
              &lt;th&gt;Supports alert rule tags&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#dingdingdingtalk&#34;&gt;DingDing&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dingding&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes, external only&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#discord&#34;&gt;Discord&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;discord&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#email&#34;&gt;Email&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;email&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#google-hangouts-chat&#34;&gt;Google Hangouts Chat&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;googlechat&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes, external only&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Hipchat&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;hipchat&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes, external only&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#kafka&#34;&gt;Kafka&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;kafka&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes, external only&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Line&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;line&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes, external only&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Microsoft Teams&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;teams&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes, external only&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#opsgenie&#34;&gt;Opsgenie&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;opsgenie&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes, external only&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#pagerduty&#34;&gt;Pagerduty&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;pagerduty&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes, external only&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Prometheus Alertmanager&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;prometheus-alertmanager&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes, external only&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#pushover&#34;&gt;Pushover&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;pushover&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Sensu&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;sensu&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes, external only&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#sensu-go&#34;&gt;Sensu Go&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;sensugo&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes, external only&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#slack&#34;&gt;Slack&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;slack&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Telegram&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;telegram&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Threema&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;threema&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes, external only&lt;/td&gt;
              &lt;td&gt;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;VictorOps&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;victorops&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes, external only&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#webhook&#34;&gt;Webhook&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;webhook&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;yes, external only&lt;/td&gt;
              &lt;td&gt;yes&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;email&#34;&gt;Email&lt;/h3&gt;
&lt;p&gt;To enable email notifications you have to set up &lt;a href=&#34;../../../administration/configuration/#smtp&#34;&gt;SMTP settings&lt;/a&gt;
in the Grafana config. Email notifications will upload an image of the alert graph to an
external image destination if available or fallback to attaching the image to the email.
Be aware that if you use the &lt;code&gt;local&lt;/code&gt; image storage email servers and clients might not be
able to access the image.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Template variables are not supported in email alerts.&lt;/p&gt;&lt;/blockquote&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Setting&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Single email&lt;/td&gt;
              &lt;td&gt;Send a single email to all recipients. Disabled per default.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Addresses&lt;/td&gt;
              &lt;td&gt;Email addresses to recipients. You can enter multiple email addresses using a &amp;ldquo;;&amp;rdquo; separator.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;slack&#34;&gt;Slack&lt;/h3&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p float-right&#34;
    style=&#34;max-width: 40%;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link captioned&#34;
        href=&#34;/static/img/docs/v4/slack_notification.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload mb-0&#34;
          data-src=&#34;/static/img/docs/v4/slack_notification.png&#34;data-srcset=&#34;/static/img/docs/v4/slack_notification.png?w=320 320w, /static/img/docs/v4/slack_notification.png?w=550 550w, /static/img/docs/v4/slack_notification.png?w=750 750w, /static/img/docs/v4/slack_notification.png?w=900 900w, /static/img/docs/v4/slack_notification.png?w=1040 1040w, /static/img/docs/v4/slack_notification.png?w=1240 1240w, /static/img/docs/v4/slack_notification.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Alerting Slack Notification&#34;width=&#34;1216&#34;height=&#34;834&#34;title=&#34;Alerting Slack Notification&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/v4/slack_notification.png&#34;
            alt=&#34;Alerting Slack Notification&#34;width=&#34;1216&#34;height=&#34;834&#34;title=&#34;Alerting Slack Notification&#34;class=&#34;float-right&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Alerting Slack Notification&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;To set up Slack, you need to configure an incoming Slack webhook URL. You can follow
&lt;a href=&#34;https://api.slack.com/incoming-webhooks&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Sending messages using Incoming Webhooks&lt;/a&gt; on how to do that. If you want to include screenshots of the
firing alerts in the Slack messages you have to configure either the &lt;a href=&#34;#external-image-store&#34;&gt;external image destination&lt;/a&gt;
in Grafana or a bot integration via Slack Apps. &lt;a href=&#34;https://api.slack.com/bot-users&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Follow Slack&amp;rsquo;s guide to set up a bot integration&lt;/a&gt; and use the token
provided, which starts with &amp;ldquo;xoxb&amp;rdquo;.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Setting&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Url&lt;/td&gt;
              &lt;td&gt;Slack incoming webhook URL, or eventually the &lt;a href=&#34;https://api.slack.com/methods/chat.postMessage&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;chat.postMessage&lt;/a&gt; Slack API endpoint.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Username&lt;/td&gt;
              &lt;td&gt;Set the username for the bot&amp;rsquo;s message.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Recipient&lt;/td&gt;
              &lt;td&gt;Allows you to override the Slack recipient. You must either provide a channel Slack ID, a user Slack ID, a username reference (@&amp;lt;user&amp;gt;, all lowercase, no whitespace), or a channel reference (#&amp;lt;channel&amp;gt;, all lowercase, no whitespace). If you use the &lt;code&gt;chat.postMessage&lt;/code&gt; Slack API endpoint, this is required.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Icon emoji&lt;/td&gt;
              &lt;td&gt;Provide an emoji to use as the icon for the bot&amp;rsquo;s message. Ex :smile:&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Icon URL&lt;/td&gt;
              &lt;td&gt;Provide a URL to an image to use as the icon for the bot&amp;rsquo;s message.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Mention Users&lt;/td&gt;
              &lt;td&gt;Optionally mention one or more users in the Slack notification sent by Grafana. You have to refer to users, comma-separated, via their corresponding Slack IDs (which you can find by clicking the overflow button on each user&amp;rsquo;s Slack profile).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Mention Groups&lt;/td&gt;
              &lt;td&gt;Optionally mention one or more groups in the Slack notification sent by Grafana. You have to refer to groups, comma-separated, via their corresponding Slack IDs (which you can get from each group&amp;rsquo;s Slack profile URL).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Mention Channel&lt;/td&gt;
              &lt;td&gt;Optionally mention either all channel members or just active ones.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Token&lt;/td&gt;
              &lt;td&gt;If provided, Grafana will upload the generated image via Slack&amp;rsquo;s file.upload API method, not the external image destination. If you use the &lt;code&gt;chat.postMessage&lt;/code&gt; Slack API endpoint, this is required.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;If you are using the token for a slack bot, then you have to invite the bot to the channel you want to send notifications and add the channel to the recipient field.&lt;/p&gt;
&lt;h3 id=&#34;opsgenie&#34;&gt;Opsgenie&lt;/h3&gt;
&lt;p&gt;To setup Opsgenie you will need an API Key and the Alert API Url. These can be obtained by configuring a new &lt;a href=&#34;https://docs.opsgenie.com/docs/grafana-integration&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana Integration&lt;/a&gt;.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Setting&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Alert API URL&lt;/td&gt;
              &lt;td&gt;The API URL for your Opsgenie instance. This will normally be either &lt;code&gt;https://api.opsgenie.com&lt;/code&gt; or, for EU customers, &lt;code&gt;https://api.eu.opsgenie.com&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;API Key&lt;/td&gt;
              &lt;td&gt;The API Key as provided by Opsgenie for your configured Grafana integration.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Override priority&lt;/td&gt;
              &lt;td&gt;Configures the alert priority using the &lt;code&gt;og_priority&lt;/code&gt; tag. The &lt;code&gt;og_priority&lt;/code&gt; tag must have one of the following values: &lt;code&gt;P1&lt;/code&gt;, &lt;code&gt;P2&lt;/code&gt;, &lt;code&gt;P3&lt;/code&gt;, &lt;code&gt;P4&lt;/code&gt;, or &lt;code&gt;P5&lt;/code&gt;. Default is &lt;code&gt;False&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Send notification tags as&lt;/td&gt;
              &lt;td&gt;Specify how you would like &lt;a href=&#34;create-alerts.md/#notifications&#34;&gt;Notification Tags&lt;/a&gt; delivered to Opsgenie. They can be delivered as &lt;code&gt;Tags&lt;/code&gt;, &lt;code&gt;Extra Properties&lt;/code&gt; or both. Default is Tags. See note below for more information.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; When notification tags are sent as &lt;code&gt;Tags&lt;/code&gt; they are concatenated into a string with a &lt;code&gt;key:value&lt;/code&gt; format. If you prefer to receive the notifications tags as key/values under Extra Properties in Opsgenie then change the &lt;code&gt;Send notification tags as&lt;/code&gt; to either &lt;code&gt;Extra Properties&lt;/code&gt; or &lt;code&gt;Tags &amp;amp; Extra Properties&lt;/code&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;pagerduty&#34;&gt;PagerDuty&lt;/h3&gt;
&lt;p&gt;To set up PagerDuty, all you have to do is to provide an integration key.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Setting&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Integration Key&lt;/td&gt;
              &lt;td&gt;Integration key for PagerDuty.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Severity&lt;/td&gt;
              &lt;td&gt;Level for dynamic notifications, default is &lt;code&gt;critical&lt;/code&gt; (1)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Auto resolve incidents&lt;/td&gt;
              &lt;td&gt;Resolve incidents in PagerDuty once the alert goes back to ok&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Message in details&lt;/td&gt;
              &lt;td&gt;Removes the Alert message from the PD summary field and puts it into custom details instead (2)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The tags &lt;code&gt;Severity&lt;/code&gt;, &lt;code&gt;Class&lt;/code&gt;, &lt;code&gt;Group&lt;/code&gt;, &lt;code&gt;dedup_key&lt;/code&gt;, and &lt;code&gt;Component&lt;/code&gt; have special meaning in the &lt;a href=&#34;https://support.pagerduty.com/docs/pd-cef&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Pagerduty Common Event Format - PD-CEF&lt;/a&gt;. If an alert panel defines these tag keys, then they are transposed to the root of the event sent to Pagerduty. This means they will be available within the Pagerduty UI and Filtering tools. A Severity tag set on an alert overrides the global Severity set on the notification channel if it&amp;rsquo;s a valid level.&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Using Message In Details will change the structure of the &lt;code&gt;custom_details&lt;/code&gt; field in the PagerDuty Event.
This might break custom event rules in your PagerDuty rules if you rely on the fields in &lt;code&gt;payload.custom_details&lt;/code&gt;.
Move any existing rules using &lt;code&gt;custom_details.myMetric&lt;/code&gt; to &lt;code&gt;custom_details.queries.myMetric&lt;/code&gt;.
This behavior will become the default in a future version of Grafana.&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The &lt;code&gt;dedup_key&lt;/code&gt; tag overrides the Grafana-generated &lt;code&gt;dedup_key&lt;/code&gt; with a custom key.&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The &lt;code&gt;state&lt;/code&gt; tag overrides the current alert state inside the &lt;code&gt;custom_details&lt;/code&gt; payload.&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Grafana uses the &lt;code&gt;Events API V2&lt;/code&gt; integration. This can be configured for each service.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;victorops&#34;&gt;VictorOps&lt;/h3&gt;
&lt;p&gt;To configure VictorOps, provide the URL from the Grafana Integration and substitute &lt;code&gt;$routing_key&lt;/code&gt; with a valid key.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The tag &lt;code&gt;Severity&lt;/code&gt; has special meaning in the &lt;a href=&#34;https://help.victorops.com/knowledge-base/incident-fields-glossary/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;VictorOps Incident Fields&lt;/a&gt;. If an alert panel defines this key, then it replaces the &lt;code&gt;message_type&lt;/code&gt; in the root of the event sent to VictorOps.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;pushover&#34;&gt;Pushover&lt;/h3&gt;
&lt;p&gt;To set up Pushover, you must provide a user key and an API token. Refer to &lt;a href=&#34;https://support.pushover.net/i7-what-is-pushover-and-how-do-i-use-it&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;What is Pushover and how do I use it&lt;/a&gt; for instructions on how to generate them.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Setting&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;API Token&lt;/td&gt;
              &lt;td&gt;Application token&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;User key(s)&lt;/td&gt;
              &lt;td&gt;A comma-separated list of user keys&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Device(s)&lt;/td&gt;
              &lt;td&gt;A comma-separated list of devices&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Priority&lt;/td&gt;
              &lt;td&gt;The priority alerting nottifications are sent&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;OK priority&lt;/td&gt;
              &lt;td&gt;The priority OK notifications are sent; if not set, then OK notifications are sent with the priority set for alerting notifications&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Retry&lt;/td&gt;
              &lt;td&gt;How often (in seconds) the Pushover servers send the same notification to the user. (minimum 30 seconds)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Expire&lt;/td&gt;
              &lt;td&gt;How many seconds your notification will continue to be retried for (maximum 86400 seconds)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Alerting sound&lt;/td&gt;
              &lt;td&gt;The sound for alerting notifications&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;OK sound&lt;/td&gt;
              &lt;td&gt;The sound for OK notifications&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;webhook&#34;&gt;Webhook&lt;/h3&gt;
&lt;p&gt;The webhook notification is a simple way to send information about a state change over HTTP to a custom endpoint.
Using this notification you could integrate Grafana into a system of your choosing.&lt;/p&gt;
&lt;p&gt;Example json body:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;dashboardId&amp;#34;: 1,
  &amp;#34;evalMatches&amp;#34;: [
    {
      &amp;#34;value&amp;#34;: 1,
      &amp;#34;metric&amp;#34;: &amp;#34;Count&amp;#34;,
      &amp;#34;tags&amp;#34;: {}
    }
  ],
  &amp;#34;imageUrl&amp;#34;: &amp;#34;https://grafana.com/assets/img/blog/mixed_styles.png&amp;#34;,
  &amp;#34;message&amp;#34;: &amp;#34;Notification Message&amp;#34;,
  &amp;#34;orgId&amp;#34;: 1,
  &amp;#34;panelId&amp;#34;: 2,
  &amp;#34;ruleId&amp;#34;: 1,
  &amp;#34;ruleName&amp;#34;: &amp;#34;Panel Title alert&amp;#34;,
  &amp;#34;ruleUrl&amp;#34;: &amp;#34;http://localhost:3000/d/hZ7BuVbWz/test-dashboard?fullscreen\u0026edit\u0026tab=alert\u0026panelId=2\u0026orgId=1&amp;#34;,
  &amp;#34;state&amp;#34;: &amp;#34;alerting&amp;#34;,
  &amp;#34;tags&amp;#34;: {
    &amp;#34;tag name&amp;#34;: &amp;#34;tag value&amp;#34;
  },
  &amp;#34;title&amp;#34;: &amp;#34;[Alerting] Panel Title alert&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;state&lt;/strong&gt; - The possible values for alert state are: &lt;code&gt;ok&lt;/code&gt;, &lt;code&gt;paused&lt;/code&gt;, &lt;code&gt;alerting&lt;/code&gt;, &lt;code&gt;pending&lt;/code&gt;, &lt;code&gt;no_data&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;dingdingdingtalk&#34;&gt;DingDing/DingTalk&lt;/h3&gt;
&lt;p&gt;DingTalk supports the following &amp;ldquo;message type&amp;rdquo;: &lt;code&gt;text&lt;/code&gt;, &lt;code&gt;link&lt;/code&gt; and &lt;code&gt;markdown&lt;/code&gt;. Only the &lt;code&gt;link&lt;/code&gt; message type is supported. Refer to the &lt;a href=&#34;https://developers.dingtalk.com/document/app/custom-robot-access&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;configuration instructions&lt;/a&gt; in Chinese language.&lt;/p&gt;
&lt;p&gt;In DingTalk PC Client:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click &amp;ldquo;more&amp;rdquo; icon on upper right of the panel.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &amp;ldquo;Robot Manage&amp;rdquo; item in the pop menu, there will be a new panel call &amp;ldquo;Robot Manage&amp;rdquo;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &amp;ldquo;Robot Manage&amp;rdquo; panel, select &amp;ldquo;customized: customized robot with Webhook&amp;rdquo;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the next new panel named &amp;ldquo;robot detail&amp;rdquo;, click &amp;ldquo;Add&amp;rdquo; button.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In &amp;ldquo;Add Robot&amp;rdquo; panel, input a nickname for the robot and select a &amp;ldquo;message group&amp;rdquo; which the robot will join in. click &amp;ldquo;next&amp;rdquo;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;There will be a Webhook URL in the panel, looks like this: &lt;a href=&#34;https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxx&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxx&lt;/a&gt;. Copy this URL to the Grafana DingTalk setting page and then click &amp;ldquo;finish&amp;rdquo;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;discord&#34;&gt;Discord&lt;/h3&gt;
&lt;p&gt;To set up Discord, you must create a Discord channel webhook. For instructions on how to create the channel, refer to
&lt;a href=&#34;https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Intro to Webhooks&lt;/a&gt;.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Setting&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Webhook URL&lt;/td&gt;
              &lt;td&gt;Discord webhook URL.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Message Content&lt;/td&gt;
              &lt;td&gt;Mention a group using @ or a user using &amp;lt;@ID&amp;gt; when notifying in a channel.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Avatar URL&lt;/td&gt;
              &lt;td&gt;Optionally, provide a URL to an image to use as the avatar for the bot&amp;rsquo;s message.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Use Discord&amp;rsquo;s Webhook Username&lt;/td&gt;
              &lt;td&gt;Use the username configured in Discord&amp;rsquo;s webhook settings. Otherwise, the username will be &amp;lsquo;Grafana.&amp;rsquo;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;Alternately, use the &lt;a href=&#34;#slack&#34;&gt;Slack&lt;/a&gt; notifier by appending &lt;code&gt;/slack&lt;/code&gt; to a Discord webhook URL.&lt;/p&gt;
&lt;h3 id=&#34;kafka&#34;&gt;Kafka&lt;/h3&gt;
&lt;p&gt;Notifications can be sent to a Kafka topic from Grafana using the &lt;a href=&#34;https://docs.confluent.io/1.0/kafka-rest/docs/index.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Kafka REST Proxy&lt;/a&gt;.
There are a couple of configuration options which need to be set up in Grafana UI under Kafka Settings:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Kafka REST Proxy endpoint.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Kafka Topic.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once these two properties are set, you can send the alerts to Kafka for further processing or throttling.&lt;/p&gt;
&lt;h3 id=&#34;google-hangouts-chat&#34;&gt;Google Hangouts Chat&lt;/h3&gt;
&lt;p&gt;Notifications can be sent by setting up an incoming webhook in Google Hangouts chat. For more information about configuring a webhook, refer to &lt;a href=&#34;https://developers.google.com/hangouts/chat/how-tos/webhooks&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;webhooks&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;prometheus-alertmanager&#34;&gt;Prometheus Alertmanager&lt;/h3&gt;
&lt;p&gt;Alertmanager handles alerts sent by client applications such as Prometheus server or Grafana. It takes care of deduplicating, grouping, and routing them to the correct receiver. Grafana notifications can be sent to Alertmanager via a simple incoming webhook. Refer to the official &lt;a href=&#34;https://prometheus.io/docs/alerting/alertmanager&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Prometheus Alertmanager documentation&lt;/a&gt; for configuration information.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Caution:&lt;/strong&gt; In case of a high-availability setup, do not load balance traffic between Grafana and Alertmanagers to keep coherence between all your Alertmanager instances. Instead, point Grafana to a list of all Alertmanagers, by listing their URLs comma-separated in the notification channel configuration.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;sensu-go&#34;&gt;Sensu Go&lt;/h3&gt;
&lt;p&gt;Grafana alert notifications can be sent to &lt;a href=&#34;%28https://sensu.io%29&#34;&gt;Sensu&lt;/a&gt; Go as events via the API. This operation requires an API key. For information on creating this key, refer to &lt;a href=&#34;https://docs.sensu.io/sensu-go/latest/operations/control-access/use-apikeys/#api-key-authentication&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Sensu Go documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;external-image-store&#34;&gt;Enable images in notifications&lt;/h2&gt;
&lt;p&gt;Grafana can render the panel associated with the alert rule as a PNG image and include that in the notification. Read more about the requirements and how to configure
&lt;a href=&#34;../../../image-rendering/&#34;&gt;image rendering&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You must configure an &lt;a href=&#34;../../../administration/configuration/#external-image-storage&#34;&gt;external image storage provider&lt;/a&gt; in order to receive images in alert notifications. If your notification channel requires that the image be publicly accessible (e.g. Slack, PagerDuty), configure a provider which uploads the image to a remote image store like Amazon S3, Webdav, Google Cloud Storage, or Azure Blob Storage. Otherwise, the local provider can be used to serve the image directly from Grafana.&lt;/p&gt;
&lt;p&gt;Notification services which need public image access are marked as &amp;rsquo;external only&#39;.&lt;/p&gt;
&lt;h2 id=&#34;configure-the-link-back-to-grafana-from-alert-notifications&#34;&gt;Configure the link back to Grafana from alert notifications&lt;/h2&gt;
&lt;p&gt;All alert notifications contain a link back to the triggered alert in the Grafana instance.
This URL is based on the &lt;a href=&#34;../../../administration/configuration/#domain&#34;&gt;domain&lt;/a&gt; setting in Grafana.&lt;/p&gt;
&lt;h2 id=&#34;notification-templating&#34;&gt;Notification templating&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Alert notification templating is only available in Grafana v7.4 and above.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The alert notification template feature allows you to take the &lt;a href=&#34;../../../basics/timeseries-dimensions/#labels&#34;&gt;label&lt;/a&gt; value from an alert query and &lt;a href=&#34;../add-notification-template/&#34;&gt;inject that into alert notifications&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="alert-notifications">Alert notifications&lt;/h1>
&lt;p>When an alert changes state, it sends out notifications. Each alert rule can have
multiple notifications. In order to add a notification to an alert rule you first need
to add and configure a &lt;code>notification&lt;/code> channel (can be email, PagerDuty, or other integration).&lt;/p></description></item><item><title>Alert notification templating</title><link>https://grafana.com/docs/grafana/v8.4/alerting/old-alerting/add-notification-template/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/old-alerting/add-notification-template/</guid><content><![CDATA[&lt;h1 id=&#34;alert-notification-templating&#34;&gt;Alert notification templating&lt;/h1&gt;
&lt;p&gt;You can provide detailed information to alert notification recipients by injecting alert query data into an alert notification. This topic explains how you can use alert query labels in alert notifications.&lt;/p&gt;
&lt;p&gt;Labels that exist from the evaluation of the alert query can be used in the alert rule name and in the alert notification message fields. The alert label data is injected into the notification fields when the alert is in the alerting state. When there are multiple unique values for the same label, the values are comma-separated.&lt;/p&gt;
&lt;p&gt;This topic explains how you can use alert query labels in alert notifications.&lt;/p&gt;
&lt;h2 id=&#34;adding-alert-label-data-into-your-alert-notification&#34;&gt;Adding alert label data into your alert notification&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to the panel you want to add or edit an alert rule for.&lt;/li&gt;
&lt;li&gt;Click on the panel title, and then click &lt;strong&gt;Edit&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;On the Alert tab, click &lt;strong&gt;Create Alert&lt;/strong&gt;. If an alert already exists for this panel, then you can edit the alert directly.&lt;/li&gt;
&lt;li&gt;Refer to the alert query labels in the alert rule name and/or alert notification message field by using the &lt;code&gt;${Label}&lt;/code&gt; syntax.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt; in the upper right corner to save the alert rule and the dashboard.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/static/img/docs/alerting/alert-notification-template-7-4.png&#34;
  alt=&#34;Alerting notification template&#34; width=&#34;1266&#34;
     height=&#34;1094&#34;/&gt;&lt;/p&gt;
]]></content><description>&lt;h1 id="alert-notification-templating">Alert notification templating&lt;/h1>
&lt;p>You can provide detailed information to alert notification recipients by injecting alert query data into an alert notification. This topic explains how you can use alert query labels in alert notifications.&lt;/p></description></item><item><title>Create alerts</title><link>https://grafana.com/docs/grafana/v8.4/alerting/old-alerting/create-alerts/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/old-alerting/create-alerts/</guid><content><![CDATA[&lt;h1 id=&#34;create-alerts&#34;&gt;Create alerts&lt;/h1&gt;
&lt;p&gt;Grafana alerting allows you to attach rules to your dashboard panels. When you save the dashboard, Grafana extracts the alert rules into a separate alert rule storage and schedules them for evaluation.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/static/img/docs/alerting/drag_handles_gif.gif&#34;
  alt=&#34;Alerting overview&#34; width=&#34;888&#34;
     height=&#34;676&#34;/&gt;&lt;/p&gt;
&lt;p&gt;In the Alert tab of the graph panel you can configure how often the alert rule should be evaluated and the conditions that need to be met for the alert to change state and trigger its &lt;a href=&#34;../notifications/&#34;&gt;notifications&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Currently only the graph panel supports alert rules.&lt;/p&gt;
&lt;h2 id=&#34;add-or-edit-an-alert-rule&#34;&gt;Add or edit an alert rule&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to the panel you want to add or edit an alert rule for, click the title, and then click &lt;strong&gt;Edit&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;On the Alert tab, click &lt;strong&gt;Create Alert&lt;/strong&gt;. If an alert already exists for this panel, then you can just edit the fields on the Alert tab.&lt;/li&gt;
&lt;li&gt;Fill out the fields. Descriptions are listed below in &lt;a href=&#34;#alert-rule-fields&#34;&gt;Alert rule fields&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;When you have finished writing your rule, click &lt;strong&gt;Save&lt;/strong&gt; in the upper right corner to save alert rule and the dashboard.&lt;/li&gt;
&lt;li&gt;(Optional but recommended) Click &lt;strong&gt;Test rule&lt;/strong&gt; to make sure the rule returns the results you expect.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;delete-an-alert&#34;&gt;Delete an alert&lt;/h2&gt;
&lt;p&gt;To delete an alert, scroll to the bottom of the alert and then click &lt;strong&gt;Delete&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;alert-rule-fields&#34;&gt;Alert rule fields&lt;/h2&gt;
&lt;p&gt;This section describes the fields you fill out to create an alert.&lt;/p&gt;
&lt;h3 id=&#34;rule&#34;&gt;Rule&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Name -&lt;/strong&gt; Enter a descriptive name. The name will be displayed in the Alert Rules list. This field supports &lt;a href=&#34;../add-notification-template/&#34;&gt;templating&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Evaluate every -&lt;/strong&gt; Specify how often the scheduler should evaluate the alert rule. This is referred to as the &lt;em&gt;evaluation interval&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;For -&lt;/strong&gt; Specify how long the query needs to violate the configured thresholds before the alert notification triggers.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can set a minimum evaluation interval in the &lt;code&gt;alerting.min_interval_seconds&lt;/code&gt; configuration field, to set a minimum time between evaluations. Refer to &lt;a href=&#34;../../../administration/configuration/#min-interval-seconds&#34;&gt;Configuration&lt;/a&gt; for more information.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Caution:&lt;/strong&gt; Do not use &lt;code&gt;For&lt;/code&gt; with the &lt;code&gt;If no data or all values are null&lt;/code&gt; setting set to &lt;code&gt;No Data&lt;/code&gt;. The triggering of &lt;code&gt;No Data&lt;/code&gt; will trigger instantly and not take &lt;code&gt;For&lt;/code&gt; into consideration. This may also result in that an OK notification not being sent if alert transitions from &lt;code&gt;No Data -&amp;gt; Pending -&amp;gt; OK&lt;/code&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If an alert rule has a configured &lt;code&gt;For&lt;/code&gt; and the query violates the configured threshold, then it will first go from &lt;code&gt;OK&lt;/code&gt; to &lt;code&gt;Pending&lt;/code&gt;. Going from &lt;code&gt;OK&lt;/code&gt; to &lt;code&gt;Pending&lt;/code&gt; Grafana will not send any notifications. Once the alert rule has been firing for more than &lt;code&gt;For&lt;/code&gt; duration, it will change to &lt;code&gt;Alerting&lt;/code&gt; and send alert notifications.&lt;/p&gt;
&lt;p&gt;Typically, it&amp;rsquo;s always a good idea to use this setting since it&amp;rsquo;s often worse to get false positive than wait a few minutes before the alert notification triggers. Looking at the &lt;code&gt;Alert list&lt;/code&gt; or &lt;code&gt;Alert list panels&lt;/code&gt; you will be able to see alerts in pending state.&lt;/p&gt;
&lt;p&gt;Below you can see an example timeline of an alert using the &lt;code&gt;For&lt;/code&gt; setting. At ~16:04 the alert state changes to &lt;code&gt;Pending&lt;/code&gt; and after 4 minutes it changes to &lt;code&gt;Alerting&lt;/code&gt; which is when alert notifications are sent. Once the series falls back to normal the alert rule goes back to &lt;code&gt;OK&lt;/code&gt;.
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p float-right&#34;
    style=&#34;max-width: 1205px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link captioned&#34;
        href=&#34;/static/img/docs/v54/alerting-for-dark-theme.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload mb-0&#34;
          data-src=&#34;/static/img/docs/v54/alerting-for-dark-theme.png&#34;data-srcset=&#34;/static/img/docs/v54/alerting-for-dark-theme.png?w=320 320w, /static/img/docs/v54/alerting-for-dark-theme.png?w=550 550w, /static/img/docs/v54/alerting-for-dark-theme.png?w=750 750w, /static/img/docs/v54/alerting-for-dark-theme.png?w=900 900w, /static/img/docs/v54/alerting-for-dark-theme.png?w=1040 1040w, /static/img/docs/v54/alerting-for-dark-theme.png?w=1240 1240w, /static/img/docs/v54/alerting-for-dark-theme.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Alerting For&#34;width=&#34;1205&#34;height=&#34;347&#34;title=&#34;Alerting For&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/v54/alerting-for-dark-theme.png&#34;
            alt=&#34;Alerting For&#34;width=&#34;1205&#34;height=&#34;347&#34;title=&#34;Alerting For&#34;class=&#34;float-right&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Alerting For&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p float-right&#34;
    style=&#34;max-width: 40%;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link captioned&#34;
        href=&#34;/static/img/docs/v4/alerting_conditions.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload mb-0&#34;
          data-src=&#34;/static/img/docs/v4/alerting_conditions.png&#34;data-srcset=&#34;/static/img/docs/v4/alerting_conditions.png?w=320 320w, /static/img/docs/v4/alerting_conditions.png?w=550 550w, /static/img/docs/v4/alerting_conditions.png?w=750 750w, /static/img/docs/v4/alerting_conditions.png?w=900 900w, /static/img/docs/v4/alerting_conditions.png?w=1040 1040w, /static/img/docs/v4/alerting_conditions.png?w=1240 1240w, /static/img/docs/v4/alerting_conditions.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Alerting Conditions&#34;width=&#34;1164&#34;height=&#34;582&#34;title=&#34;Alerting Conditions&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/v4/alerting_conditions.png&#34;
            alt=&#34;Alerting Conditions&#34;width=&#34;1164&#34;height=&#34;582&#34;title=&#34;Alerting Conditions&#34;class=&#34;float-right&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Alerting Conditions&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h3 id=&#34;conditions&#34;&gt;Conditions&lt;/h3&gt;
&lt;p&gt;Currently the only condition type that exists is a &lt;code&gt;Query&lt;/code&gt; condition that allows you to
specify a query letter, time range and an aggregation function.&lt;/p&gt;
&lt;h4 id=&#34;query-condition-example&#34;&gt;Query condition example&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;SQL&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-sql&#34;&gt;avg() OF query(A, 15m, now) IS BELOW 14&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;avg()&lt;/code&gt; Controls how the values for &lt;strong&gt;each&lt;/strong&gt; series should be reduced to a value that can be compared against the threshold. Click on the function to change it to another aggregation function.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;query(A, 15m, now)&lt;/code&gt; The letter defines what query to execute from the &lt;strong&gt;Metrics&lt;/strong&gt; tab. The second two parameters define the time range, &lt;code&gt;15m, now&lt;/code&gt; means 15 minutes ago to now. You can also do &lt;code&gt;10m, now-2m&lt;/code&gt; to define a time range that will be 10 minutes ago to 2 minutes ago. This is useful if you want to ignore the last 2 minutes of data.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;IS BELOW 14&lt;/code&gt; Defines the type of threshold and the threshold value. You can click on &lt;code&gt;IS BELOW&lt;/code&gt; to change the type of threshold.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The query used in an alert rule cannot contain any template variables. Currently we only support &lt;code&gt;AND&lt;/code&gt; and &lt;code&gt;OR&lt;/code&gt; operators between conditions and they are executed serially.
For example, we have 3 conditions in the following order:
&lt;em&gt;condition:A(evaluates to: TRUE) OR condition:B(evaluates to: FALSE) AND condition:C(evaluates to: TRUE)&lt;/em&gt;
so the result will be calculated as ((TRUE OR FALSE) AND TRUE) = TRUE.&lt;/p&gt;
&lt;p&gt;We plan to add other condition types in the future, like &lt;code&gt;Other Alert&lt;/code&gt;, where you can include the state of another alert in your conditions, and &lt;code&gt;Time Of Day&lt;/code&gt;.&lt;/p&gt;
&lt;h4 id=&#34;multiple-series&#34;&gt;Multiple Series&lt;/h4&gt;
&lt;p&gt;If a query returns multiple series, then the aggregation function and threshold check will be evaluated for each series. What Grafana does not do currently is track alert rule state &lt;strong&gt;per series&lt;/strong&gt;. This has implications that are detailed in the scenario below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alert condition with query that returns 2 series: &lt;strong&gt;server1&lt;/strong&gt; and &lt;strong&gt;server2&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server1&lt;/strong&gt; series causes the alert rule to fire and switch to state &lt;code&gt;Alerting&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Notifications are sent out with message: &lt;em&gt;load peaking (server1)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;In a subsequent evaluation of the same alert rule, the &lt;strong&gt;server2&lt;/strong&gt; series also causes the alert rule to fire&lt;/li&gt;
&lt;li&gt;No new notifications are sent as the alert rule is already in state &lt;code&gt;Alerting&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, as you can see from the above scenario Grafana will not send out notifications when other series cause the alert to fire if the rule already is in state &lt;code&gt;Alerting&lt;/code&gt;. To improve support for queries that return multiple series we plan to track state &lt;strong&gt;per series&lt;/strong&gt; in a future release.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Starting with Grafana v5.3 you can configure reminders to be sent for triggered alerts. This will send additional notifications
when an alert continues to fire. If other series (like server2 in the example above) also cause the alert rule to fire they will be included in the reminder notification. Depending on what notification channel you&amp;rsquo;re using you may be able to take advantage of this feature for identifying new/existing series causing alert to fire.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;no-data--error-handling&#34;&gt;No Data &amp;amp; Error Handling&lt;/h3&gt;
&lt;p&gt;Below are conditions you can configure how the rule evaluation engine should handle queries that return no data or only null values.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;No Data Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;No Data&lt;/td&gt;
              &lt;td&gt;Set alert rule state to &lt;code&gt;NoData&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Alerting&lt;/td&gt;
              &lt;td&gt;Set alert rule state to &lt;code&gt;Alerting&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Keep Last State&lt;/td&gt;
              &lt;td&gt;Keep the current alert rule state, whatever it is.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Ok&lt;/td&gt;
              &lt;td&gt;Not sure why you would want to send yourself an alert when things are okay, but you could.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;execution-errors-or-timeouts&#34;&gt;Execution errors or timeouts&lt;/h3&gt;
&lt;p&gt;Tell Grafana how to handle execution or timeout errors.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Error or timeout option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Alerting&lt;/td&gt;
              &lt;td&gt;Set alert rule state to &lt;code&gt;Alerting&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Keep Last State&lt;/td&gt;
              &lt;td&gt;Keep the current alert rule state, whatever it is.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;If you have an unreliable time series store from which queries sometime timeout or fail randomly you can set this option to &lt;code&gt;Keep Last State&lt;/code&gt; in order to basically ignore them.&lt;/p&gt;
&lt;h2 id=&#34;notifications&#34;&gt;Notifications&lt;/h2&gt;
&lt;p&gt;In alert tab you can also specify alert rule notifications along with a detailed message about the alert rule. The message can contain anything, information about how you might solve the issue, link to runbook, and so on.&lt;/p&gt;
&lt;p&gt;The actual notifications are configured and shared between multiple alerts. Read
&lt;a href=&#34;../notifications/&#34;&gt;Alert notifications&lt;/a&gt; for information on how to configure and set up notifications.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Send to -&lt;/strong&gt; Select an alert notification channel if you have one set up.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Message -&lt;/strong&gt; Enter a text message to be sent on the notification channel. Some alert notifiers support transforming the text to HTML or other rich formats. This field supports &lt;a href=&#34;../add-notification-template/&#34;&gt;templating&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tags -&lt;/strong&gt; Specify a list of tags (key/value) to be included in the notification. It is only supported by &lt;a href=&#34;../notifications/#all-supported-notifiers&#34;&gt;some notifiers&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;alert-state-history-and-annotations&#34;&gt;Alert state history and annotations&lt;/h2&gt;
&lt;p&gt;Alert state changes are recorded in the internal annotation table in Grafana&amp;rsquo;s database. The state changes are visualized as annotations in the alert rule&amp;rsquo;s graph panel. You can also go into the &lt;code&gt;State history&lt;/code&gt; submenu in the alert tab to view and clear state history.&lt;/p&gt;
]]></content><description>&lt;h1 id="create-alerts">Create alerts&lt;/h1>
&lt;p>Grafana alerting allows you to attach rules to your dashboard panels. When you save the dashboard, Grafana extracts the alert rules into a separate alert rule storage and schedules them for evaluation.&lt;/p></description></item><item><title>Pause alert rule</title><link>https://grafana.com/docs/grafana/v8.4/alerting/old-alerting/pause-an-alert-rule/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/old-alerting/pause-an-alert-rule/</guid><content><![CDATA[&lt;h1 id=&#34;pause-an-alert-rule&#34;&gt;Pause an alert rule&lt;/h1&gt;
&lt;p&gt;Pausing the evaluation of an alert rule can sometimes be useful. For example, during a maintenance window, pausing alert rules can avoid triggering a flood of alerts.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In the Grafana side bar, hover your cursor over the Alerting (bell) icon and then click &lt;strong&gt;Alert Rules&lt;/strong&gt;. All configured alert rules are listed, along with their current state.&lt;/li&gt;
&lt;li&gt;Find your alert in the list, and click the &lt;strong&gt;Pause&lt;/strong&gt; icon on the right. The &lt;strong&gt;Pause&lt;/strong&gt; icon turns into a &lt;strong&gt;Play&lt;/strong&gt; icon.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Play&lt;/strong&gt; icon to resume evaluation of your alert.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="pause-an-alert-rule">Pause an alert rule&lt;/h1>
&lt;p>Pausing the evaluation of an alert rule can sometimes be useful. For example, during a maintenance window, pausing alert rules can avoid triggering a flood of alerts.&lt;/p></description></item><item><title>View alerts</title><link>https://grafana.com/docs/grafana/v8.4/alerting/old-alerting/view-alerts/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/old-alerting/view-alerts/</guid><content><![CDATA[&lt;h1 id=&#34;view-existing-alert-rules&#34;&gt;View existing alert rules&lt;/h1&gt;
&lt;p&gt;Grafana stores individual alert rules in the panels where they are defined, but you can also view a list of all existing alert rules and their current state.&lt;/p&gt;
&lt;p&gt;In the Grafana side bar, hover your cursor over the Alerting (bell) icon and then click &lt;strong&gt;Alert Rules&lt;/strong&gt;. All configured alert rules are listed, along with their current state.&lt;/p&gt;
&lt;p&gt;You can do several things while viewing alerts.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Filter alerts by name -&lt;/strong&gt; Type an alert name in the &lt;strong&gt;Search alerts&lt;/strong&gt; field.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Filter alerts by state -&lt;/strong&gt; In &lt;strong&gt;States&lt;/strong&gt;, select which alert states you want to see. All others will be hidden.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pause or resume an alert -&lt;/strong&gt; Click the &lt;strong&gt;Pause&lt;/strong&gt; or &lt;strong&gt;Play&lt;/strong&gt; icon next to the alert to pause or resume evaluation. See &lt;a href=&#34;../pause-an-alert-rule/&#34;&gt;Pause an alert rule&lt;/a&gt; for more information.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Access alert rule settings -&lt;/strong&gt; Click the alert name or the &lt;strong&gt;Edit alert rule&lt;/strong&gt; (gear) icon. Grafana opens the Alert tab of the panel where the alert rule is defined. This is helpful when an alert is firing but you don&amp;rsquo;t know which panel it is defined in.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="view-existing-alert-rules">View existing alert rules&lt;/h1>
&lt;p>Grafana stores individual alert rules in the panels where they are defined, but you can also view a list of all existing alert rules and their current state.&lt;/p></description></item><item><title>Troubleshoot alerts</title><link>https://grafana.com/docs/grafana/v8.4/alerting/old-alerting/troubleshoot-alerts/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/old-alerting/troubleshoot-alerts/</guid><content><![CDATA[&lt;h1 id=&#34;troubleshoot-alerts&#34;&gt;Troubleshoot alerts&lt;/h1&gt;
&lt;p&gt;If alerts are not behaving as you expect, here are some steps you can take to troubleshoot and figure out what is going wrong.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/static/img/docs/v4/alert_test_rule.png&#34;
  alt=&#34;Test Rule&#34; width=&#34;1368&#34;
     height=&#34;790&#34;/&gt;&lt;/p&gt;
&lt;p&gt;The first level of troubleshooting you can do is click &lt;strong&gt;Test Rule&lt;/strong&gt;. You will get result back that you can expand to the point where you can see the raw data that was returned from your query.&lt;/p&gt;
&lt;p&gt;Further troubleshooting can also be done by inspecting the grafana-server log. If it&amp;rsquo;s not an error or for some reason the log does not say anything you can enable debug logging for some relevant components. This is done in Grafana&amp;rsquo;s ini config file.&lt;/p&gt;
&lt;p&gt;Example showing loggers that could be relevant when troubleshooting alerting.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;ini&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-ini&#34;&gt;[log]
filters = alerting.scheduler:debug \
          alerting.engine:debug \
          alerting.resultHandler:debug \
          alerting.evalHandler:debug \
          alerting.evalContext:debug \
          alerting.extractor:debug \
          alerting.notifier:debug \
          alerting.notifier.slack:debug \
          alerting.notifier.pagerduty:debug \
          alerting.notifier.email:debug \
          alerting.notifier.webhook:debug \
          tsdb.graphite:debug \
          tsdb.prometheus:debug \
          tsdb.opentsdb:debug \
          tsdb.influxdb:debug \
          tsdb.elasticsearch:debug \
          tsdb.elasticsearch.client:debug \&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;If you want to log raw query sent to your TSDB and raw response in log you also have to set grafana.ini option &lt;code&gt;app_mode&lt;/code&gt; to &lt;code&gt;development&lt;/code&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="troubleshoot-alerts">Troubleshoot alerts&lt;/h1>
&lt;p>If alerts are not behaving as you expect, here are some steps you can take to troubleshoot and figure out what is going wrong.&lt;/p></description></item></channel></rss>