<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Alerting on Grafana Labs</title><link>https://grafana.com/docs/grafana/v6.4/alerting/</link><description>Recent content in Alerting on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v6.4/alerting/index.xml" rel="self" type="application/rss+xml"/><item><title>Alerting Engine and Rules Guide</title><link>https://grafana.com/docs/grafana/v6.4/alerting/rules/</link><pubDate>Fri, 06 Mar 2026 22:21:21 +0000</pubDate><guid>https://grafana.com/docs/grafana/v6.4/alerting/rules/</guid><content><![CDATA[&lt;h1 id=&#34;alerting-engine-and-rules-guide&#34;&gt;Alerting Engine and Rules Guide&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Alerting is only available in Grafana v4.0 and above.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&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/drag_handles_gif.gif&#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/drag_handles_gif.gif&#34;alt=&#34;Alerting overview&#34;width=&#34;888&#34;height=&#34;676&#34;title=&#34;Alerting overview&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/v4/drag_handles_gif.gif&#34;
            alt=&#34;Alerting overview&#34;width=&#34;888&#34;height=&#34;676&#34;title=&#34;Alerting overview&#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 overview&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;Alerting in Grafana allows you to attach rules to your dashboard panels. When you save the dashboard
Grafana will extract the alert rules into a separate alert rule storage and schedule them for evaluation.&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;h2 id=&#34;execution&#34;&gt;Execution&lt;/h2&gt;
&lt;p&gt;The alert rules are evaluated in the Grafana backend in a scheduler and query execution engine that is part
of core Grafana. Only some data sources are supported right now. They include &lt;code&gt;Graphite&lt;/code&gt;, &lt;code&gt;Prometheus&lt;/code&gt;, &lt;code&gt;InfluxDB&lt;/code&gt;, &lt;code&gt;Elasticsearch&lt;/code&gt;,
&lt;code&gt;Stackdriver&lt;/code&gt;, &lt;code&gt;Cloudwatch&lt;/code&gt;, &lt;code&gt;Azure Monitor&lt;/code&gt;, &lt;code&gt;MySQL&lt;/code&gt;, &lt;code&gt;PostgreSQL&lt;/code&gt;, &lt;code&gt;MSSQL&lt;/code&gt;, &lt;code&gt;OpenTSDB&lt;/code&gt;, &lt;code&gt;Oracle&lt;/code&gt; and &lt;code&gt;Azure Data Explorer&lt;/code&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Alerting support for Azure Monitor is only available in Grafana v6.0 and above.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;clustering&#34;&gt;Clustering&lt;/h3&gt;
&lt;p&gt;Currently alerting supports a limited form of high availability. Since v4.2.0 of Grafana, alert notifications are deduped when running multiple servers. This means all alerts are executed on every server but no duplicate alert notifications are sent due to the deduping logic. Proper load balancing of alerts will be introduced in the future.&lt;/p&gt;
&lt;div class=&#34;clearfix&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;rule-config&#34;&gt;Rule Config&lt;/h2&gt;
&lt;p&gt;Currently only the graph panel supports alert rules but this will be added to the &lt;strong&gt;Singlestat&lt;/strong&gt; and &lt;strong&gt;Table&lt;/strong&gt;
panels as well in a future release.&lt;/p&gt;
&lt;h3 id=&#34;name-and-evaluation-interval&#34;&gt;Name and Evaluation interval&lt;/h3&gt;
&lt;p&gt;Here you can specify the name of the alert rule and how often the scheduler should evaluate the alert rule.&lt;/p&gt;
&lt;h3 id=&#34;for&#34;&gt;For&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Important note regarding No Data:&lt;/strong&gt;&lt;/p&gt;
&lt;p&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 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;h3 id=&#34;query-condition-example&#34;&gt;Query condition example&lt;/h3&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 cause 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 subsequence evaluation of the same alert rule the &lt;strong&gt;server2&lt;/strong&gt; series also cause 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;a href=&#34;/alerting/notifications/#send-reminders&#34;&gt;Read more about notification reminders here&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;no-data--null-values&#34;&gt;No Data / Null values&lt;/h3&gt;
&lt;p&gt;Below your 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;NoData&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, what ever it is.&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;The last option tells 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, what ever 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, etc.&lt;/p&gt;
&lt;p&gt;The actual notifications are configured and shared between multiple alerts. Read the
&lt;a href=&#34;../notifications/&#34;&gt;notifications&lt;/a&gt; guide for how to configure and setup notifications.&lt;/p&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;
&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h2&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/alert_test_rule.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/alert_test_rule.png&#34;data-srcset=&#34;/static/img/docs/v4/alert_test_rule.png?w=320 320w, /static/img/docs/v4/alert_test_rule.png?w=550 550w, /static/img/docs/v4/alert_test_rule.png?w=750 750w, /static/img/docs/v4/alert_test_rule.png?w=900 900w, /static/img/docs/v4/alert_test_rule.png?w=1040 1040w, /static/img/docs/v4/alert_test_rule.png?w=1240 1240w, /static/img/docs/v4/alert_test_rule.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Test Rule&#34;width=&#34;1368&#34;height=&#34;790&#34;title=&#34;Test Rule&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/v4/alert_test_rule.png&#34;
            alt=&#34;Test Rule&#34;width=&#34;1368&#34;height=&#34;790&#34;title=&#34;Test Rule&#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;Test Rule&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;First level of troubleshooting you can do is hit the &lt;strong&gt;Test Rule&lt;/strong&gt; button. 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="alerting-engine-and-rules-guide">Alerting Engine and Rules Guide&lt;/h1>
