<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Introduction to Alerting on Grafana Labs</title><link>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/</link><description>Recent content in Introduction to Alerting on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v10.1/alerting/fundamentals/index.xml" rel="self" type="application/rss+xml"/><item><title>Data sources and Grafana Alerting</title><link>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/data-source-alerting/</link><pubDate>Sun, 12 Apr 2026 12:30:02 +0000</pubDate><guid>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/data-source-alerting/</guid><content><![CDATA[&lt;h1 id=&#34;data-sources-and-grafana-alerting&#34;&gt;Data sources and Grafana Alerting&lt;/h1&gt;
&lt;p&gt;There are a number of data sources that are compatible with Grafana Alerting. Each data source is supported by a plugin. You can use one of the built-in data sources listed below, use &lt;a href=&#34;/grafana/plugins/?type=datasource&#34;&gt;external data source plugins&lt;/a&gt;, or create your own data source plugin.&lt;/p&gt;
&lt;p&gt;If you are creating your own data source plugin, make sure it is a backend plugin as Grafana Alerting requires this in order to be able to evaluate rules using the data source. Frontend data sources are not supported, because the evaluation engine runs on the backend.&lt;/p&gt;
&lt;p&gt;Specifying &lt;code&gt;{ &amp;quot;alerting&amp;quot;: true, “backend”: true }&lt;/code&gt; in the plugin.json file indicates that the data source plugin is compatible with Grafana Alerting and includes the backend data-fetching code. For more information, refer to &lt;a href=&#34;/tutorials/build-a-data-source-backend-plugin/&#34;&gt;Build a data source backend plugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These are the data sources that are compatible with and supported by Grafana Alerting.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/aws-cloudwatch/&#34;&gt;AWS CloudWatch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/azure-monitor/&#34;&gt;Azure Monitor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/elasticsearch/&#34;&gt;Elasticsearch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/google-cloud-monitoring/&#34;&gt;Google Cloud Monitoring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/graphite/&#34;&gt;Graphite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/influxdb/&#34;&gt;InfluxDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/loki/&#34;&gt;Loki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/mssql/&#34;&gt;Microsoft SQL Server (MSSQL)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/mysql/&#34;&gt;MySQL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/opentsdb/&#34;&gt;Open TSDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/postgres/&#34;&gt;PostgreSQL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/prometheus/&#34;&gt;Prometheus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/jaeger/&#34;&gt;Jaeger&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/zipkin/&#34;&gt;Zipkin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/tempo/&#34;&gt;Tempo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/testdata/&#34;&gt;Testdata&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;useful-links&#34;&gt;Useful links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/datasources/&#34;&gt;Grafana data sources&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="data-sources-and-grafana-alerting">Data sources and Grafana Alerting&lt;/h1>
&lt;p>There are a number of data sources that are compatible with Grafana Alerting. Each data source is supported by a plugin. You can use one of the built-in data sources listed below, use &lt;a href="/grafana/plugins/?type=datasource">external data source plugins&lt;/a>, or create your own data source plugin.&lt;/p></description></item><item><title>Alertmanager</title><link>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/alertmanager/</link><pubDate>Sun, 12 Apr 2026 12:30:02 +0000</pubDate><guid>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/alertmanager/</guid><content><![CDATA[&lt;h1 id=&#34;alertmanager&#34;&gt;Alertmanager&lt;/h1&gt;
&lt;p&gt;Alertmanager enables you to quickly and efficiently manage and respond to alerts. It receives alerts, handles silencing, inhibition, grouping, and routing by sending notifications out via your channel of choice, for example, email or Slack.&lt;/p&gt;
&lt;p&gt;In Grafana, you can use the Cloud Alertmanager, Grafana Alertmanager, or an external Alertmanager. You can also run multiple Alertmanagers; your decision depends on your set up and where your alerts are being generated.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cloud Alertmanager&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Cloud Alertmanager runs in Grafana Cloud and it can receive alerts from Grafana, Mimir, and Loki.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Grafana Alertmanager&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Grafana Alertmanager is an internal Alertmanager that is pre-configured and available for selection by default if you run Grafana on-premises or open-source.&lt;/p&gt;
&lt;p&gt;The Grafana Alertmanager can receive alerts from Grafana, but it cannot receive alerts from outside Grafana, for example, from Mimir or Loki.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note that inhibition rules are not supported in the Grafana Alertmanager.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;External Alertmanager&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you want to use a single Alertmanager to receive all your Grafana, Loki, Mimir, and Prometheus alerts, you can set up Grafana to use an external Alertmanager. This external Alertmanager can be configured and administered from within Grafana itself.&lt;/p&gt;
&lt;p&gt;Here are two examples of when you may want to configure your own external alertmanager and send your alerts there instead of the Grafana Alertmanager:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;You may already have Alertmanagers on-premises in your own Cloud infrastructure that you have set up and still want to use, because you have other alert generators, such as Prometheus.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You want to use both Prometheus on-premises and hosted Grafana to send alerts to the same Alertmanager that runs in your Cloud infrastructure.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Alertmanagers are visible from the drop-down menu on the Alerting Contact Points, Notification Policies, and Silences pages.&lt;/p&gt;
&lt;p&gt;If you are provisioning your data source, set the flag &lt;code&gt;handleGrafanaManagedAlerts&lt;/code&gt; in the &lt;code&gt;jsonData&lt;/code&gt; field to &lt;code&gt;true&lt;/code&gt; to send Grafana-managed alerts to this Alertmanager.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Useful links&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://prometheus.io/docs/alerting/latest/alertmanager/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Prometheus Alertmanager documentation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;/docs/grafana/v10.1/alerting/set-up/configure-alertmanager/&#34;&gt;Add an external Alertmanager&lt;/a&gt;&lt;/p&gt;
]]></content><description>&lt;h1 id="alertmanager">Alertmanager&lt;/h1>
&lt;p>Alertmanager enables you to quickly and efficiently manage and respond to alerts. It receives alerts, handles silencing, inhibition, grouping, and routing by sending notifications out via your channel of choice, for example, email or Slack.&lt;/p></description></item><item><title>Alert rules</title><link>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/alert-rules/</link><pubDate>Sun, 12 Apr 2026 12:30:02 +0000</pubDate><guid>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/alert-rules/</guid><content><![CDATA[&lt;h1 id=&#34;alert-rules&#34;&gt;Alert rules&lt;/h1&gt;
&lt;p&gt;An alert rule is a set of evaluation criteria for when an alert rule should fire. An alert rule consists of one or more queries and expressions, a condition, and the duration over which the condition needs to be met to start firing.&lt;/p&gt;
&lt;p&gt;While queries and expressions select the data set to evaluate, a condition sets the threshold that an alert must meet or exceed to create an alert.&lt;/p&gt;
&lt;p&gt;An interval specifies how frequently an alert rule is evaluated. Duration, when configured, indicates how long a condition must be met. The alert rules can also define alerting behavior in the absence of data.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/alerting/fundamentals/alert-rules/alert-rule-types/&#34;&gt;Alert rule types&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/alerting/fundamentals/alert-rules/alert-instances/&#34;&gt;Alert instances&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/alerting/fundamentals/alert-rules/organising-alerts/&#34;&gt;Organising alert rules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana/v10.1/alerting/fundamentals/annotation-label/&#34;&gt;Annotation and labels&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="alert-rules">Alert rules&lt;/h1>
&lt;p>An alert rule is a set of evaluation criteria for when an alert rule should fire. An alert rule consists of one or more queries and expressions, a condition, and the duration over which the condition needs to be met to start firing.&lt;/p></description></item><item><title>Contact points</title><link>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/contact-points/</link><pubDate>Sun, 12 Apr 2026 12:30:02 +0000</pubDate><guid>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/contact-points/</guid><content><![CDATA[&lt;h1 id=&#34;contact-points&#34;&gt;Contact points&lt;/h1&gt;
&lt;p&gt;Contact points contain the configuration for sending notifications. A contact point is a list of integrations, each of which sends a notification to a particular email address, service or URL. Contact points can have multiple integrations of the same kind, or a combination of integrations of different kinds. For example, a contact point could contain a Pagerduty integration; an email and Slack integration; or a Pagerduty integration, a Slack integration, and two email integrations. You can also configure a contact point with no integrations; in which case no notifications are sent.&lt;/p&gt;
&lt;p&gt;A contact point cannot send notifications until it has been added to a notification policy. A notification policy can only send alerts to one contact point, but a contact point can be added to a number of notification policies at the same time. When an alert matches a notification policy, the alert is sent to the contact point in that notification policy, which then sends a notification to each integration in its configuration.&lt;/p&gt;
&lt;p&gt;Contact points can be configured for the Grafana Alertmanager as well as external alertmanagers.&lt;/p&gt;
&lt;p&gt;You can also use notification templating to customize notification messages for contact point integrations.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;ve created an OnCall contact point in the Grafana OnCall application, you can view it in the Alerting application.&lt;/p&gt;
&lt;h2 id=&#34;supported-contact-point-integrations&#34;&gt;Supported contact point integrations&lt;/h2&gt;
&lt;p&gt;The following table lists the contact point integrations supported by Grafana.&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Grafana Alertmanager&lt;/th&gt;
              &lt;th&gt;Other Alertmanagers&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://www.dingtalk.com/en&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#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;Supported&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://discord.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#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;Supported&lt;/td&gt;
              &lt;td&gt;N/A&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;Supported&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://hangouts.google.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Google Hangouts&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;googlechat&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://kafka.apache.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#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;Supported&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://line.me/en/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Line&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;line&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://teams.microsoft.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Microsoft Teams&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;teams&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://atlassian.com/opsgenie/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#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;Supported&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://www.pagerduty.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#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;Supported&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://prometheus.io&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Prometheus Alertmanager&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;prometheus-alertmanager&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://pushover.net/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#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;Supported&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://docs.sensu.io/sensu-go/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#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;Supported&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://slack.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#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;Supported&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://telegram.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Telegram&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;telegram&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://threema.ch/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Threema&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;threema&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://help.victorops.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;VictorOps&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;victorops&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;Supported&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;Supported&lt;/td&gt;
              &lt;td&gt;Supported (&lt;a href=&#34;https://prometheus.io/docs/alerting/latest/configuration/#webhook_config&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;different format&lt;/a&gt;)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Cisco Webex Teams&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;webex&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;WeCom&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;wecom&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;https://www.zenduty.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Zenduty&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;webhook&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h1 id="contact-points">Contact points&lt;/h1>
&lt;p>Contact points contain the configuration for sending notifications. A contact point is a list of integrations, each of which sends a notification to a particular email address, service or URL. Contact points can have multiple integrations of the same kind, or a combination of integrations of different kinds. For example, a contact point could contain a Pagerduty integration; an email and Slack integration; or a Pagerduty integration, a Slack integration, and two email integrations. You can also configure a contact point with no integrations; in which case no notifications are sent.&lt;/p></description></item><item><title>Notifications</title><link>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/notification-policies/</link><pubDate>Sun, 12 Apr 2026 12:30:02 +0000</pubDate><guid>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/notification-policies/</guid><content><![CDATA[&lt;h1 id=&#34;notifications&#34;&gt;Notifications&lt;/h1&gt;
&lt;p&gt;Choosing how, when, and where to send your alert notifications is an important part of setting up your alerting system. These decisions will have a direct impact on your ability to resolve issues quickly and not miss anything important.&lt;/p&gt;
&lt;p&gt;As a first step, define your contact points; where to send your alert notifications to. A contact point is a set of one or more integrations that are used to deliver notifications. Add notification templates to contact points for reuse and consistent messaging in your notifications.&lt;/p&gt;
&lt;p&gt;Next, create a notification policy which is a set of rules for where, when and how your alerts are routed to contact points. In a notification policy, you define where to send your alert notifications by choosing one of the contact points you created.&lt;/p&gt;
&lt;h2 id=&#34;alertmanagers&#34;&gt;Alertmanagers&lt;/h2&gt;
&lt;p&gt;Grafana uses Alertmanagers to send notifications for firing and resolved alerts. Grafana has its own Alertmanager, referred to as &amp;ldquo;Grafana&amp;rdquo; in the user interface, but also supports sending notifications from other Alertmanagers too, such as the &lt;a href=&#34;https://prometheus.io/docs/alerting/latest/alertmanager/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Prometheus Alertmanager&lt;/a&gt;. The Grafana Alertmanager uses notification policies and contact points to configure how and where a notification is sent; how often a notification should be sent; and whether alerts should all be sent in the same notification, sent in grouped notifications based on a set of labels, or as separate notifications.&lt;/p&gt;
&lt;h2 id=&#34;notification-policies&#34;&gt;Notification policies&lt;/h2&gt;
&lt;p&gt;Notification policies control when and where notifications are sent. A notification policy can choose to send all alerts together in the same notification, send alerts in grouped notifications based on a set of labels, or send alerts as separate notifications. You can configure each notification policy to control how often notifications should be sent as well as having one or more mute timings to inhibit notifications at certain times of the day and on certain days of the week.&lt;/p&gt;
&lt;p&gt;Notification policies are organized in a tree structure where at the root of the tree there is a notification policy called the default policy. There can be only one default policy and the default policy cannot be deleted.&lt;/p&gt;
&lt;p&gt;Specific routing policies are children of the default policy and can be used to match either all alerts or a subset of alerts based on a set of matching labels. A notification policy matches an alert when its matching labels match the labels in the alert.&lt;/p&gt;
&lt;p&gt;A nested policy can have its own nested policies, which allow for additional matching of alerts. An example of a nested policy could be sending infrastructure alerts to the Ops team; while a nested policy might send high priority alerts to Pagerduty and low priority alerts as emails.&lt;/p&gt;
&lt;p&gt;All alerts, irrespective of their labels, match the default policy. However, when the default policy receives an alert it looks at each nested policy and sends the alert to the first nested policy that matches the alert. If the nested policy has further nested policies, then it can attempt to the match the alert against one of its nested policies. If no nested policies match the alert then the policy itself is the matching policy. If there are no nested policies, or no nested policies match the alert, then the default policy is the matching policy.&lt;/p&gt;
&lt;!-- This definitely needs a diagram and some examples (Gilles) --&gt;
&lt;h2 id=&#34;notification-templates&#34;&gt;Notification templates&lt;/h2&gt;
&lt;p&gt;You can customize notifications with templates. For example, templates can be used to change the subject and message of an email, or the title and message of notifications sent to Slack.&lt;/p&gt;
&lt;p&gt;Templates are not limited to an individual integration or contact point, but instead can be used in a number of integrations in the same contact point and even integrations across different contact points. For example, a Grafana user can create a template called &lt;code&gt;custom_subject_or_title&lt;/code&gt; and use it for both templating subjects in emails and titles of Slack messages without having to create two separate templates.&lt;/p&gt;
&lt;p&gt;All notifications templates are written in &lt;a href=&#34;https://pkg.go.dev/text/template&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Go&amp;rsquo;s templating language&lt;/a&gt;, and are in the Contact points tab on the Alerting page.&lt;/p&gt;
&lt;h2 id=&#34;silences&#34;&gt;Silences&lt;/h2&gt;
&lt;p&gt;You can use silences to mute notifications from one or more firing rules. Silences do not stop alerts from firing or being resolved, or hide firing alerts in the user interface. A silence lasts as long as its duration which can be configured in minutes, hours, days, months or years.&lt;/p&gt;
]]></content><description>&lt;h1 id="notifications">Notifications&lt;/h1>
&lt;p>Choosing how, when, and where to send your alert notifications is an important part of setting up your alerting system. These decisions will have a direct impact on your ability to resolve issues quickly and not miss anything important.&lt;/p></description></item><item><title>Labels and annotations</title><link>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/annotation-label/</link><pubDate>Sun, 12 Apr 2026 12:30:02 +0000</pubDate><guid>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/annotation-label/</guid><content><![CDATA[&lt;h1 id=&#34;labels-and-annotations&#34;&gt;Labels and annotations&lt;/h1&gt;
&lt;p&gt;Labels and annotations contain information about an alert. Both labels and annotations have the same structure: a set of named values; however their intended uses are different. An example of label, or the equivalent annotation, might be &lt;code&gt;alertname=&amp;quot;test&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The main difference between a label and an annotation is that labels are used to differentiate an alert from all other alerts, while annotations are used to add additional information to an existing alert.&lt;/p&gt;
&lt;p&gt;For example, consider two high CPU alerts: one for &lt;code&gt;server1&lt;/code&gt; and another for &lt;code&gt;server2&lt;/code&gt;. In such an example we might have a label called &lt;code&gt;server&lt;/code&gt; where the first alert has the label &lt;code&gt;server=&amp;quot;server1&amp;quot;&lt;/code&gt; and the second alert has the label &lt;code&gt;server=&amp;quot;server2&amp;quot;&lt;/code&gt;. However, we might also want to add a description to each alert such as &lt;code&gt;&amp;quot;The CPU usage for server1 is above 75%.&amp;quot;&lt;/code&gt;, where &lt;code&gt;server1&lt;/code&gt; and &lt;code&gt;75%&lt;/code&gt; are replaced with the name and CPU usage of the server (please refer to the documentation on &lt;a href=&#34;/docs/grafana/v10.1/alerting/fundamentals/annotation-label/variables-label-annotation/&#34;&gt;templating labels and annotations&lt;/a&gt; for how to do this). This kind of description would be more suitable as an annotation.&lt;/p&gt;
&lt;h2 id=&#34;labels&#34;&gt;Labels&lt;/h2&gt;
&lt;p&gt;Labels contain information that identifies an alert. An example of a label might be &lt;code&gt;server=server1&lt;/code&gt;. Each alert can have more than one label, and the complete set of labels for an alert is called its label set. It is this label set that identifies the alert.&lt;/p&gt;
&lt;p&gt;For example, an alert might have the label set &lt;code&gt;{alertname=&amp;quot;High CPU usage&amp;quot;,server=&amp;quot;server1&amp;quot;}&lt;/code&gt; while another alert might have the label set &lt;code&gt;{alertname=&amp;quot;High CPU usage&amp;quot;,server=&amp;quot;server2&amp;quot;}&lt;/code&gt;. These are two separate alerts because although their &lt;code&gt;alertname&lt;/code&gt; labels are the same, their &lt;code&gt;server&lt;/code&gt; labels are different.&lt;/p&gt;
&lt;p&gt;The label set for an alert is a combination of the labels from the datasource, custom labels from the alert rule, and a number of reserved labels such as &lt;code&gt;alertname&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;custom-labels&#34;&gt;Custom Labels&lt;/h3&gt;
&lt;p&gt;Custom labels are additional labels from the alert rule. Like annotations, custom labels must have a name, and their value can contain a combination of text and template code that is evaluated when an alert is fired. Documentation on how to template custom labels can be found &lt;a href=&#34;/docs/grafana/v10.1/alerting/fundamentals/annotation-label/variables-label-annotation/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;When using custom labels with templates it is important to make sure that the label value does not change between consecutive evaluations of the alert rule as this will end up creating large numbers of distinct alerts. However, it is OK for the template to produce different label values for different alerts. For example, do not put the value of the query in a custom label as this will end up creating a new set of alerts each time the value changes. Instead use annotations.&lt;/p&gt;
&lt;p&gt;It is also important to make sure that the label set for an alert does not have two or more labels with the same name. If a custom label has the same name as a label from the datasource then it will replace that label. However, should a custom label have the same name as a reserved label then the custom label will be omitted from the alert.&lt;/p&gt;
&lt;h2 id=&#34;annotations&#34;&gt;Annotations&lt;/h2&gt;
&lt;p&gt;Annotations are named pairs that add additional information to existing alerts. There are a number of suggested annotations in Grafana such as &lt;code&gt;description&lt;/code&gt;, &lt;code&gt;summary&lt;/code&gt;, &lt;code&gt;runbook_url&lt;/code&gt;, &lt;code&gt;dashboardUId&lt;/code&gt; and &lt;code&gt;panelId&lt;/code&gt;. Like custom labels, annotations must have a name, and their value can contain a combination of text and template code that is evaluated when an alert is fired. If an annotation contains template code, the template is evaluated once when the alert is fired. It is not re-evaluated, even when the alert is resolved. Documentation on how to template annotations can be found &lt;a href=&#34;/docs/grafana/v10.1/alerting/fundamentals/annotation-label/variables-label-annotation/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="labels-and-annotations">Labels and annotations&lt;/h1>
&lt;p>Labels and annotations contain information about an alert. Both labels and annotations have the same structure: a set of named values; however their intended uses are different. An example of label, or the equivalent annotation, might be &lt;code>alertname=&amp;quot;test&amp;quot;&lt;/code>.&lt;/p></description></item><item><title>Alerting on numeric data</title><link>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/evaluate-grafana-alerts/</link><pubDate>Sun, 12 Apr 2026 12:30:02 +0000</pubDate><guid>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/evaluate-grafana-alerts/</guid><content><![CDATA[&lt;h1 id=&#34;alerting-on-numeric-data&#34;&gt;Alerting on numeric data&lt;/h1&gt;
&lt;p&gt;This topic describes how Grafana managed alerts are evaluated by the backend engine as well as how Grafana handles alerting on numeric rather than time series data.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#alerting-on-numeric-data&#34;&gt;Alerting on numeric data&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#alert-evaluation&#34;&gt;Alert evaluation&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#metrics-from-the-alerting-engine&#34;&gt;Metrics from the alerting engine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#alerting-on-numeric-data-1&#34;&gt;Alerting on numeric data&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#tabular-data&#34;&gt;Tabular Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#example&#34;&gt;Example&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;alert-evaluation&#34;&gt;Alert evaluation&lt;/h2&gt;
&lt;p&gt;Grafana managed alerts query the following backend data sources that have alerting enabled:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;built-in data sources or those developed and maintained by Grafana: &lt;code&gt;Graphite&lt;/code&gt;, &lt;code&gt;Prometheus&lt;/code&gt;, &lt;code&gt;Loki&lt;/code&gt;, &lt;code&gt;InfluxDB&lt;/code&gt;, &lt;code&gt;Elasticsearch&lt;/code&gt;,
&lt;code&gt;Google Cloud Monitoring&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 Monitor&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;community developed backend data sources with alerting enabled (&lt;code&gt;backend&lt;/code&gt; and &lt;code&gt;alerting&lt;/code&gt; properties are set in the &lt;a href=&#34;/developers/plugin-tools/reference-plugin-json&#34;&gt;plugin.json&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;metrics-from-the-alerting-engine&#34;&gt;Metrics from the alerting engine&lt;/h3&gt;
&lt;p&gt;The alerting engine publishes some internal metrics about itself. You can read more about how Grafana publishes &lt;a href=&#34;/docs/grafana/v10.1/setup-grafana/set-up-grafana-monitoring/&#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;Metric Name&lt;/th&gt;
              &lt;th&gt;Type&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;&lt;code&gt;grafana_alerting_alerts&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;gauge&lt;/td&gt;
              &lt;td&gt;How many alerts by state&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;grafana_alerting_request_duration&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;histogram&lt;/td&gt;
              &lt;td&gt;Histogram of requests to the Alerting API&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;grafana_alerting_active_configurations&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;gauge&lt;/td&gt;
              &lt;td&gt;The number of active, non default Alertmanager configurations for grafana managed alerts&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;grafana_alerting_rule_evaluations_total&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;counter&lt;/td&gt;
              &lt;td&gt;The total number of rule evaluations&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;grafana_alerting_rule_evaluation_failures_total&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;counter&lt;/td&gt;
              &lt;td&gt;The total number of rule evaluation failures&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;grafana_alerting_rule_evaluation_duration&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;summary&lt;/td&gt;
              &lt;td&gt;The duration for a rule to execute&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;grafana_alerting_rule_group_rules&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;gauge&lt;/td&gt;
              &lt;td&gt;The number of rules&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;alerting-on-numeric-data-1&#34;&gt;Alerting on numeric data&lt;/h2&gt;
&lt;p&gt;Among certain data sources numeric data that is not time series can be directly alerted on, or passed into Server Side Expressions (SSE). This allows for more processing and resulting efficiency within the data source, and it can also simplify alert rules.
When alerting on numeric data instead of time series data, there is no need to reduce each labeled time series into a single number. Instead labeled numbers are returned to Grafana instead.&lt;/p&gt;
&lt;h3 id=&#34;tabular-data&#34;&gt;Tabular Data&lt;/h3&gt;
&lt;p&gt;This feature is supported with backend data sources that query tabular data:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SQL data sources such as MySQL, Postgres, MSSQL, and Oracle.&lt;/li&gt;
&lt;li&gt;The Azure Kusto based services: Azure Monitor (Logs), Azure Monitor (Azure Resource Graph), and Azure Data Explorer.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A query with Grafana managed alerts or SSE is considered numeric with these data sources, if:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &amp;ldquo;Format AS&amp;rdquo; option is set to &amp;ldquo;Table&amp;rdquo; in the data source query.&lt;/li&gt;
&lt;li&gt;The table response returned to Grafana from the query includes only one numeric (e.g. int, double, float) column, and optionally additional string columns.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If there are string columns then those columns become labels. The name of column becomes the label name, and the value for each row becomes the value of the corresponding label. If multiple rows are returned, then each row should be uniquely identified their labels.&lt;/p&gt;
&lt;h3 id=&#34;example&#34;&gt;Example&lt;/h3&gt;
&lt;p&gt;For a MySQL table called &amp;ldquo;DiskSpace&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;Time&lt;/th&gt;
              &lt;th&gt;Host&lt;/th&gt;
              &lt;th&gt;Disk&lt;/th&gt;
              &lt;th&gt;PercentFree&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;2021-June-7&lt;/td&gt;
              &lt;td&gt;web1&lt;/td&gt;
              &lt;td&gt;/etc&lt;/td&gt;
              &lt;td&gt;3&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;2021-June-7&lt;/td&gt;
              &lt;td&gt;web2&lt;/td&gt;
              &lt;td&gt;/var&lt;/td&gt;
              &lt;td&gt;4&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;2021-June-7&lt;/td&gt;
              &lt;td&gt;web3&lt;/td&gt;
              &lt;td&gt;/var&lt;/td&gt;
              &lt;td&gt;8&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&amp;hellip;&lt;/td&gt;
              &lt;td&gt;&amp;hellip;&lt;/td&gt;
              &lt;td&gt;&amp;hellip;&lt;/td&gt;
              &lt;td&gt;&amp;hellip;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;You can query the data filtering on time, but without returning the time series to Grafana. For example, an alert that would trigger per Host, Disk when there is less than 5% free space:&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;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;SELECT Host, Disk, CASE WHEN PercentFree &amp;lt; 5.0 THEN PercentFree ELSE 0 END FROM (
  SELECT
      Host,
      Disk,
      Avg(PercentFree)
  FROM DiskSpace
  Group By
    Host,
    Disk
  Where __timeFilter(Time)&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This query returns the following Table response to Grafana:&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;Host&lt;/th&gt;
              &lt;th&gt;Disk&lt;/th&gt;
              &lt;th&gt;PercentFree&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;web1&lt;/td&gt;
              &lt;td&gt;/etc&lt;/td&gt;
              &lt;td&gt;3&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;web2&lt;/td&gt;
              &lt;td&gt;/var&lt;/td&gt;
              &lt;td&gt;4&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;web3&lt;/td&gt;
              &lt;td&gt;/var&lt;/td&gt;
              &lt;td&gt;0&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;When this query is used as the &lt;strong&gt;condition&lt;/strong&gt; in an alert rule, then the non-zero will be alerting. As a result, three alert instances are produced:&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;Labels&lt;/th&gt;
              &lt;th&gt;Status&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;{Host=web1,disk=/etc}&lt;/td&gt;
              &lt;td&gt;Alerting&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;{Host=web2,disk=/var}&lt;/td&gt;
              &lt;td&gt;Alerting&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;{Host=web3,disk=/var}&lt;/td&gt;
              &lt;td&gt;Normal&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h1 id="alerting-on-numeric-data">Alerting on numeric data&lt;/h1>
&lt;p>This topic describes how Grafana managed alerts are evaluated by the backend engine as well as how Grafana handles alerting on numeric rather than time series data.&lt;/p></description></item><item><title>Alerting high availability</title><link>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/high-availability/</link><pubDate>Sun, 12 Apr 2026 12:30:02 +0000</pubDate><guid>https://grafana.com/docs/grafana/v10.1/alerting/fundamentals/high-availability/</guid><content><![CDATA[&lt;h1 id=&#34;alerting-high-availability&#34;&gt;Alerting high availability&lt;/h1&gt;
&lt;p&gt;The Grafana Alerting system has two main components: a &lt;code&gt;Scheduler&lt;/code&gt; and an internal &lt;code&gt;Alertmanager&lt;/code&gt;. The &lt;code&gt;Scheduler&lt;/code&gt; evaluates your alert rules, while the internal Alertmanager manages &lt;strong&gt;routing&lt;/strong&gt; and &lt;strong&gt;grouping&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;When running Grafana Alerting in high availability, the operational mode of the scheduler remains unaffected, and each Grafana instance evaluates all alerts. The operational change happens in the Alertmanager when it deduplicates alert notifications across Grafana instances.&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#34;
    style=&#34;max-width: 750px;&#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/alerting/unified/high-availability-ua.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/alerting/unified/high-availability-ua.png&#34;data-srcset=&#34;/static/img/docs/alerting/unified/high-availability-ua.png?w=320 320w, /static/img/docs/alerting/unified/high-availability-ua.png?w=550 550w, /static/img/docs/alerting/unified/high-availability-ua.png?w=750 750w, /static/img/docs/alerting/unified/high-availability-ua.png?w=900 900w, /static/img/docs/alerting/unified/high-availability-ua.png?w=1040 1040w, /static/img/docs/alerting/unified/high-availability-ua.png?w=1240 1240w, /static/img/docs/alerting/unified/high-availability-ua.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;High availability&#34;width=&#34;828&#34;height=&#34;262&#34;title=&#34;High availability&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/alerting/unified/high-availability-ua.png&#34;
            alt=&#34;High availability&#34;width=&#34;828&#34;height=&#34;262&#34;title=&#34;High availability&#34;class=&#34;docs-image--no-shadow&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;High availability&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;The coordination between Grafana instances happens via &lt;a href=&#34;https://en.wikipedia.org/wiki/Gossip_protocol&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;a Gossip protocol&lt;/a&gt;. Alerts are not gossiped between instances and each scheduler delivers the same volume of alerts to each Alertmanager.&lt;/p&gt;
&lt;p&gt;The two types of messages gossiped between Grafana instances are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Notification logs: Who (which instance) notified what (which alert).&lt;/li&gt;
&lt;li&gt;Silences: If an alert should fire or not.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The notification logs and silences are persisted in the database periodically and during a graceful Grafana shut down.&lt;/p&gt;
&lt;h2 id=&#34;useful-links&#34;&gt;Useful links&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;/docs/grafana/v10.1/alerting/set-up/configure-high-availability/&#34;&gt;Configure alerting high availability&lt;/a&gt;&lt;/p&gt;
]]></content><description>&lt;h1 id="alerting-high-availability">Alerting high availability&lt;/h1>
&lt;p>The Grafana Alerting system has two main components: a &lt;code>Scheduler&lt;/code> and an internal &lt;code>Alertmanager&lt;/code>. The &lt;code>Scheduler&lt;/code> evaluates your alert rules, while the internal Alertmanager manages &lt;strong>routing&lt;/strong> and &lt;strong>grouping&lt;/strong>.&lt;/p></description></item></channel></rss>