<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Grafana alerts on Grafana Labs</title><link>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/</link><description>Recent content in Grafana alerts on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v8.4/alerting/unified-alerting/index.xml" rel="self" type="application/rss+xml"/><item><title>What's new in Grafana alerting</title><link>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/difference-old-new/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/difference-old-new/</guid><content><![CDATA[&lt;h1 id=&#34;whats-new-in-grafana-alerting&#34;&gt;What&amp;rsquo;s new in Grafana alerting&lt;/h1&gt;
&lt;p&gt;Grafana alerting has several enhancements over legacy dashboard alerting.&lt;/p&gt;
&lt;h2 id=&#34;multi-dimensional-alerting&#34;&gt;Multi-dimensional alerting&lt;/h2&gt;
&lt;p&gt;You can now create alerts that give you system-wide visibility with a single alerting rule. Generate multiple alert instances from a single alert rule. For example, you can create a rule to monitor the disk usage of multiple mount points on a single host. The evaluation engine returns multiple time series from a single query, with each time series identified by its label set.&lt;/p&gt;
&lt;h2 id=&#34;create-alerts-outside-of-dashboards&#34;&gt;Create alerts outside of Dashboards&lt;/h2&gt;
&lt;p&gt;Unlike legacy dashboard alerts, Grafana alerts allow you to create queries and expressions that combine data from multiple sources in unique ways. You can still link dashboards and panels to alerting rules using their ID and quickly troubleshoot the system under observation.&lt;/p&gt;
&lt;p&gt;Since unified alerts are no longer directly tied to panel queries, they do not include images or query values in the notification email. You can use customized notification templates to view query values.&lt;/p&gt;
&lt;h2 id=&#34;create-loki-and-cortex-alerting-rules&#34;&gt;Create Loki and Cortex alerting rules&lt;/h2&gt;
&lt;p&gt;In Grafana alerting, you can manage Loki and Cortex alerting rules using the same UI and API as your Grafana managed alerts.&lt;/p&gt;
&lt;h2 id=&#34;view-and-search-for-alerts-from-prometheus-compatible-data-sources&#34;&gt;View and search for alerts from Prometheus compatible data sources&lt;/h2&gt;
&lt;p&gt;Alerts for Prometheus compatible data sources are now listed under the Grafana alerts section. You can search for labels across multiple data sources to quickly find relevant alerts.&lt;/p&gt;
&lt;h2 id=&#34;special-alerts-for-alert-state-nodata-and-error&#34;&gt;Special alerts for alert state NoData and Error&lt;/h2&gt;
&lt;p&gt;Grafana alerting introduced a new concept of the alert states. When evaluation of an alerting rule produces state NoData or Error, Grafana alerting will generate special alerts that will have the following labels:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;alertname&lt;/code&gt; with value DatasourceNoData or DatasourceError depending on the state.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rulename&lt;/code&gt; name of the alert rule the special alert belongs to.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;datasource_uid&lt;/code&gt; will have the UID of the data source that caused the state.&lt;/li&gt;
&lt;li&gt;all labels and annotations of the original alert rule&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can handle these alerts the same way as regular alerts by adding a silence, route to a contact point, and so on.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If the rule uses many data sources and one or many returns no data, the special alert will be created for each data source that caused the alert state.&lt;/p&gt;&lt;/blockquote&gt;
]]></content><description>&lt;h1 id="whats-new-in-grafana-alerting">What&amp;rsquo;s new in Grafana alerting&lt;/h1>
&lt;p>Grafana alerting has several enhancements over legacy dashboard alerting.&lt;/p>
&lt;h2 id="multi-dimensional-alerting">Multi-dimensional alerting&lt;/h2>
&lt;p>You can now create alerts that give you system-wide visibility with a single alerting rule. Generate multiple alert instances from a single alert rule. For example, you can create a rule to monitor the disk usage of multiple mount points on a single host. The evaluation engine returns multiple time series from a single query, with each time series identified by its label set.&lt;/p></description></item><item><title>Opt-in to Grafana alerting</title><link>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/opt-in/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/opt-in/</guid><content><![CDATA[&lt;h1 id=&#34;opt-in-to-grafana-alerting&#34;&gt;Opt-in to Grafana alerting&lt;/h1&gt;
&lt;p&gt;Grafana alerting is enabled by default for new Cloud and OSS installations.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you are an existing Grafana Cloud user and want to explore unified alerting, contact Grafana Support. They will enable unified alerting for your Cloud stack.&lt;/p&gt;
&lt;p&gt;For older OSS installations that use legacy dashboard alerts, unified alerting is still an opt-in feature. This topic describes how to opt-in to Grafana alerting if you have an existing Grafana installation and the rules and restrictions that govern the migration of existing dashboard alerts to the new alerting system. You can &lt;a href=&#34;./#disable-grafana-alerts&#34;&gt;disable Grafana alerts&lt;/a&gt; and use the legacy dashboard alerting if needed.&lt;/p&gt;
&lt;p&gt;Before you begin, we recommend that you backup Grafana&amp;rsquo;s database. If you are using PostgreSQL as the backend database, then the minimum required version is 9.5.&lt;/p&gt;
&lt;h2 id=&#34;enable-grafana-alerting&#34;&gt;Enable Grafana alerting&lt;/h2&gt;
&lt;p&gt;To enable Grafana alerts:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the &lt;a href=&#34;../../../administration/configuration/#unified_alerting&#34;&gt;unified alerts&lt;/a&gt; section.&lt;/li&gt;
&lt;li&gt;Set the &lt;code&gt;enabled&lt;/code&gt; property to &lt;code&gt;true&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Next, for &lt;a href=&#34;../../../administration/configuration/#alerting&#34;&gt;legacy dashboard alerting&lt;/a&gt;, set the &lt;code&gt;enabled&lt;/code&gt; flag to &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Restart Grafana for the configuration changes to take effect.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The &lt;code&gt;ngalert&lt;/code&gt; toggle previously used to enable or disable Grafana alerting is no longer available.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Before v8.2, notification logs and silences were stored on a disk. If you did not use persistent disks, you would have lost any configured silences and logs on a restart, resulting in unwanted or duplicate notifications. We no longer require the use of a persistent disk. Instead, the notification logs and silences are stored regularly (every 15 minutes). If you used the file-based approach, Grafana reads the existing file and persists it eventually.&lt;/p&gt;
&lt;h2 id=&#34;migrating-legacy-alerts-to-grafana-alerting-system&#34;&gt;Migrating legacy alerts to Grafana alerting system&lt;/h2&gt;
&lt;p&gt;When Grafana alerting is enabled or Grafana is upgraded to version 8.3, existing legacy dashboard alerts migrate in a format compatible with the Grafana alerting. In the Alerting page of your Grafana instance, you can view the migrated alerts alongside new alerts.&lt;/p&gt;
&lt;p&gt;Read and write access to legacy dashboard alerts and Grafana alerts are governed by the permissions of the folders storing them. During migration, legacy dashboard alert permissions are matched to the new rules permissions as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If alert&amp;rsquo;s dashboard has permissions, it will create a folder named like &lt;code&gt;Migrated {&amp;quot;dashboardUid&amp;quot;: &amp;quot;UID&amp;quot;, &amp;quot;panelId&amp;quot;: 1, &amp;quot;alertId&amp;quot;: 1}&lt;/code&gt; to match permissions of the dashboard (including the inherited permissions from the folder).&lt;/li&gt;
&lt;li&gt;If there are no dashboard permissions and the dashboard is under a folder, then the rule is linked to this folder and inherits its permissions.&lt;/li&gt;
&lt;li&gt;If there are no dashboard permissions and the dashboard is under the General folder, then the rule is linked to the &lt;code&gt;General Alerting&lt;/code&gt; folder, and the rule inherits the default permissions.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Since there is no &lt;code&gt;Keep Last State&lt;/code&gt; option for &lt;a href=&#34;../alerting-rules/create-grafana-managed-rule/#no-data--error-handling&#34;&gt;&lt;code&gt;No Data&lt;/code&gt;&lt;/a&gt; in Grafana alerting, this option becomes &lt;code&gt;NoData&lt;/code&gt; during the legacy rules migration. Option &amp;ldquo;Keep Last State&amp;rdquo; for &lt;a href=&#34;../alerting-rules/create-grafana-managed-rule/#no-data--error-handling&#34;&gt;&lt;code&gt;Error handling&lt;/code&gt;&lt;/a&gt; is migrated to a new option &lt;code&gt;Error&lt;/code&gt;. To match the behavior of the &lt;code&gt;Keep Last State&lt;/code&gt;, in both cases, during the migration Grafana automatically creates a &lt;a href=&#34;../silences/&#34;&gt;silence&lt;/a&gt; for each alert rule with a duration of 1 year.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Notification channels are migrated to an Alertmanager configuration with the appropriate routes and receivers. Default notification channels are added as contact points to the default route. Notification channels not associated with any Dashboard alert go to the &lt;code&gt;autogen-unlinked-channel-recv&lt;/code&gt; route.&lt;/p&gt;
&lt;p&gt;Since &lt;code&gt;Hipchat&lt;/code&gt; and &lt;code&gt;Sensu&lt;/code&gt; notification channels are no longer supported, legacy alerts associated with these channels are not automatically migrated to Grafana alerting. Assign the legacy alerts to a supported notification channel so that you continue to receive notifications for those alerts.
Silences (expiring after one year) are created for all paused dashboard alerts.&lt;/p&gt;
&lt;h3 id=&#34;limitation&#34;&gt;Limitation&lt;/h3&gt;
&lt;p&gt;Grafana alerting system can retrieve rules from all available Prometheus, Loki, and Alertmanager data sources. It might not be able to fetch alerting rules from all other supported data sources at this time.&lt;/p&gt;
&lt;h2 id=&#34;disable-grafana-alerts&#34;&gt;Disable Grafana alerts&lt;/h2&gt;
&lt;p&gt;To disable Grafana alerts and enable legacy dashboard alerts:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the &lt;a href=&#34;../../../administration/configuration/#unified_alerting&#34;&gt;Grafana alerting&lt;/a&gt; section.&lt;/li&gt;
&lt;li&gt;Set the &lt;code&gt;enabled&lt;/code&gt; property to &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;For &lt;a href=&#34;../../../administration/configuration/#alerting&#34;&gt;legacy dashboard alerting&lt;/a&gt;, set the &lt;code&gt;enabled&lt;/code&gt; flag to &lt;code&gt;true&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Restart Grafana for the configuration changes to take effect.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Switching from one flavor of alerting to another can result in data loss. This is applicable to the fresh installation as well as upgraded setups.&lt;/p&gt;&lt;/blockquote&gt;
]]></content><description>&lt;h1 id="opt-in-to-grafana-alerting">Opt-in to Grafana alerting&lt;/h1>
&lt;p>Grafana alerting is enabled by default for new Cloud and OSS installations.&lt;/p>
&lt;p>&lt;strong>Note:&lt;/strong> If you are an existing Grafana Cloud user and want to explore unified alerting, contact Grafana Support. They will enable unified alerting for your Cloud stack.&lt;/p></description></item><item><title>Alerting fundamentals</title><link>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/fundamentals/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/fundamentals/</guid><content><![CDATA[&lt;h1 id=&#34;alerting-fundamentals&#34;&gt;Alerting fundamentals&lt;/h1&gt;
&lt;p&gt;This section covers the fundamental concepts of Grafana 8 alerting.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;alertmanager/&#34;&gt;Alertmanager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;state-and-health/&#34;&gt;State and health of alerting rules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;evaluate-grafana-alerts/&#34;&gt;Evaluating Grafana managed alerts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="alerting-fundamentals">Alerting fundamentals&lt;/h1>
&lt;p>This section covers the fundamental concepts of Grafana 8 alerting.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="alertmanager/">Alertmanager&lt;/a>&lt;/li>
&lt;li>&lt;a href="state-and-health/">State and health of alerting rules&lt;/a>&lt;/li>
&lt;li>&lt;a href="evaluate-grafana-alerts/">Evaluating Grafana managed alerts&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Create and manage rules</title><link>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/alerting-rules/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/alerting-rules/</guid><content><![CDATA[&lt;h1 id=&#34;create-and-manage-grafana-alerting-rules&#34;&gt;Create and manage Grafana alerting rules&lt;/h1&gt;
&lt;p&gt;An alerting rule is a set of evaluation criteria that determines whether an alert will fire. The rule consists of one or more queries and expressions, a condition, the frequency of evaluation, and optionally, the duration over which the condition is met.&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. An interval specifies how frequently an alerting rule is evaluated. Duration, when configured, indicates how long a condition must be met. The rules can also define alerting behavior in the absence of data.&lt;/p&gt;
&lt;p&gt;You can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;create-cortex-loki-managed-rule/&#34;&gt;Create Cortex or Loki managed alert rule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;create-cortex-loki-managed-recording-rule/&#34;&gt;Create Cortex or Loki managed recording rule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;edit-cortex-loki-namespace-group/&#34;&gt;Edit Cortex or Loki rule groups and namespaces&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;create-grafana-managed-rule/&#34;&gt;Create Grafana managed alert rule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../fundamentals/state-and-health/&#34;&gt;State and health of alerting rules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;rule-list/&#34;&gt;Manage alerting rules&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="create-and-manage-grafana-alerting-rules">Create and manage Grafana alerting rules&lt;/h1>
&lt;p>An alerting rule is a set of evaluation criteria that determines whether an alert will fire. The rule consists of one or more queries and expressions, a condition, the frequency of evaluation, and optionally, the duration over which the condition is met.&lt;/p></description></item><item><title>Alert groups</title><link>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/alert-groups/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/alert-groups/</guid><content><![CDATA[&lt;h1 id=&#34;alert-groups&#34;&gt;Alert groups&lt;/h1&gt;
&lt;p&gt;Alert groups show grouped alerts from an Alertmanager instance. By default, the alerts are grouped by the label keys for the root policy in &lt;a href=&#34;../notifications/&#34;&gt;notification policies&lt;/a&gt;. Grouping common alerts into a single alert group prevents duplicate alerts from being fired.&lt;/p&gt;
&lt;h2 id=&#34;view-alert-groupings&#34;&gt;View alert groupings&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the Grafana menu, click the &lt;strong&gt;Alerting&lt;/strong&gt; (bell) icon to open the Alerting page listing existing alerts.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Alert grouping&lt;/strong&gt; to open the page listing existing groups.&lt;/li&gt;
&lt;li&gt;From the &lt;strong&gt;Alertmanager&lt;/strong&gt; drop-down, select an external Alertmanager as your data source. By default, the &lt;code&gt;Grafana&lt;/code&gt; Alertmanager is selected.&lt;/li&gt;
&lt;li&gt;From &lt;strong&gt;custom group by&lt;/strong&gt; drop-down, select a combination of labels to view a grouping other than the default. This is useful for debugging and verifying your grouping of notification policies.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If an alert does not contain labels specified either in the grouping of the root policy or the custom grouping, then the alert is added to a catch all group with a header of &lt;code&gt;No grouping&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;filter-alerts&#34;&gt;Filter alerts&lt;/h2&gt;
&lt;p&gt;You can use the following filters to view alerts that match specific criteria:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Search by label:&lt;/strong&gt; In &lt;strong&gt;Search&lt;/strong&gt;, enter an existing label to view alerts matching the label. For example, &lt;code&gt;environment=production,region=~US|EU,severity!=warning&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Filter alerts by state:&lt;/strong&gt; In &lt;strong&gt;States&lt;/strong&gt;, select from Active, Suppressed, or Unprocessed states to view alerts matching your selected state. All other alerts are hidden.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="alert-groups">Alert groups&lt;/h1>
&lt;p>Alert groups show grouped alerts from an Alertmanager instance. By default, the alerts are grouped by the label keys for the root policy in &lt;a href="../notifications/">notification policies&lt;/a>. Grouping common alerts into a single alert group prevents duplicate alerts from being fired.&lt;/p></description></item><item><title>Silences</title><link>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/silences/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/silences/</guid><content><![CDATA[&lt;h1 id=&#34;silences&#34;&gt;Silences&lt;/h1&gt;
&lt;p&gt;Use silences to stop notifications from one or more alerting rules. Silences do not prevent alert rules from being evaluated. Nor do they not stop alerting instances from being shown in the user interface. Silences only stop notifications from getting created. A silence lasts for only a specified window of time.&lt;/p&gt;
&lt;p&gt;Silences do not prevent alert rules from being evaluated. They also do not stop alert instances being shown in the user interface. Silences only prevent notifications from being created.&lt;/p&gt;
&lt;p&gt;You can configure Grafana managed silences as well as silences for an &lt;a href=&#34;../../../datasources/alertmanager/&#34;&gt;external Alertmanager data source&lt;/a&gt;. For more information, see &lt;a href=&#34;../fundamentals/alertmanager/&#34;&gt;Alertmanager&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Before Grafana v8.2, the configuration of the embedded Alertmanager was shared across organisations. Users of Grafana 8.0 and 8.1 are advised to use the new Grafana 8 Alerts only if they have one organisation. Otherwise, silences for the Grafana managed alerts will be visible by all organizations.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;add-a-silence&#34;&gt;Add a silence&lt;/h2&gt;
&lt;p&gt;To add a silence:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In the Grafana menu, click the &lt;strong&gt;Alerting&lt;/strong&gt; (bell) icon to open the Alerting page listing existing alerts.&lt;/li&gt;
&lt;li&gt;In the Alerting page, click &lt;strong&gt;Silences&lt;/strong&gt; to open the page listing existing contact points.&lt;/li&gt;
&lt;li&gt;From &lt;a href=&#34;./contact-points.md/#alertmanager&#34;&gt;Alertmanager&lt;/a&gt; drop-down, select an external Alertmanager to create and manage silences for the external data source. Otherwise, keep the default option of Grafana.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;New Silence&lt;/strong&gt; to open the Create silence page.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Silence start and end&lt;/strong&gt;, select the start and end date to indicate when the silence should go into effect and expire.&lt;/li&gt;
&lt;li&gt;Optionally, in &lt;strong&gt;Duration&lt;/strong&gt;, specify how long the silence is enforced. This automatically updates the end time in the &lt;strong&gt;Silence start and end&lt;/strong&gt; field.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Name&lt;/strong&gt; and &lt;strong&gt;Value&lt;/strong&gt; fields, enter one or more &lt;em&gt;Matching Labels&lt;/em&gt;. Matchers determine which rules the silence will apply to. For more information, see &lt;a href=&#34;#label-matching-for-alert-suppression&#34;&gt;Label matching for alert suppression&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Comment&lt;/strong&gt;, add details about the silence.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Creator&lt;/strong&gt;, enter the name of the silence owner or keep the default owner.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;label-matching-for-alert-suppression&#34;&gt;Label matching for alert suppression&lt;/h3&gt;
&lt;p&gt;Grafana suppresses notifications only for alerts with labels that match all the &amp;ldquo;Matching Labels&amp;rdquo; specified in the silence.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Label&lt;/strong&gt; field is the name of the label to match. It must exactly match the label name.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Operator&lt;/strong&gt; field is the operator to match against the label value. The available operators are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;=&lt;/code&gt;: Select labels that are exactly equal to the provided string.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;!=&lt;/code&gt;: Select labels that are not equal to the provided string.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;=~&lt;/code&gt;: Select labels that regex-match the provided string.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;!~&lt;/code&gt;: Select labels that do not regex-match the provided string.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Value&lt;/strong&gt; field matches against the corresponding value for the specified &lt;strong&gt;Label&lt;/strong&gt; name. How it matches depends on the &lt;strong&gt;Operator&lt;/strong&gt; value.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;In the Alerting page, click &lt;strong&gt;Silences&lt;/strong&gt; to view the list of existing silences.&lt;/li&gt;
&lt;li&gt;Find the silence you want to edit, then click &lt;strong&gt;Edit&lt;/strong&gt; (pen icon).&lt;/li&gt;
&lt;li&gt;Make changes, then click &lt;strong&gt;Submit&lt;/strong&gt; to save your changes.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;remove-silences&#34;&gt;Remove silences&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the Alerting page, click &lt;strong&gt;Silences&lt;/strong&gt; to view the list of existing silences.&lt;/li&gt;
&lt;li&gt;Find the silence you want to end, then click &lt;strong&gt;Unsilence&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Silences that have ended are retained and listed for five days. You cannot remove a silence manually.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;create-a-url-to-silence-form-with-defaults-filled-in&#34;&gt;Create a URL to silence form with defaults filled in&lt;/h2&gt;
&lt;p&gt;When linking to a silence form, provide the default matching labels and comment via &lt;code&gt;matchers&lt;/code&gt; and &lt;code&gt;comment&lt;/code&gt; query parameters. The &lt;code&gt;matchers&lt;/code&gt; parameter requires one more matching labels of the type &lt;code&gt;[label][operator][value]&lt;/code&gt; joined by a comma while the &lt;code&gt;operator&lt;/code&gt; parameter can be one of the following: &lt;code&gt;=&lt;/code&gt; (equals, not regex), &lt;code&gt;!=&lt;/code&gt; (not equals, not regex), &lt;code&gt;=~&lt;/code&gt; (equals, regex), &lt;code&gt;!~&lt;/code&gt; (not equals, regex).&lt;/p&gt;
&lt;p&gt;For example, to link to silence form with matching labels &lt;code&gt;severity=critical&lt;/code&gt; &amp;amp; &lt;code&gt;cluster!~europe-.*&lt;/code&gt; and comment &lt;code&gt;Silence critical EU alerts&lt;/code&gt;, create a URL &lt;code&gt;https://mygrafana/alerting/silence/new?matchers=severity%3Dcritical%2Ccluster!~europe-*&amp;amp;comment=Silence%20critical%20EU%20alert&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To link to a new silence page for an &lt;a href=&#34;../../../datasources/alertmanager/&#34;&gt;external Alertmanager&lt;/a&gt;, add a &lt;code&gt;alertmanager&lt;/code&gt; query parameter with the Alertmanager data source name.&lt;/p&gt;
]]></content><description>&lt;h1 id="silences">Silences&lt;/h1>
&lt;p>Use silences to stop notifications from one or more alerting rules. Silences do not prevent alert rules from being evaluated. Nor do they not stop alerting instances from being shown in the user interface. Silences only stop notifications from getting created. A silence lasts for only a specified window of time.&lt;/p></description></item><item><title>Contact points</title><link>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/contact-points/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/contact-points/</guid><content><![CDATA[&lt;h1 id=&#34;contact-points&#34;&gt;Contact points&lt;/h1&gt;
&lt;p&gt;Use contact points to define how your contacts are notified when an alert fires. A contact point can have one or more contact point types, for example, email, slack, webhook, and so on. When an alert fires, a notification is sent to all contact point types listed for a contact point. Optionally, use &lt;a href=&#34;../message-templating/&#34;&gt;message templates&lt;/a&gt; to customize notification messages for the contact point types.&lt;/p&gt;
&lt;p&gt;You can configure Grafana managed contact points as well as contact points for an &lt;a href=&#34;../../../datasources/alertmanager/&#34;&gt;external Alertmanager data source&lt;/a&gt;. For more information, see &lt;a href=&#34;../fundamentals/alertmanager/&#34;&gt;Alertmanager&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;add-a-contact-point&#34;&gt;Add a contact point&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the Grafana menu, click the &lt;strong&gt;Alerting&lt;/strong&gt; (bell) icon to open the Alerting page listing existing alerts.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Contact points&lt;/strong&gt; to open the page listing existing contact points.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;New contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;From the &lt;strong&gt;Alertmanager&lt;/strong&gt; dropdown, select an Alertmanager. By default, Grafana Alertmanager is selected.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Name&lt;/strong&gt;, enter a descriptive name for the contact point.&lt;/li&gt;
&lt;li&gt;From &lt;strong&gt;Contact point type&lt;/strong&gt;, select a type and fill out mandatory fields. For example, if you choose email, enter the email addresses. Or if you choose Slack, enter the Slack channel(s) and users who should be contacted.&lt;/li&gt;
&lt;li&gt;Some contact point types, like email or webhook, have optional settings. In &lt;strong&gt;Optional settings&lt;/strong&gt;, specify additional settings for the selected contact point type.&lt;/li&gt;
&lt;li&gt;In Notification settings, optionally select &lt;strong&gt;Disable resolved message&lt;/strong&gt; if you do not want to be notified when an alert resolves.&lt;/li&gt;
&lt;li&gt;To add another contact point type, click &lt;strong&gt;New contact point type&lt;/strong&gt; and repeat steps 6 through 8.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save contact point&lt;/strong&gt; to save your changes.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;edit-a-contact-point&#34;&gt;Edit a contact point&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the Alerting page, click &lt;strong&gt;Contact points&lt;/strong&gt; to open the page listing existing contact points.&lt;/li&gt;
&lt;li&gt;Find the contact point to edit, then click &lt;strong&gt;Edit&lt;/strong&gt; (pen icon).&lt;/li&gt;
&lt;li&gt;Make any changes and click &lt;strong&gt;Save contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;test-a-contact-point&#34;&gt;Test a contact point&lt;/h2&gt;
&lt;p&gt;For Grafana managed contact points, you can send a test notification which helps verify a contact point is configured correctly.&lt;/p&gt;
&lt;p&gt;To send a test notification:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In the Grafana side bar, hover your cursor over the &lt;strong&gt;Alerting&lt;/strong&gt; (bell) icon and then click &lt;strong&gt;Contact&lt;/strong&gt; points.&lt;/li&gt;
&lt;li&gt;Find the contact point to test, then click &lt;strong&gt;Edit&lt;/strong&gt; (pen icon). You can also create a new contact point if needed.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Test&lt;/strong&gt; (paper airplane icon) to open the contact point testing modal.&lt;/li&gt;
&lt;li&gt;Choose whether to send a predefined test notification or choose custom to add your own custom annotations and labels to include in the notification.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Send test notification&lt;/strong&gt; to fire the alert.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;delete-a-contact-point&#34;&gt;Delete a contact point&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the Alerting page, click &lt;strong&gt;Contact points&lt;/strong&gt; to open the page listing existing contact points.&lt;/li&gt;
&lt;li&gt;Find the contact point to delete, then click &lt;strong&gt;Delete&lt;/strong&gt; (trash icon).&lt;/li&gt;
&lt;li&gt;In the confirmation dialog, click &lt;strong&gt;Yes, delete&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; You cannot delete contact points that are in use by a notification policy. You will have to either delete the &lt;a href=&#34;../notifications/&#34;&gt;notification policy&lt;/a&gt; or update it to use another contact point.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;edit-alertmanager-global-config&#34;&gt;Edit Alertmanager global config&lt;/h2&gt;
&lt;p&gt;To edit global configuration options for an external Alertmanager, like SMTP server, that is used by default for all email contact types:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In the Alerting page, click &lt;strong&gt;Contact points&lt;/strong&gt; to open the page listing existing contact points.&lt;/li&gt;
&lt;li&gt;From the &lt;strong&gt;Alertmanager&lt;/strong&gt; drop-down, select an external Alertmanager data source.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Edit global config&lt;/strong&gt; option.&lt;/li&gt;
&lt;li&gt;Add global configuration settings.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save global config&lt;/strong&gt; to save your changes.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; This option is available only for external Alertmanagers. You can configure some global options for Grafana contact types, like email settings, via &lt;a href=&#34;../../../administration/configuration/&#34;&gt;Grafana configuration&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;list-of-notifiers-supported-by-grafana&#34;&gt;List of notifiers supported by Grafana&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;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;#dingdingdingtalk&#34;&gt;DingDing&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dingding&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;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;#discord&#34;&gt;Discord&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;discord&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;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;#email&#34;&gt;Email&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;email&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#google-hangouts-chat&#34;&gt;Google Hangouts Chat&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;googlechat&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;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;#kafka&#34;&gt;Kafka&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;kafka&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;N/A&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;Supported&lt;/td&gt;
              &lt;td&gt;N/A&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;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;#opsgenie&#34;&gt;Opsgenie&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;opsgenie&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#pagerduty&#34;&gt;Pagerduty&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;pagerduty&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;Supported&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;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;#pushover&#34;&gt;Pushover&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;pushover&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;Supported&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;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;#sensu-go&#34;&gt;Sensu Go&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;sensugo&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;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;#slack&#34;&gt;Slack&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;slack&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
              &lt;td&gt;Supported&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;Supported&lt;/td&gt;
              &lt;td&gt;N/A&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;Supported&lt;/td&gt;
              &lt;td&gt;N/A&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;Supported&lt;/td&gt;
              &lt;td&gt;Supported&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#webhook&#34;&gt;Webhook&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;webhook&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;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;&lt;a href=&#34;#wecom&#34;&gt;WeCom&lt;/a&gt;&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;#zenduty&#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;&lt;h3 id=&#34;webhook&#34;&gt;Webhook&lt;/h3&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;receiver&amp;#34;: &amp;#34;My Super Webhook&amp;#34;,
  &amp;#34;status&amp;#34;: &amp;#34;firing&amp;#34;,
  &amp;#34;orgId&amp;#34;: 1,
  &amp;#34;alerts&amp;#34;: [
    {
      &amp;#34;status&amp;#34;: &amp;#34;firing&amp;#34;,
      &amp;#34;labels&amp;#34;: {
        &amp;#34;alertname&amp;#34;: &amp;#34;High memory usage&amp;#34;,
        &amp;#34;team&amp;#34;: &amp;#34;blue&amp;#34;,
        &amp;#34;zone&amp;#34;: &amp;#34;us-1&amp;#34;
      },
      &amp;#34;annotations&amp;#34;: {
        &amp;#34;description&amp;#34;: &amp;#34;The system has high memory usage&amp;#34;,
        &amp;#34;runbook_url&amp;#34;: &amp;#34;https://myrunbook.com/runbook/1234&amp;#34;,
        &amp;#34;summary&amp;#34;: &amp;#34;This alert was triggered for zone us-1&amp;#34;
      },
      &amp;#34;startsAt&amp;#34;: &amp;#34;2021-10-12T09:51:03.157076&amp;#43;02:00&amp;#34;,
      &amp;#34;endsAt&amp;#34;: &amp;#34;0001-01-01T00:00:00Z&amp;#34;,
      &amp;#34;generatorURL&amp;#34;: &amp;#34;https://play.grafana.org/alerting/1afz29v7z/edit&amp;#34;,
      &amp;#34;fingerprint&amp;#34;: &amp;#34;c6eadffa33fcdf37&amp;#34;,
      &amp;#34;silenceURL&amp;#34;: &amp;#34;https://play.grafana.org/alerting/silence/new?alertmanager=grafana&amp;amp;matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1&amp;#34;,
      &amp;#34;dashboardURL&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;panelURL&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;valueString&amp;#34;: &amp;#34;[ metric=&amp;#39;&amp;#39; labels={} value=14151.331895396988 ]&amp;#34;
    },
    {
      &amp;#34;status&amp;#34;: &amp;#34;firing&amp;#34;,
      &amp;#34;labels&amp;#34;: {
        &amp;#34;alertname&amp;#34;: &amp;#34;High CPU usage&amp;#34;,
        &amp;#34;team&amp;#34;: &amp;#34;blue&amp;#34;,
        &amp;#34;zone&amp;#34;: &amp;#34;eu-1&amp;#34;
      },
      &amp;#34;annotations&amp;#34;: {
        &amp;#34;description&amp;#34;: &amp;#34;The system has high CPU usage&amp;#34;,
        &amp;#34;runbook_url&amp;#34;: &amp;#34;https://myrunbook.com/runbook/1234&amp;#34;,
        &amp;#34;summary&amp;#34;: &amp;#34;This alert was triggered for zone eu-1&amp;#34;
      },
      &amp;#34;startsAt&amp;#34;: &amp;#34;2021-10-12T09:56:03.157076&amp;#43;02:00&amp;#34;,
      &amp;#34;endsAt&amp;#34;: &amp;#34;0001-01-01T00:00:00Z&amp;#34;,
      &amp;#34;generatorURL&amp;#34;: &amp;#34;https://play.grafana.org/alerting/d1rdpdv7k/edit&amp;#34;,
      &amp;#34;fingerprint&amp;#34;: &amp;#34;bc97ff14869b13e3&amp;#34;,
      &amp;#34;silenceURL&amp;#34;: &amp;#34;https://play.grafana.org/alerting/silence/new?alertmanager=grafana&amp;amp;matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1&amp;#34;,
      &amp;#34;dashboardURL&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;panelURL&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;valueString&amp;#34;: &amp;#34;[ metric=&amp;#39;&amp;#39; labels={} value=47043.702386305304 ]&amp;#34;
    }
  ],
  &amp;#34;groupLabels&amp;#34;: {},
  &amp;#34;commonLabels&amp;#34;: {
    &amp;#34;team&amp;#34;: &amp;#34;blue&amp;#34;
  },
  &amp;#34;commonAnnotations&amp;#34;: {},
  &amp;#34;externalURL&amp;#34;: &amp;#34;https://play.grafana.org/&amp;#34;,
  &amp;#34;version&amp;#34;: &amp;#34;1&amp;#34;,
  &amp;#34;groupKey&amp;#34;: &amp;#34;{}:{}&amp;#34;,
  &amp;#34;truncatedAlerts&amp;#34;: 0,
  &amp;#34;title&amp;#34;: &amp;#34;[FIRING:2]  (blue)&amp;#34;,
  &amp;#34;state&amp;#34;: &amp;#34;alerting&amp;#34;,
  &amp;#34;message&amp;#34;: &amp;#34;**Firing**\n\nLabels:\n - alertname = T2\n - team = blue\n - zone = us-1\nAnnotations:\n - description = This is the alert rule checking the second system\n - runbook_url = https://myrunbook.com\n - summary = This is my summary\nSource: https://play.grafana.org/alerting/1afz29v7z/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&amp;amp;matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1\n\nLabels:\n - alertname = T1\n - team = blue\n - zone = eu-1\nAnnotations:\nSource: https://play.grafana.org/alerting/d1rdpdv7k/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&amp;amp;matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1\n&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;webhook-fields&#34;&gt;Webhook fields&lt;/h3&gt;
&lt;h4 id=&#34;body&#34;&gt;Body&lt;/h4&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;Key&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;receiver&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Name of the webhook&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;status&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Current status of the alert, &lt;code&gt;firing&lt;/code&gt; or &lt;code&gt;resolved&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;orgId&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;ID of the organization related to the payload&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;alerts&lt;/td&gt;
              &lt;td&gt;array of &lt;a href=&#34;#alert&#34;&gt;alerts&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Alerts that are triggering&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;groupLabels&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Labels that are used for grouping, map of string keys to string values&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;commonLabels&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Labels that all alarms have in common, map of string keys to string values&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;commonAnnotations&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Annotations that all alarms have in common, map of string keys to string values&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;externalURL&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;External URL to the Grafana instance sending this webhook&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;version&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Version of the payload&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;groupKey&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Key that is used for grouping&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;truncatedAlerts&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;Number of alerts that were truncated&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;title&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;Will be deprecated soon&lt;/strong&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;state&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;Will be deprecated soon&lt;/strong&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;message&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;Will be deprecated soon&lt;/strong&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;alert&#34;&gt;Alert&lt;/h4&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;Key&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;status&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Current status of the alert, &lt;code&gt;firing&lt;/code&gt; or &lt;code&gt;resolved&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;labels&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Labels that are part of this alert, map of string keys to string values&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;annotations&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Annotations that are part of this alert, map of string keys to string values&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;startsAt&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Start time of the alert&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;endsAt&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;End time of the alert, default value when not resolved is &lt;code&gt;0001-01-01T00:00:00Z&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;valueString&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Values that triggered the current status&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;generatorURL&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;URL of the alert rule in the Grafana UI&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;fingerprint&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;The labels fingerprint, alarms with the same labels will have the same fingerprint&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;silenceURL&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;URL to silence the alert rule in the Grafana UI&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;dashboardURL&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;Will be deprecated soon&lt;/strong&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;panelURL&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;Will be deprecated soon&lt;/strong&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;removed-fields-related-to-dashboards&#34;&gt;Removed fields related to dashboards&lt;/h4&gt;
&lt;p&gt;Alerts are not coupled to dashboards anymore therefore the fields related to dashboards &lt;code&gt;dashboardId&lt;/code&gt; and &lt;code&gt;panelId&lt;/code&gt; have been removed.&lt;/p&gt;
&lt;h3 id=&#34;wecom&#34;&gt;WeCom&lt;/h3&gt;
&lt;p&gt;WeCom contact points need a Webhook URL. These are obtained by setting up a WeCom robot on the corresponding group chat. To obtain a Webhook URL using the WeCom desktop Client please follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click the &amp;ldquo;&amp;hellip;&amp;rdquo; in the top right corner of a group chat that you want your alerts to be delivered to&lt;/li&gt;
&lt;li&gt;Click &amp;ldquo;Add Group Robot&amp;rdquo;, select &amp;ldquo;New Robot&amp;rdquo; and give your robot a name. Click &amp;ldquo;Add Robot&amp;rdquo;&lt;/li&gt;
&lt;li&gt;There should be a Webhook URL in the panel.&lt;/li&gt;
&lt;/ol&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;WeCom webhook URL.&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>Use contact points to define how your contacts are notified when an alert fires. A contact point can have one or more contact point types, for example, email, slack, webhook, and so on. When an alert fires, a notification is sent to all contact point types listed for a contact point. Optionally, use &lt;a href="../message-templating/">message templates&lt;/a> to customize notification messages for the contact point types.&lt;/p></description></item><item><title>Message templating</title><link>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/message-templating/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/message-templating/</guid><content><![CDATA[&lt;h1 id=&#34;message-templating&#34;&gt;Message templating&lt;/h1&gt;
&lt;p&gt;Notifications sent via &lt;a href=&#34;../contact-points/&#34;&gt;contact points&lt;/a&gt; are built using messaging templates. Grafana&amp;rsquo;s default templates are based on the &lt;a href=&#34;https://golang.org/pkg/text/template&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Go templating system&lt;/a&gt; where some fields are evaluated as text, while others are evaluated as HTML (which can affect escaping). The default template, defined in &lt;a href=&#34;https://github.com/grafana/grafana/blob/main/pkg/services/ngalert/notifier/channels/default_template.go&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;default_template.go&lt;/a&gt;, is a useful reference for custom templates.&lt;/p&gt;
&lt;p&gt;Since most of the contact point fields can be templated, you can create reusable custom templates and use them in multiple contact points. The &lt;a href=&#34;template-data/&#34;&gt;template data&lt;/a&gt; topic lists variables that are available for templating. The default template is defined in &lt;a href=&#34;https://github.com/grafana/grafana/blob/main/pkg/services/ngalert/notifier/channels/default_template.go&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;default_template.go&lt;/a&gt; which can serve as a useful reference or starting point for custom templates.&lt;/p&gt;
&lt;h3 id=&#34;using-templates&#34;&gt;Using templates&lt;/h3&gt;
&lt;p&gt;The following example shows how to use default templates to render an alert message in Slack. The message title contains a count of alerts that are firing or were resolved. The message body lists the alerts and their status.&lt;/p&gt;
&lt;img  src=&#34;/static/img/docs/alerting/unified/contact-points-template-fields-8-0.png&#34; width=&#34;450px&#34;&gt;
&lt;p&gt;The following example shows the use of a custom template within one of the contact point fields.&lt;/p&gt;
&lt;img  src=&#34;/static/img/docs/alerting/unified/contact-points-use-template-8-0.png&#34; width=&#34;400px&#34;&gt;
&lt;h3 id=&#34;create-a-message-template&#34;&gt;Create a message template&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Before Grafana v8.2, the configuration of the embedded Alertmanager was shared across organisations. Users of Grafana 8.0 and 8.1 are advised to use the new Grafana 8 alerts only if they have one organisation. Otherwise, silences for the Grafana managed alerts will be visible by all organizations.&lt;/p&gt;&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;In the Grafana menu, click the &lt;strong&gt;Alerting&lt;/strong&gt; (bell) icon to open the Alerting page listing existing alerts.&lt;/li&gt;
&lt;li&gt;In the Alerting page, click &lt;strong&gt;Contact points&lt;/strong&gt; to open the page listing existing contact points.&lt;/li&gt;
&lt;li&gt;From &lt;a href=&#34;../contact-points.md/#alertmanager&#34;&gt;Alertmanager&lt;/a&gt; drop-down, select an external Alertmanager to create and manage templates for the external data source. Otherwise, keep the default option of Grafana.
&lt;figure
       class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
       style=&#34;max-width: 250px;&#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/contact-points-select-am-8-0.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/alerting/unified/contact-points-select-am-8-0.gif&#34;alt=&#34;Select Alertmanager&#34;width=&#34;1148&#34;height=&#34;662&#34;title=&#34;Select Alertmanager&#34;/&gt;
           &lt;noscript&gt;
             &lt;img
               src=&#34;/static/img/docs/alerting/unified/contact-points-select-am-8-0.gif&#34;
               alt=&#34;Select Alertmanager&#34;width=&#34;1148&#34;height=&#34;662&#34;title=&#34;Select Alertmanager&#34;/&gt;
           &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Select Alertmanager&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add template&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Name&lt;/strong&gt;, add a descriptive name.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Content&lt;/strong&gt;, add the content of the template.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save template&lt;/strong&gt; button at the bottom of the page.
&lt;img  src=&#34;/static/img/docs/alerting/unified/templates-create-8-0.png&#34; width=&#34;600px&#34;&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The &lt;code&gt;define&lt;/code&gt; tag in the Content section assigns the template name. This tag is optional, and when omitted, the template name is derived from the &lt;strong&gt;Name&lt;/strong&gt; field. When both are specified, it is a best practice to ensure that they are the same.&lt;/p&gt;
&lt;h3 id=&#34;edit-a-message-template&#34;&gt;Edit a message template&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;In the Alerting page, click &lt;strong&gt;Contact points&lt;/strong&gt; to open the page listing existing contact points.&lt;/li&gt;
&lt;li&gt;In the Template table, find the template you want to edit, then click the &lt;strong&gt;Edit&lt;/strong&gt; (pen icon).&lt;/li&gt;
&lt;li&gt;Make your changes, then click &lt;strong&gt;Save template&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;delete-a-message-template&#34;&gt;Delete a message template&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;In the Alerting page, click &lt;strong&gt;Contact points&lt;/strong&gt; to open the page listing existing contact points.&lt;/li&gt;
&lt;li&gt;In the Template table, find the template you want to delete, then click the &lt;strong&gt;Delete&lt;/strong&gt; (trash icon).&lt;/li&gt;
&lt;li&gt;In the confirmation dialog, click &lt;strong&gt;Yes, delete&lt;/strong&gt; to delete the template.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Use caution when deleting a template since Grafana does not prevent you from deleting templates that are in use.&lt;/p&gt;
&lt;h3 id=&#34;nested-templates&#34;&gt;Nested templates&lt;/h3&gt;
&lt;p&gt;You can embed templates within other templates.&lt;/p&gt;
&lt;p&gt;For example, you can define a template fragment using the &lt;code&gt;define&lt;/code&gt; keyword:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&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&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;{{ define &amp;#34;mytemplate&amp;#34; }}
  {{ len .Alerts.Firing }} firing. {{ len .Alerts.Resolved }} resolved.
{{ end }}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You can then embed custom templates within this fragment using the &lt;code&gt;template&lt;/code&gt; keyword. For example:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&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&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;Alert summary:
{{ template &amp;#34;mytemplate&amp;#34; . }}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You can use any of the following built-in template options to embed custom templates.&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;Notes&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;default.title&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Displays high-level status information.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;default.message&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Provides a formatted summary of firing and resolved alerts.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;teams.default.message&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Similar to &lt;code&gt;default.messsage&lt;/code&gt;, formatted for Microsoft Teams.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;custom-template-examples&#34;&gt;Custom template examples&lt;/h3&gt;
&lt;p&gt;Here are a few examples of how to use custom templates.&lt;/p&gt;
&lt;p&gt;Template to render a single alert:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&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&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;{{ define &amp;#34;myalert&amp;#34; }}
  [{{.Status}}] {{ .Labels.alertname }}

  Labels:
  {{ range .Labels.SortedPairs }}
    {{ .Name }}: {{ .Value }}
  {{ end }}

  {{ if gt (len .Annotations) 0 }}
  Annotations:
  {{ range .Annotations.SortedPairs }}
    {{ .Name }}: {{ .Value }}
  {{ end }}
  {{ end }}

  {{ if gt (len .SilenceURL ) 0 }}
    Silence alert: {{ .SilenceURL }}
  {{ end }}
  {{ if gt (len .DashboardURL ) 0 }}
    Go to dashboard: {{ .DashboardURL }}
  {{ end }}
{{ end }}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Template to render entire notification message:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&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&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;{{ define &amp;#34;mymessage&amp;#34; }}
  {{ if gt (len .Alerts.Firing) 0 }}
    {{ len .Alerts.Firing }} firing:
    {{ range .Alerts.Firing }} {{ template &amp;#34;myalert&amp;#34; .}} {{ end }}
  {{ end }}
  {{ if gt (len .Alerts.Resolved) 0 }}
    {{ len .Alerts.Resolved }} resolved:
    {{ range .Alerts.Resolved }} {{ template &amp;#34;myalert&amp;#34; .}} {{ end }}
  {{ end }}
{{ end }}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;html-in-message-templates&#34;&gt;HTML in Message Templates&lt;/h3&gt;
&lt;p&gt;HTML in alerting message templates is escaped. We do not support rendering of HTML in the resulting notification.&lt;/p&gt;
&lt;p&gt;Some notifiers support alternative methods of changing the look and feel of the resulting notification. For example, Grafana installs the base template for alerting emails to &lt;code&gt;&amp;lt;grafana-install-dir&amp;gt;/public/emails/ng_alert_notification.html&lt;/code&gt;. You can edit this file to change the appearance of all alerting emails.&lt;/p&gt;
]]></content><description>&lt;h1 id="message-templating">Message templating&lt;/h1>
&lt;p>Notifications sent via &lt;a href="../contact-points/">contact points&lt;/a> are built using messaging templates. Grafana&amp;rsquo;s default templates are based on the &lt;a href="https://golang.org/pkg/text/template" target="_blank" rel="noopener noreferrer">Go templating system&lt;/a> where some fields are evaluated as text, while others are evaluated as HTML (which can affect escaping). The default template, defined in &lt;a href="https://github.com/grafana/grafana/blob/main/pkg/services/ngalert/notifier/channels/default_template.go" target="_blank" rel="noopener noreferrer">default_template.go&lt;/a>, is a useful reference for custom templates.&lt;/p></description></item><item><title> High availability</title><link>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/high-availability/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/high-availability/</guid><content><![CDATA[&lt;h1 id=&#34;high-availability&#34;&gt;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; is responsible for the evaluation of your &lt;a href=&#34;../fundamentals/evaluate-grafana-alerts/&#34;&gt;alert rules&lt;/a&gt; while the internal Alertmanager takes care of the &lt;strong&gt;routing&lt;/strong&gt; and &lt;strong&gt;grouping&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;When it comes to running Grafana alerting in high availability the operational mode of the scheduler is unaffected such that all alerts continue be evaluated in each Grafana instance. Rather the operational change happens in the Alertmanager which &lt;strong&gt;deduplicates&lt;/strong&gt; 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. It is expected that each scheduler delivers the same alerts to each Alertmanager.&lt;/p&gt;
&lt;p&gt;The two types of messages that are gossiped between 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;These two states are persisted in the database periodically and when Grafana is gracefully shutdown.&lt;/p&gt;
&lt;h2 id=&#34;enable-high-availability&#34;&gt;Enable high availability&lt;/h2&gt;
&lt;p&gt;To enable high availability support you need to add at least 1 Grafana instance to the &lt;a href=&#34;../../../administration/configuration/#unified_alerting&#34;&gt;&lt;code&gt;[ha_peer]&lt;/code&gt; configuration option&lt;/a&gt; within the &lt;code&gt;[unified_alerting]&lt;/code&gt; section:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the &lt;code&gt;[unified_alerting]&lt;/code&gt; section.&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;[ha_peers]&lt;/code&gt; to the number of hosts for each grafana instance in the cluster (using a format of host:port) e.g. &lt;code&gt;ha_peers=10.0.0.5:9094,10.0.0.6:9094,10.0.0.7:9094&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Gossiping of notifications and silences uses both TCP and UDP port 9094. Each Grafana instance will need to be able to accept incoming connections on these ports.&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;[ha_listen_address]&lt;/code&gt; to the instance IP address using a format of host:port (or the &lt;a href=&#34;https://kubernetes.io/docs/concepts/workloads/pods/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Pod&amp;rsquo;s&lt;/a&gt; IP in the case of using Kubernetes) by default it is set to listen to all interfaces (&lt;code&gt;0.0.0.0&lt;/code&gt;).&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;kubernetes&#34;&gt;Kubernetes&lt;/h2&gt;
&lt;p&gt;If you are using Kubernetes, you can expose the pod IP &lt;a href=&#34;https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;through an environment variable&lt;/a&gt; via the container definition such as:&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;Bash&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-bash&#34;&gt;env:
- name: POD_IP
  valueFrom:
    fieldRef:
      fieldPath: status.podIP&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="high-availability">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> is responsible for the evaluation of your &lt;a href="../fundamentals/evaluate-grafana-alerts/">alert rules&lt;/a> while the internal Alertmanager takes care of the &lt;strong>routing&lt;/strong> and &lt;strong>grouping&lt;/strong>.&lt;/p></description></item><item><title>Notification policies</title><link>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/notifications/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/notifications/</guid><content><![CDATA[&lt;h1 id=&#34;notification-policies&#34;&gt;Notification policies&lt;/h1&gt;
&lt;p&gt;Notification policies determine how alerts are routed to contact points. Policies have a tree structure, where each policy can have one or more child policies. Each policy, except for the root policy, can also match specific alert labels. Each alert is evaluated by the root policy and subsequently by each child policy. If you enable the &lt;code&gt;Continue matching subsequent sibling nodes&lt;/code&gt; option is enabled for a specific policy, then evaluation continues even after one or more matches. A parent policy’s configuration settings and contact point information govern the behavior of an alert that does not match any of the child policies. A root policy governs any alert that does not match a specific policy.&lt;/p&gt;
&lt;p&gt;You can configure Grafana managed notification policies as well as notification policies for an &lt;a href=&#34;../../../datasources/alertmanager/&#34;&gt;external Alertmanager data source&lt;/a&gt;. For more information, see &lt;a href=&#34;../fundamentals/alertmanager/&#34;&gt;Alertmanager&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;grouping&#34;&gt;Grouping&lt;/h2&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 650px;&#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/notification-policies-grouping.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/notification-policies-grouping.png&#34;data-srcset=&#34;/static/img/docs/alerting/unified/notification-policies-grouping.png?w=320 320w, /static/img/docs/alerting/unified/notification-policies-grouping.png?w=550 550w, /static/img/docs/alerting/unified/notification-policies-grouping.png?w=750 750w, /static/img/docs/alerting/unified/notification-policies-grouping.png?w=900 900w, /static/img/docs/alerting/unified/notification-policies-grouping.png?w=1040 1040w, /static/img/docs/alerting/unified/notification-policies-grouping.png?w=1240 1240w, /static/img/docs/alerting/unified/notification-policies-grouping.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Notification policies grouping&#34;width=&#34;1668&#34;height=&#34;984&#34;title=&#34;Notification policies grouping&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/alerting/unified/notification-policies-grouping.png&#34;
            alt=&#34;Notification policies grouping&#34;width=&#34;1668&#34;height=&#34;984&#34;title=&#34;Notification policies grouping&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Notification policies grouping&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;Grouping is a new and key concept of Grafana alerting that categorizes alert notifications of similar nature into a single funnel. This allows you to properly route alert notifications during larger outages when many parts of a system fail at once causing a high number of alerts to fire simultaneously.&lt;/p&gt;
&lt;p&gt;For example, suppose you have 100 services connected to a database in different environments. These services are differentiated by the label &lt;code&gt;env=environmentname&lt;/code&gt;. An alert rule is in place to monitor whether your services can reach the database named &lt;code&gt;alertname=DatabaseUnreachable&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When a network partition occurs, half of your services can no longer reach the database. As a result, 50 different alerts (assuming half of your services) are fired. For this situation, you want to receive a single-page notification (as opposed to 50) with a list of the environments that are affected.&lt;/p&gt;
&lt;p&gt;You can configure grouping to be &lt;code&gt;group_by: [alertname]&lt;/code&gt; (take note that the &lt;code&gt;env&lt;/code&gt; label is omitted). With this configuration in place, Grafana sends a single compact notification that has all the affected environments for this alert rule.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Grafana also has a special label named &lt;code&gt;...&lt;/code&gt; that you can use to group all alerts by all labels (effectively disabling grouping), therefore each alert will go into its own group. It is different from the default of &lt;code&gt;group_by: null&lt;/code&gt; where &lt;strong&gt;all&lt;/strong&gt; alerts go into a single group.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;edit-root-notification-policy&#34;&gt;Edit root notification policy&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Before Grafana v8.2, the configuration of the embedded Alertmanager was shared across organisations. Users of Grafana 8.0 and 8.1 are advised to use the new Grafana 8 Alerts only if they have one organisation. Otherwise, silences for the Grafana managed alerts will be visible by all organizations.&lt;/p&gt;&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;In the Grafana menu, click the &lt;strong&gt;Alerting&lt;/strong&gt; (bell) icon to open the Alerting page listing existing alerts.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Notification policies&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;From the &lt;strong&gt;Alertmanager&lt;/strong&gt; dropdown, select an external Alertmanager. By default, the Grafana Alertmanager is selected.&lt;/li&gt;
&lt;li&gt;In the Root policy section, click &lt;strong&gt;Edit&lt;/strong&gt; (pen icon).&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Default contact point&lt;/strong&gt;, update the &lt;a href=&#34;../contact-points/&#34;&gt;contact point&lt;/a&gt; to whom notifications should be sent for rules when alert rules do not match any specific policy.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Group by&lt;/strong&gt;, choose labels to group alerts by. If multiple alerts are matched for this policy, then they are grouped by these labels. A notification is sent per group. If the field is empty (default), then all notifications are sent in a single group. Use a special label &lt;code&gt;...&lt;/code&gt; to group alerts by all labels (which effectively disables grouping).&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Timing options&lt;/strong&gt;, select from the following options:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Group wait&lt;/strong&gt; Time to wait to buffer alerts of the same group before sending an initial notification. Default is 30 seconds.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Group interval&lt;/strong&gt; Minimum time interval between two notifications for a group. Default is 5 minutes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Repeat interval&lt;/strong&gt; Minimum time interval for re-sending a notification if no new alerts were added to the group. Default is 4 hours.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt; to save your changes.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;add-new-specific-policy&#34;&gt;Add new specific policy&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the Grafana menu, click the &lt;strong&gt;Alerting&lt;/strong&gt; (bell) icon to open the Alerting page listing existing alerts.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Notification policies&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;From the &lt;strong&gt;Alertmanager&lt;/strong&gt; dropdown, select an Alertmanager. By default, the Grafana Alertmanager is selected.&lt;/li&gt;
&lt;li&gt;To add a top level specific policy, go to the &lt;strong&gt;Specific routing&lt;/strong&gt; section and click &lt;strong&gt;New specific policy&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Matching labels&lt;/strong&gt; section, add one or more rules for matching alert labels. For more information, see &lt;a href=&#34;#how-label-matching-works&#34;&gt;&amp;ldquo;How label matching works&amp;rdquo;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Contact point&lt;/strong&gt;, add the &lt;a href=&#34;../contact-points/&#34;&gt;contact point&lt;/a&gt; to send notification to if alert matches only this specific policy and not any of the nested policies.&lt;/li&gt;
&lt;li&gt;Optionally, enable &lt;strong&gt;Continue matching subsequent sibling nodes&lt;/strong&gt; to continue matching nested policies even after the alert matched the parent policy. When this option is enabled, you can get more than one notification. Use it to send notification to a catch-all contact point as well as to one of more specific contact points handled by nested policies.&lt;/li&gt;
&lt;li&gt;Optionally, enable &lt;strong&gt;Override grouping&lt;/strong&gt; to specify the same grouping as the root policy. If this option is not enabled, the root policy grouping is used.&lt;/li&gt;
&lt;li&gt;Optionally, enable &lt;strong&gt;Override general timings&lt;/strong&gt; to override the timing options configured in the group notification policy.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save policy&lt;/strong&gt; to save your changes.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;add-nested-policy&#34;&gt;Add nested policy&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Expand the specific policy you want to update.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add nested policy&lt;/strong&gt;, then add the details using information in &lt;a href=&#34;#add-new-specific-policy&#34;&gt;Add new specific policy&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save policy&lt;/strong&gt; to save your changes.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;edit-specific-policy&#34;&gt;Edit specific policy&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the Alerting page, click &lt;strong&gt;Notification policies&lt;/strong&gt; to open the page listing existing policies.&lt;/li&gt;
&lt;li&gt;Find the policy you want to edit, then click &lt;strong&gt;Edit&lt;/strong&gt; (pen icon).&lt;/li&gt;
&lt;li&gt;Make any changes using instructions in &lt;a href=&#34;#add-new-specific-policy&#34;&gt;Add new specific policy&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save policy&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;how-label-matching-works&#34;&gt;How label matching works&lt;/h2&gt;
&lt;p&gt;A policy will match an alert if the alert&amp;rsquo;s labels match all the &amp;ldquo;Matching Labels&amp;rdquo; specified on the policy.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Label&lt;/strong&gt; field is the name of the label to match. It must exactly match the label name.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Operator&lt;/strong&gt; field is the operator to match against the label value. The available operators are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;=&lt;/code&gt;: Select labels that are exactly equal to the provided string.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;!=&lt;/code&gt;: Select labels that are not equal to the provided string.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;=~&lt;/code&gt;: Select labels that regex-match the provided string.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;!~&lt;/code&gt;: Select labels that do not regex-match the provided string.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;Value&lt;/strong&gt; field matches against the corresponding value for the specified &lt;strong&gt;Label&lt;/strong&gt; name. How it matches depends on the &lt;strong&gt;Operator&lt;/strong&gt; value.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&gt;
&lt;p&gt;An example of an alert configuration.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create a &amp;ldquo;default&amp;rdquo; contact point for slack notifications, and set it on root policy.&lt;/li&gt;
&lt;li&gt;Edit the root policy grouping to group alerts by &lt;code&gt;cluster&lt;/code&gt;, &lt;code&gt;namespace&lt;/code&gt; and &lt;code&gt;severity&lt;/code&gt; so that you get a notification per alert rule and specific kubernetes cluster and namespace.&lt;/li&gt;
&lt;li&gt;Create specific route for alerts coming from the development cluster with an appropriate contact point.&lt;/li&gt;
&lt;li&gt;Create a specific route for alerts with &amp;ldquo;critical&amp;rdquo; severity with a more invasive contact point type, like pager duty notification.&lt;/li&gt;
&lt;li&gt;Create specific routes for particular teams that handle their own onduty rotations.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 650px;&#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/notification-policies-8-0.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/notification-policies-8-0.png&#34;data-srcset=&#34;/static/img/docs/alerting/unified/notification-policies-8-0.png?w=320 320w, /static/img/docs/alerting/unified/notification-policies-8-0.png?w=550 550w, /static/img/docs/alerting/unified/notification-policies-8-0.png?w=750 750w, /static/img/docs/alerting/unified/notification-policies-8-0.png?w=900 900w, /static/img/docs/alerting/unified/notification-policies-8-0.png?w=1040 1040w, /static/img/docs/alerting/unified/notification-policies-8-0.png?w=1240 1240w, /static/img/docs/alerting/unified/notification-policies-8-0.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Notification policies&#34;width=&#34;2614&#34;height=&#34;1614&#34;title=&#34;Notification policies&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/alerting/unified/notification-policies-8-0.png&#34;
            alt=&#34;Notification policies&#34;width=&#34;2614&#34;height=&#34;1614&#34;title=&#34;Notification policies&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Notification policies&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
]]></content><description>&lt;h1 id="notification-policies">Notification policies&lt;/h1>
&lt;p>Notification policies determine how alerts are routed to contact points. Policies have a tree structure, where each policy can have one or more child policies. Each policy, except for the root policy, can also match specific alert labels. Each alert is evaluated by the root policy and subsequently by each child policy. If you enable the &lt;code>Continue matching subsequent sibling nodes&lt;/code> option is enabled for a specific policy, then evaluation continues even after one or more matches. A parent policy’s configuration settings and contact point information govern the behavior of an alert that does not match any of the child policies. A root policy governs any alert that does not match a specific policy.&lt;/p></description></item></channel></rss>