&lt;blockquote>
&lt;p>Alerting is only available in Grafana v4.0 and above.&lt;/p>&lt;/blockquote>
&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;figure
class="figure-wrapper figure-wrapper__lightbox w-100p float-right"
style="max-width: 40%;"
itemprop="associatedMedia"
itemscope=""
itemtype="http://schema.org/ImageObject"
>&lt;a
class="lightbox-link captioned"
href="/static/img/docs/v4/drag_handles_gif.gif"
itemprop="contentUrl"
>&lt;div class="img-wrapper w-100p h-auto">&lt;img
class="lazyload mb-0"
data-src="/static/img/docs/v4/drag_handles_gif.gif"alt="Alerting overview"width="888"height="676"title="Alerting overview"/>
&lt;noscript>
&lt;img
src="/static/img/docs/v4/drag_handles_gif.gif"
alt="Alerting overview"width="888"height="676"title="Alerting overview"class="float-right"/>
&lt;/noscript>&lt;/div>&lt;figcaption class="w-100p caption text-gray-13 ">Alerting overview&lt;/figcaption>&lt;/a>&lt;/figure>
&lt;p>Alerting in Grafana allows you to attach rules to your dashboard panels. When you save the dashboard
Grafana will extract the alert rules into a separate alert rule storage and schedule them for evaluation.&lt;/p></description></item><item><title>Alerting Metrics</title><link>https://grafana.com/docs/grafana/v6.4/alerting/metrics/</link><pubDate>Fri, 06 Mar 2026 22:21:21 +0000</pubDate><guid>https://grafana.com/docs/grafana/v6.4/alerting/metrics/</guid><content><![CDATA[&lt;h1 id=&#34;metrics-from-the-alert-engine&#34;&gt;Metrics from the alert engine&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Alerting is only available in Grafana v4.0 and above.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The alert engine publishes some internal metrics about itself. You can read more about how Grafana publishes &lt;a href=&#34;/installation/configuration/#metrics&#34;&gt;internal metrics&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;Description&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Metric name&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Total number of alerts&lt;/td&gt;
              &lt;td&gt;counter&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;alerting.active_alerts&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Alert execution result&lt;/td&gt;
              &lt;td&gt;counter&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;alerting.result&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Notifications sent counter&lt;/td&gt;
              &lt;td&gt;counter&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;alerting.notifications_sent&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Alert execution timer&lt;/td&gt;
              &lt;td&gt;timer&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;alerting.execution_time&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h1 id="metrics-from-the-alert-engine">Metrics from the alert engine&lt;/h1>
&lt;blockquote>
&lt;p>Alerting is only available in Grafana v4.0 and above.&lt;/p>&lt;/blockquote>
&lt;p>The alert engine publishes some internal metrics about itself. You can read more about how Grafana publishes &lt;a href="/installation/configuration/#metrics">internal metrics&lt;/a>.&lt;/p></description></item><item><title>Alerting Notifications</title><link>https://grafana.com/docs/grafana/v6.4/alerting/notifications/</link><pubDate>Fri, 06 Mar 2026 22:21:21 +0000</pubDate><guid>https://grafana.com/docs/grafana/v6.4/alerting/notifications/</guid><content><![CDATA[&lt;h1 id=&#34;alert-notifications&#34;&gt;Alert Notifications&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Alerting is only available in Grafana v4.0 and above.&lt;/p&gt;&lt;/blockquote&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).
This is done from the Notification Channels page.&lt;/p&gt;
&lt;h2 id=&#34;notification-channel-setup&#34;&gt;Notification Channel Setup&lt;/h2&gt;
&lt;p&gt;On the Notification Channels page hit the &lt;code&gt;New Channel&lt;/code&gt; button to go the page where you
can configure and setup a new Notification Channel.&lt;/p&gt;
&lt;p&gt;You specify a name and a type, and type specific options. You can also test the notification to make
sure it&amp;rsquo;s setup correctly.&lt;/p&gt;
&lt;h3 id=&#34;default-send-on-all-alerts&#34;&gt;Default (send on all alerts)&lt;/h3&gt;
&lt;p&gt;When checked, this option will notify for all alert rules - existing and new.&lt;/p&gt;
&lt;h3 id=&#34;send-reminders&#34;&gt;Send reminders&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana v5.3 and above.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--right&#34;
    style=&#34;max-width: 600px;&#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/v53/alerting_notification_reminders.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/v53/alerting_notification_reminders.png&#34;data-srcset=&#34;/static/img/docs/v53/alerting_notification_reminders.png?w=320 320w, /static/img/docs/v53/alerting_notification_reminders.png?w=550 550w, /static/img/docs/v53/alerting_notification_reminders.png?w=750 750w, /static/img/docs/v53/alerting_notification_reminders.png?w=900 900w, /static/img/docs/v53/alerting_notification_reminders.png?w=1040 1040w, /static/img/docs/v53/alerting_notification_reminders.png?w=1240 1240w, /static/img/docs/v53/alerting_notification_reminders.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Alerting notification reminders setup&#34;width=&#34;445&#34;height=&#34;398&#34;title=&#34;Alerting notification reminders setup&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/v53/alerting_notification_reminders.png&#34;
            alt=&#34;Alerting notification reminders setup&#34;width=&#34;445&#34;height=&#34;398&#34;title=&#34;Alerting notification reminders setup&#34;class=&#34;docs-image--right&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Alerting notification reminders setup&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&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; etc.&lt;/p&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 &lt;a href=&#34;/alerting/rules/#name-evaluation-interval&#34;&gt;alert rule evaluation interval&lt;/a&gt;.&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;h3 id=&#34;disable-resolve-message&#34;&gt;Disable resolve message&lt;/h3&gt;
&lt;p&gt;When checked, this option will disable resolve message [OK] that is sent when alerting state returns to false.&lt;/p&gt;
&lt;h2 id=&#34;supported-notification-types&#34;&gt;Supported Notification Types&lt;/h2&gt;
&lt;p&gt;Grafana ships with the following set of notification types:&lt;/p&gt;
&lt;h3 id=&#34;email&#34;&gt;Email&lt;/h3&gt;
&lt;p&gt;To enable email notifications you have to setup &lt;a href=&#34;/installation/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;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 webhook url at slack. You can follow their guide on how
to do that &lt;a href=&#34;https://api.slack.com/incoming-webhooks&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;here&lt;/a&gt;. 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. Follow Slack&amp;rsquo;s guide to set up a bot integration and use the token provided
(&lt;a href=&#34;https://api.slack.com/bot-users%29&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://api.slack.com/bot-users)&lt;/a&gt;, 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.&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.&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&lt;/td&gt;
              &lt;td&gt;make it possible to include a mention in the Slack notification sent by Grafana. Ex @here or @channel&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.&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;pagerduty&#34;&gt;PagerDuty&lt;/h3&gt;
&lt;p&gt;To set up PagerDuty, all you have to do is to provide an API 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;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;/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;title&amp;#34;: &amp;#34;My alert&amp;#34;,
  &amp;#34;ruleId&amp;#34;: 1,
  &amp;#34;ruleName&amp;#34;: &amp;#34;Load peaking!&amp;#34;,
  &amp;#34;ruleUrl&amp;#34;: &amp;#34;http://url.to.grafana/db/dashboard/my_dashboard?panelId=2&amp;#34;,
  &amp;#34;state&amp;#34;: &amp;#34;alerting&amp;#34;,
  &amp;#34;imageUrl&amp;#34;: &amp;#34;http://s3.image.url&amp;#34;,
  &amp;#34;message&amp;#34;: &amp;#34;Load is peaking. Make sure the traffic is real and spin up more webfronts&amp;#34;,
  &amp;#34;evalMatches&amp;#34;: [
    {
      &amp;#34;metric&amp;#34;: &amp;#34;requests&amp;#34;,
      &amp;#34;tags&amp;#34;: {},
      &amp;#34;value&amp;#34;: 122
    }
  ]
}&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;&lt;a href=&#34;https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.p2lr6t&amp;amp;treeId=257&amp;amp;articleId=105733&amp;amp;docType=1&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Instructions in Chinese&lt;/a&gt;.&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;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.&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. Configuring such a webhook is described &lt;a href=&#34;https://developers.google.com/hangouts/chat/how-tos/webhooks&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;all-supported-notifiers&#34;&gt;All supported notifiers&lt;/h3&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;Support alert rule tags&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;DingDing&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;Discord&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;Email&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;Google Hangouts Chat&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;Kafka&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;OpsGenie&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;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Pagerduty&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;no&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;Pushover&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;Slack&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;no&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Webhook&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;h1 id=&#34;external-image-store&#34;&gt;Enable images in notifications&lt;/h1&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 image rendering &lt;a href=&#34;/administration/image_rendering/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Most Notification Channels require that this image be publicly accessible (Slack and PagerDuty for example). In order to include images in alert notifications, Grafana can upload the image to an image store. It currently supports
Amazon S3, Webdav, Google Cloud Storage and Azure Blob Storage. So to set that up you need to configure the &lt;a href=&#34;/installation/configuration/#external-image-storage&#34;&gt;external image uploader&lt;/a&gt; in your grafana-server ini config file.&lt;/p&gt;
&lt;p&gt;Be aware that some notifiers requires public access to the image to be able to include it in the notification. So make sure to enable public access to the images. If you&amp;rsquo;re using local image uploader, your Grafana instance need to be accessible by the internet.&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;h1 id=&#34;alert-rule-tags&#34;&gt;Use alert rule tags in notifications&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana v6.3&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Grafana can include a list of tags (key/value) in the notification.
It&amp;rsquo;s called alert rule tags to contrast with tags parsed from timeseries.
It currently supports only the Prometheus Alertmanager notifier.&lt;/p&gt;
&lt;p&gt;This is an optional feature. You can get notifications without using alert rule tags.&lt;/p&gt;
&lt;h1 id=&#34;configure-the-link-back-to-grafana-from-alert-notifications&#34;&gt;Configure the link back to Grafana from alert notifications&lt;/h1&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;/installation/configuration/#domain&#34;&gt;domain&lt;/a&gt; setting in Grafana.&lt;/p&gt;
]]></content><description>&lt;h1 id="alert-notifications">Alert Notifications&lt;/h1>
&lt;blockquote>
&lt;p>Alerting is only available in Grafana v4.0 and above.&lt;/p>&lt;/blockquote>
&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).
This is done from the Notification Channels page.&lt;/p></description></item></channel></rss>