From 92bfa39ca8c20b09a10148b5750a03cb67c6f95f Mon Sep 17 00:00:00 2001 From: Jack Baldry Date: Tue, 21 May 2024 13:41:53 +0100 Subject: [PATCH] [v11.0.x] [docs/sources/alerting] Replace docs/reference shortcode with ref URIs (#88054) --- .../create-grafana-managed-rule.md | 73 ++++---- ...reate-mimir-loki-managed-recording-rule.md | 18 +- .../create-mimir-loki-managed-rule.md | 31 ++-- .../templating-labels-annotations.md | 12 +- .../create-notification-policy.md | 13 +- .../manage-contact-points/_index.md | 86 ++++----- .../integrations/configure-oncall.md | 33 ++-- .../integrations/configure-slack.md | 14 +- .../configure-notifications/mute-timings.md | 21 ++- .../template-notifications/_index.md | 33 ++-- .../create-notification-templates.md | 4 +- .../use-notification-templates.md | 21 ++- .../using-go-templating-language.md | 29 +-- docs/sources/alerting/fundamentals/_index.md | 79 ++++---- .../fundamentals/alert-rules/_index.md | 70 ++++--- .../alert-rules/annotation-label.md | 11 +- .../alert-rules/queries-conditions.md | 23 ++- .../alert-rules/rule-evaluation.md | 10 +- .../notifications/alertmanager.md | 13 +- .../notifications/notification-policies.md | 13 +- docs/sources/alerting/monitor/_index.md | 6 +- docs/sources/alerting/set-up/_index.md | 65 ++++--- .../configure-high-availability/_index.md | 6 +- .../provision-alerting-resources/_index.md | 51 ++++-- .../export-alerting-resources/index.md | 173 +++++++++++------- .../file-provisioning/index.md | 69 ++++--- .../terraform-provisioning/index.md | 135 ++++++++------ 27 files changed, 629 insertions(+), 483 deletions(-) diff --git a/docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md b/docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md index 682f8c30c40..2976f91fd61 100644 --- a/docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md +++ b/docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md @@ -18,6 +18,37 @@ labels: - oss title: Configure Grafana-managed alert rules weight: 100 +refs: + add-a-query: + - pattern: /docs/grafana/ + destination: /docs/grafana//panels-visualizations/query-transform-data/#add-a-query + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/#add-a-query + fundamentals: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/ + annotation-label: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/alert-rules/annotation-label/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/ + expression-queries: + - pattern: /docs/grafana/ + destination: /docs/grafana//panels-visualizations/query-transform-data/expression-queries/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/expression-queries/ + alerting-on-numeric-data: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/alert-rules/queries-conditions/#alert-on-numeric-data + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions/#alert-on-numeric-data + time-units-and-relative-ranges: + - pattern: /docs/grafana/ + destination: /docs/grafana//dashboards/use-dashboards/#time-units-and-relative-ranges + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/visualizations/dashboards/use-dashboards/#time-units-and-relative-ranges --- # Configure Grafana-managed alert rules @@ -56,7 +87,7 @@ To get started quickly, refer to our [tutorial on getting started with Grafana a Define a query to get the data you want to measure and a condition that needs to be met before an alert rule fires. 1. Select a data source. -1. From the **Options** dropdown, specify a [time range][time-units-and-relative-ranges]. +1. From the **Options** dropdown, specify a [time range](ref:time-units-and-relative-ranges). **Note:** @@ -66,11 +97,11 @@ Define a query to get the data you want to measure and a condition that needs to 1. Add a query. - To add multiple [queries][add-a-query], click **Add query**. + To add multiple [queries](ref:add-a-query), click **Add query**. All alert rules are managed by Grafana by default. If you want to switch to a data source-managed alert rule, click **Switch to data source-managed alert rule**. -1. Add one or more [expressions][expression-queries]. +1. Add one or more [expressions](ref:expression-queries). a. For each expression, select either **Classic condition** to create a single alert rule, or choose from the **Math**, **Reduce**, and **Resample** options to generate separate alert for each series. @@ -160,24 +191,24 @@ Complete the following steps to set up labels and notifications. ## Add annotations -Add [annotations][annotation-label]. to provide more context on the alert in your alert notification message. +Add [annotations](ref:annotation-label). to provide more context on the alert in your alert notification message. Annotations add metadata to provide more information on the alert in your alert notification message. For example, add a **Summary** annotation to tell you which value caused the alert to fire or which server it happened on. -1. [Optional] Add a summary. +1. Optional: Add a summary. Short summary of what happened and why. -1. [Optional] Add a description. +1. Optional: Add a description. Description of what the alert rule does. -1. [Optional] Add a Runbook URL. +1. Optional: Add a Runbook URL. Webpage where you keep your runbook for the alert -1. [Optional] Add a custom annotation -1. [Optional] Add a **dashboard and panel link**. +1. Optional: Add a custom annotation +1. Optional: Add a **dashboard and panel link**. Links alerts to panels in a dashboard. @@ -193,13 +224,13 @@ For Grafana managed alerts, you can create a rule with a classic condition or yo Use the classic condition expression to create a rule that triggers a single alert when its condition is met. For a query that returns multiple series, Grafana does not track the alert state of each series. As a result, Grafana sends only a single alert even when alert conditions are met for multiple series. -For more information, see [expressions documentation][expression-queries]. +For more information, see [expressions documentation](ref:expression-queries). **Multi-dimensional rule** To generate a separate alert for each series, create a multi-dimensional rule. Use `Math`, `Reduce`, or `Resample` expressions to create a multi-dimensional rule. For example: -- Add a `Reduce` expression for each query to aggregate values in the selected time range into a single value. (Not needed for [rules using numeric data][alerting-on-numeric-data]). +- Add a `Reduce` expression for each query to aggregate values in the selected time range into a single value. (Not needed for [rules using numeric data](ref:alerting-on-numeric-data)). - Add a `Math` expression with the condition for the rule. Not needed in case a query or a reduce expression already returns 0 if rule should not fire, or a positive number if it should fire. Some examples: `$B > 70` if it should fire in case value of B query/expression is more than 70. `$B < $C * 100` in case it should fire if value of B is less than value of C multiplied by 100. If queries being compared have multiple series in their results, series from different queries are matched if they have the same labels or one is a subset of the other. ![Query section multi dimensional](/static/img/docs/alerting/unified/rule-edit-multi-8-0.png 'Query section multi dimensional screenshot') @@ -243,23 +274,3 @@ Create alerts from any panel type. This means you can reuse the queries in the p 3. From the dropdown menu, select **More...** and then choose **New alert rule**. This will open the alert rule form, allowing you to configure and create your alert based on the current panel's query. - -{{% docs/reference %}} -[add-a-query]: "/docs/grafana/ -> /docs/grafana//panels-visualizations/query-transform-data#add-a-query" -[add-a-query]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data#add-a-query" - -[alerting-on-numeric-data]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/alert-rules/queries-conditions#alert-on-numeric-data" -[alerting-on-numeric-data]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions#alert-on-numeric-data" - -[annotation-label]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/alert-rules/annotation-label" -[annotation-label]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label" - -[expression-queries]: "/docs/grafana/ -> /docs/grafana//panels-visualizations/query-transform-data/expression-queries" -[expression-queries]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/expression-queries" - -[fundamentals]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals" -[fundamentals]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals" - -[time-units-and-relative-ranges]: "/docs/grafana/ -> /docs/grafana//dashboards/use-dashboards#time-units-and-relative-ranges" -[time-units-and-relative-ranges]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/use-dashboards#time-units-and-relative-ranges" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-recording-rule.md b/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-recording-rule.md index 494f92edda0..fdaffcd2e39 100644 --- a/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-recording-rule.md +++ b/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-recording-rule.md @@ -18,6 +18,15 @@ labels: - oss title: Create recording rules weight: 300 +refs: + configure-grafana: + - pattern: /docs/ + destination: /docs/grafana//setup-grafana/configure-grafana/ + annotation-label: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/alert-rules/annotation-label/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/ --- # Create recording rules @@ -31,7 +40,7 @@ For more information on recording rules in Prometheus, refer to [Defining record Recording rules are run as instant rules, which means that they run every 10s. To overwrite this configuration, update the min_interval in your custom configuration file. -[min_interval][configure-grafana] sets the minimum interval to enforce between rule evaluations. The default value is 10s which equals the scheduler interval. Rules will be adjusted if they are less than this value or if they are not multiple of the scheduler interval (10s). Higher values can help with resource management as fewer evaluations are scheduled over time. +[min_interval](ref:configure-grafana) sets the minimum interval to enforce between rule evaluations. The default value is 10s which equals the scheduler interval. Rules will be adjusted if they are less than this value or if they are not multiple of the scheduler interval (10s). Higher values can help with resource management as fewer evaluations are scheduled over time. This setting has precedence over each individual rule frequency. If a rule frequency is lower than this value, then this value is enforced. @@ -67,10 +76,3 @@ To create recording rules, follow these steps. 1. Add labels. - Add custom labels selecting existing key-value pairs from the drop down, or add new labels by entering the new key or value . 1. Click **Save rule** to save the rule or **Save rule and exit** to save the rule and go back to the Alerting page. - -{{% docs/reference %}} -[annotation-label]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/alert-rules/annotation-label" -[annotation-label]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label" - -[configure-grafana]: "/docs/ -> /docs/grafana//setup-grafana/configure-grafana" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-rule.md b/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-rule.md index e7f9436eca5..3876ff4d76a 100644 --- a/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-rule.md +++ b/docs/sources/alerting/alerting-rules/create-mimir-loki-managed-rule.md @@ -18,6 +18,17 @@ labels: - oss title: Configure data source-managed alert rules weight: 200 +refs: + alerting: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/ + annotation-label: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/alert-rules/annotation-label/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/ --- # Configure data source-managed alert rules @@ -102,35 +113,27 @@ All alert rules and instances, irrespective of their labels, match the default n ## Add annotations -Add [annotations][annotation-label]. to provide more context on the alert in your alert notifications. +Add [annotations](ref:annotation-label). to provide more context on the alert in your alert notifications. Annotations add metadata to provide more information on the alert in your alert notifications. For example, add a **Summary** annotation to tell you which value caused the alert to fire or which server it happened on. -1. [Optional] Add a summary. +1. Optional: Add a summary. Short summary of what happened and why. -1. [Optional] Add a description. +1. Optional: Add a description. Description of what the alert rule does. -1. [Optional] Add a Runbook URL. +1. Optional: Add a Runbook URL. Webpage where you keep your runbook for the alert -1. [Optional] Add a custom annotation -1. [Optional] Add a **dashboard and panel link**. +1. Optional: Add a custom annotation +1. Optional: Add a **dashboard and panel link**. Links alerts to panels in a dashboard. {{< docs/play title="visualizations with linked alerts in Grafana" url="https://play.grafana.org/d/000000074/" >}} 1. Click **Save rule**. - -{{% docs/reference %}} -[alerting]: "/docs/grafana/ -> /docs/grafana//alerting" -[alerting]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting" - -[annotation-label]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/alert-rules/annotation-label" -[annotation-label]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/alerting-rules/templating-labels-annotations.md b/docs/sources/alerting/alerting-rules/templating-labels-annotations.md index 5177d6dad6f..54aee887bd3 100644 --- a/docs/sources/alerting/alerting-rules/templating-labels-annotations.md +++ b/docs/sources/alerting/alerting-rules/templating-labels-annotations.md @@ -16,6 +16,10 @@ labels: - oss title: Template labels and annotations weight: 500 +refs: + explore: + - pattern: /docs/ + destination: /docs/grafana//explore/ --- # Template labels and annotations @@ -294,7 +298,7 @@ https://example.com/grafana ### graphLink -The `graphLink` function returns the path to the graphical view in [Explore][explore] for the given expression and data source: +The `graphLink` function returns the path to the graphical view in [Explore](ref:explore) for the given expression and data source: ``` {{ graphLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }} @@ -390,7 +394,7 @@ The `pathPrefix` function returns the path of the Grafana server as configured i ### tableLink -The `tableLink` function returns the path to the tabular view in [Explore][explore] for the given expression and data source: +The `tableLink` function returns the path to the tabular view in [Explore](ref:explore) for the given expression and data source: ``` {{ tableLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }} @@ -447,7 +451,3 @@ The `reReplaceAll` function replaces text matching the regular expression: ``` example.com:8080 ``` - -{{% docs/reference %}} -[explore]: "/docs/ -> /docs/grafana//explore" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/configure-notifications/create-notification-policy.md b/docs/sources/alerting/configure-notifications/create-notification-policy.md index bcd9d8a8064..b256d02eb64 100644 --- a/docs/sources/alerting/configure-notifications/create-notification-policy.md +++ b/docs/sources/alerting/configure-notifications/create-notification-policy.md @@ -19,6 +19,12 @@ labels: - oss title: Configure notification policies weight: 420 +refs: + notification-policies: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/notifications/notification-policies/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies/ --- # Configure notification policies @@ -33,7 +39,7 @@ If the **Continue matching subsequent sibling nodes** option is enabled for a ne You can configure Grafana-managed notification policies as well as notification policies for an external Alertmanager data source. -For more information on notification policies, see [fundamentals of Notification Policies][notification-policies]. +For more information on notification policies, see [fundamentals of Notification Policies](ref:notification-policies). ## Edit default notification policy @@ -106,8 +112,3 @@ An example of an alert configuration. - Create specific route for alerts coming from the development cluster with an appropriate contact point. - Create a specific route for alerts with "critical" severity with a more invasive contact point integration, like pager duty notification. - Create specific routes for particular teams that handle their own on-call rotations. - -{{% docs/reference %}} -[notification-policies]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/notifications/notification-policies" -[notification-policies]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/configure-notifications/manage-contact-points/_index.md b/docs/sources/alerting/configure-notifications/manage-contact-points/_index.md index 1243b149f7b..437442c76cd 100644 --- a/docs/sources/alerting/configure-notifications/manage-contact-points/_index.md +++ b/docs/sources/alerting/configure-notifications/manage-contact-points/_index.md @@ -25,6 +25,27 @@ labels: - oss title: Configure contact points weight: 410 +refs: + webhook: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier/ + slack: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/manage-contact-points/integrations/configure-slack/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-slack/ + oncall: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/manage-contact-points/integrations/configure-oncall/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-oncall/ + pagerduty: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/manage-contact-points/integrations/pager-duty/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/pager-duty/ --- # Configure contact points @@ -106,46 +127,25 @@ Once configured, you can use integrations as part of your contact points to rece ## List of supported integrations -| Name | Type | -| ------------------------ | ------------------------- | -| DingDing | `dingding` | -| Discord | `discord` | -| [Email][email] | `email` | -| Google Chat | `googlechat` | -| [Grafana Oncall][oncall] | `oncall` | -| Hipchat | `hipchat` | -| Kafka | `kafka` | -| Line | `line` | -| Microsoft Teams | `teams` | -| Opsgenie | `opsgenie` | -| [Pagerduty][pagerduty] | `pagerduty` | -| Prometheus Alertmanager | `prometheus-alertmanager` | -| Pushover | `pushover` | -| Sensu | `sensu` | -| Sensu Go | `sensugo` | -| [Slack][slack] | `slack` | -| [Telegram][telegram] | `telegram` | -| Threema | `threema` | -| VictorOps | `victorops` | -| [Webhook][webhook] | `webhook` | - -{{% docs/reference %}} - -[email]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/manage-contact-points/integrations/configure-email" -[email]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-email" - -[oncall]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/manage-contact-points/integrations/configure-oncall" -[oncall]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-oncall" - -[pagerduty]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/manage-contact-points/integrations/pager-duty" -[pagerduty]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/pager-duty" - -[slack]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/manage-contact-points/integrations/configure-slack" -[slack]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-slack" - -[telegram]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/manage-contact-points/integrations/configure-telegram" -[telegram]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-telegram" - -[webhook]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier" -[webhook]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier" -{{% /docs/reference %}} +| Name | Type | +| ---------------------------- | ------------------------- | +| DingDing | `dingding` | +| Discord | `discord` | +| Email | `email` | +| Google Chat | `googlechat` | +| [Grafana Oncall](ref:oncall) | `oncall` | +| Hipchat | `hipchat` | +| Kafka | `kafka` | +| Line | `line` | +| Microsoft Teams | `teams` | +| Opsgenie | `opsgenie` | +| [Pagerduty](ref:pagerduty) | `pagerduty` | +| Prometheus Alertmanager | `prometheus-alertmanager` | +| Pushover | `pushover` | +| Sensu | `sensu` | +| Sensu Go | `sensugo` | +| [Slack](ref:slack) | `slack` | +| Telegram | `telegram` | +| Threema | `threema` | +| VictorOps | `victorops` | +| [Webhook](ref:webhook) | `webhook` | diff --git a/docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-oncall.md b/docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-oncall.md index e55761ad318..f1aa765818f 100644 --- a/docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-oncall.md +++ b/docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-oncall.md @@ -19,13 +19,29 @@ labels: menuTitle: Grafana OnCall title: Configure Grafana OnCall for Alerting weight: 300 +refs: + oncall-integration: + - pattern: /docs/grafana/ + destination: /docs/oncall/latest/integrations/grafana-alerting/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/oncall/integrations/grafana-alerting/ + escalation-chain: + - pattern: /docs/grafana/ + destination: /docs/oncall/latest/configure/escalation-chains-and-routes/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/oncall/configure/escalation-chains-and-routes/ + create-notification-policy: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/create-notification-policy/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-notification-policy/ --- ## Configure Grafana OnCall for Alerting Use the Grafana Alerting - Grafana OnCall integration to effortlessly connect alerts generated by Grafana Alerting with Grafana OnCall, where you can then route them according to defined escalation chains and schedules. -You can set up the integration using the Grafana Alerting application or the Grafana OnCall application. For more information on setting it up from the Grafana OnCall application, see [Grafana OnCall documentation][oncall-integration]. +You can set up the integration using the Grafana Alerting application or the Grafana OnCall application. For more information on setting it up from the Grafana OnCall application, see [Grafana OnCall documentation](ref:oncall-integration). ### Before you begin @@ -59,19 +75,8 @@ To set up the Grafana OnCall integration using the Grafana Alerting application, 1. Connect your contact point to a notification policy. For more information on connecting your contact point to a notification policy, see - [Create notification policy][create-notification-policy]. + [Create notification policy](ref:create-notification-policy). 1. To view your integration in the Grafana OnCall application and set up routes and escalation chains, click the Link next to the integration on the Contact points list view page in the **Type** column. - This redirects you to the Grafana OnCall integration page in the Grafana OnCall application. From there, you can add [routes and escalation chains][escalation-chain]. - -{{% docs/reference %}} -[create-notification-policy]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/create-notification-policy" -[create-notification-policy]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-notification-policy" - -[oncall-integration]: "/docs/grafana/ -> /docs/oncall/latest/integrations/grafana-alerting" -[oncall-integration]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/grafana-alerting" - -[escalation-chain]: "/docs/grafana/ -> /docs/oncall/latest/configure/escalation-chains-and-routes" -[escalation-chain]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/escalation-chains-and-routes" -{{% /docs/reference %}} + This redirects you to the Grafana OnCall integration page in the Grafana OnCall application. From there, you can add [routes and escalation chains](ref:escalation-chain). diff --git a/docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md b/docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md index e80048d0e53..e1347852d8e 100644 --- a/docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md +++ b/docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md @@ -14,6 +14,12 @@ labels: menuTitle: Slack title: Configure Slack for Alerting weight: 300 +refs: + nested-policy: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/create-notification-policy/#add-new-nested-policy + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-notification-policy/#add-new-nested-policy --- # Configure Slack for Alerting @@ -84,10 +90,4 @@ To add the contact point and integration you created to your default notificatio 1. Click **Update default policy**. **Note:** -If you have more than one contact point, add a new notification policy rather than edit the default one, so you can route specific alerts to Slack. For more information, refer to [Notification policies][nested-policy]. - -{{% docs/reference %}} -[nested-policy]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/create-notification-policy#add-new-nested-policy" - -[nested-policy]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-notification-policy#add-new-nested-policy" -{{% /docs/reference %}} +If you have more than one contact point, add a new notification policy rather than edit the default one, so you can route specific alerts to Slack. For more information, refer to [Notification policies](ref:nested-policy). diff --git a/docs/sources/alerting/configure-notifications/mute-timings.md b/docs/sources/alerting/configure-notifications/mute-timings.md index 9e2efeef2b8..7eb95d0a1ad 100644 --- a/docs/sources/alerting/configure-notifications/mute-timings.md +++ b/docs/sources/alerting/configure-notifications/mute-timings.md @@ -19,6 +19,17 @@ labels: - oss title: Configure mute timings weight: 450 +refs: + datasources/alertmanager: + - pattern: /docs/grafana/ + destination: /docs/grafana//datasources/alertmanager/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/connect-externally-hosted/data-sources/alertmanager/ + intro-alertmanager: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/notifications/alertmanager/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/alertmanager/ --- # Configure mute timings @@ -27,7 +38,7 @@ A mute timing is a recurring interval of time when no new notifications for a po Similar to silences, mute timings do not prevent alert rules from being evaluated, nor do they stop alert instances from being shown in the user interface. They only prevent notifications from being created. -You can configure Grafana managed mute timings as well as mute timings for an [external Alertmanager data source][datasources/alertmanager]. For more information, refer to [Alertmanager documentation][intro-alertmanager]. +You can configure Grafana managed mute timings as well as mute timings for an [external Alertmanager data source](ref:datasources/alertmanager). For more information, refer to [Alertmanager documentation](ref:intro-alertmanager). ## Mute timings vs silences @@ -80,11 +91,3 @@ If you want to specify an exact duration, specify all the options. For example, - Days of the week: `monday` - Months: `3, 6, 9, 12` - Days of the month: `1:7` - -{{% docs/reference %}} -[datasources/alertmanager]: "/docs/grafana/ -> /docs/grafana//datasources/alertmanager" -[datasources/alertmanager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/connect-externally-hosted/data-sources/alertmanager" - -[intro-alertmanager]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/notifications/alertmanager" -[intro-alertmanager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/alertmanager" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/configure-notifications/template-notifications/_index.md b/docs/sources/alerting/configure-notifications/template-notifications/_index.md index e4bcf9448de..d614dfc60fe 100644 --- a/docs/sources/alerting/configure-notifications/template-notifications/_index.md +++ b/docs/sources/alerting/configure-notifications/template-notifications/_index.md @@ -15,6 +15,22 @@ labels: - oss title: Configure notification messages weight: 430 +refs: + reference: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/template-notifications/reference/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/reference/ + use-notification-templates: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/template-notifications/use-notification-templates/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/use-notification-templates/ + using-go-templating-language: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/template-notifications/using-go-templating-language/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/using-go-templating-language/ --- # Configure notification messages @@ -36,27 +52,16 @@ However, there are limitations. You cannot: ## Learn more -[Using Go's templating language][using-go-templating-language] +[Using Go's templating language](ref:using-go-templating-language) Learn how to write the content of your notification templates in Go’s templating language. Create reusable notification templates for your contact points. -[Use notification templates][use-notification-templates] +[Use notification templates](ref:use-notification-templates) Use notification templates to send notifications to your contact points. -[Reference][reference] +[Reference](ref:reference) Data that is available when writing templates. - -{{% docs/reference %}} -[reference]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/template-notifications/reference" -[reference]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/reference" - -[use-notification-templates]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/template-notifications/use-notification-templates" -[use-notification-templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/use-notification-templates" - -[using-go-templating-language]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/template-notifications/using-go-templating-language" -[using-go-templating-language]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/using-go-templating-language" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/configure-notifications/template-notifications/create-notification-templates.md b/docs/sources/alerting/configure-notifications/template-notifications/create-notification-templates.md index 19f7f3a4659..42c39fcda40 100644 --- a/docs/sources/alerting/configure-notifications/template-notifications/create-notification-templates.md +++ b/docs/sources/alerting/configure-notifications/template-notifications/create-notification-templates.md @@ -65,7 +65,7 @@ To preview your notification templates: Default data is provided and you can add or edit alert data to it as well as alert instances. You can add alert data directly in the Payload data window itself or click **Select alert instances** or **Add custom alerts**. -1. [Optional] To add alert data from existing alert instances: +1. Optional: To add alert data from existing alert instances: a. Click **Select alert instances**. @@ -73,7 +73,7 @@ To preview your notification templates: c. Click **Confirm** to add the alert instance(s) to the payload. -1. [Optional] To add alert data using the Alert data editor, click **Add custom data:** +1. Optional: To add alert data using the Alert data editor, click **Add custom data:** a. Add annotations, custom labels and/or set a dashboard or a panel. diff --git a/docs/sources/alerting/configure-notifications/template-notifications/use-notification-templates.md b/docs/sources/alerting/configure-notifications/template-notifications/use-notification-templates.md index 6dcc4ac35ff..dd1c11d302b 100644 --- a/docs/sources/alerting/configure-notifications/template-notifications/use-notification-templates.md +++ b/docs/sources/alerting/configure-notifications/template-notifications/use-notification-templates.md @@ -16,6 +16,17 @@ labels: - oss title: Use notification templates weight: 300 +refs: + create-notification-templates: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/template-notifications/create-notification-templates/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/create-notification-templates/ + using-go-templating-language: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/template-notifications/using-go-templating-language/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/using-go-templating-language/ --- # Use notification templates @@ -32,14 +43,6 @@ In the Contact points tab, you can see a list of your contact points. {{< figure max-width="940px" src="/static/img/docs/alerting/unified/use-notification-template-9-4.png" caption="Use notification template" >}} - For more information on how to write and execute templates, refer to [Using Go's templating language][using-go-templating-language] and [Create notification templates][create-notification-templates]. + For more information on how to write and execute templates, refer to [Using Go's templating language](ref:using-go-templating-language) and [Create notification templates](ref:create-notification-templates). 1. Click **Save contact point**. - -{{% docs/reference %}} -[create-notification-templates]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/template-notifications/create-notification-templates" -[create-notification-templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/create-notification-templates" - -[using-go-templating-language]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/template-notifications/using-go-templating-language" -[using-go-templating-language]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/using-go-templating-language" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/configure-notifications/template-notifications/using-go-templating-language.md b/docs/sources/alerting/configure-notifications/template-notifications/using-go-templating-language.md index 8bb0bad2c3e..2179e6d5381 100644 --- a/docs/sources/alerting/configure-notifications/template-notifications/using-go-templating-language.md +++ b/docs/sources/alerting/configure-notifications/template-notifications/using-go-templating-language.md @@ -16,6 +16,22 @@ labels: - oss title: Using Go's templating language weight: 100 +refs: + reference: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/template-notifications/reference/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/reference/ + extendeddata: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/template-notifications/reference/#extendeddata + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/reference/#extendeddata + create-notification-templates: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/template-notifications/create-notification-templates/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/create-notification-templates/ --- # Using Go's templating language @@ -26,7 +42,7 @@ Before you start creating your own notification templates, we recommend that you ## Dot -In text/template there is a special cursor called dot, and is written as `.`. You can think of this cursor as a variable whose value changes depending where in the template it is used. For example, at the start of a notification template `.` refers to something called [`ExtendedData`][extendeddata] which contains a number of fields including `Alerts`, `Status`, `GroupLabels`, `CommonLabels`, `CommonAnnotations` and `ExternalURL`. However, dot might refer to something else when used in a range over a list, when used inside a `with`, or when writing feature templates to be used in other templates. You can see examples of this in [Create notification templates][create-notification-templates], and all data and functions in the [Reference][reference]. +In text/template there is a special cursor called dot, and is written as `.`. You can think of this cursor as a variable whose value changes depending where in the template it is used. For example, at the start of a notification template `.` refers to something called [`ExtendedData`](ref:extendeddata) which contains a number of fields including `Alerts`, `Status`, `GroupLabels`, `CommonLabels`, `CommonAnnotations` and `ExternalURL`. However, dot might refer to something else when used in a range over a list, when used inside a `with`, or when writing feature templates to be used in other templates. You can see examples of this in [Create notification templates](ref:create-notification-templates), and all data and functions in the [Reference](ref:reference). ## Opening and closing tags @@ -280,14 +296,3 @@ The indentation and line breaks in the template are now absent from the text: alertname = "Test" grafana_folder = "Test alerts" ``` - -{{% docs/reference %}} -[create-notification-templates]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/template-notifications/create-notification-templates" -[create-notification-templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/create-notification-templates" - -[extendeddata]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/template-notifications/reference#extendeddata" -[extendeddata]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/reference#extendeddata" - -[reference]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/template-notifications/reference" -[reference]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/reference" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/fundamentals/_index.md b/docs/sources/alerting/fundamentals/_index.md index 439930e8113..8c95fbcb3d6 100644 --- a/docs/sources/alerting/fundamentals/_index.md +++ b/docs/sources/alerting/fundamentals/_index.md @@ -12,6 +12,47 @@ labels: menuTitle: Introduction title: Introduction to Alerting weight: 100 +refs: + alert-rules: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/alert-rules/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/ + mute-timings: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/mute-timings/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/mute-timings/ + external-alertmanagers: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/configure-alertmanager/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager/ + notification-policies: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/notifications/notification-policies/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies/ + silences: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/create-silence/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-silence/ + alert-rule-evaluation: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/alert-rules/rule-evaluation/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/rule-evaluation/ + alertmanager: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/notifications/alertmanager/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/alertmanager/ + contact-points: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/notifications/contact-points/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/contact-points/ --- # Introduction to Alerting @@ -35,7 +76,7 @@ The following concepts are key to your understanding of how Grafana Alerting wor ### Alert rules -An [alert rule][alert-rules] consists of one or more queries and expressions that select the data you want to measure. It also contains a condition, which is the threshold that an alert rule must meet or exceed in order to fire. +An [alert rule](ref:alert-rules) consists of one or more queries and expressions that select the data you want to measure. It also contains a condition, which is the threshold that an alert rule must meet or exceed in order to fire. Add labels to uniquely identify your alert rule and configure alert routing. Labels link alert rules to notification policies, so you can easily manage which policy should handle which alerts and who gets notified. @@ -55,11 +96,11 @@ A rule using the PromQL expression above creates as many alert instances as the {{< figure src="/static/img/docs/alerting/unified/multi-dimensional-alert.png" caption="Multiple alert instances from a single alert rule" >}} -[Alert rules are frequently evaluated][alert-rule-evaluation] and the state of their alert instances is updated accordingly. Only alert instances that are in a firing or resolved state are routed to notification policies to be handled. +[Alert rules are frequently evaluated](ref:alert-rule-evaluation) and the state of their alert instances is updated accordingly. Only alert instances that are in a firing or resolved state are routed to notification policies to be handled. ### Notification policies -[Notification policies][notification-policies] group alerts and then route them to contact points. They determine when notifications are sent, and how often notifications should be repeated. +[Notification policies](ref:notification-policies) group alerts and then route them to contact points. They determine when notifications are sent, and how often notifications should be repeated. Alert instances are matched to notification policies using label matchers. This provides a flexible way to organize and route alerts to different receivers. @@ -69,13 +110,13 @@ Each policy consists of a set of label matchers (0 or more) that specify which a ### Contact points -[Contact points][contact-points] determine where notifications are sent. For example, you might have a contact point that sends notifications to an email address, to Slack, to an incident management system (IRM) such as Grafana OnCall or Pagerduty, or to a webhook. +[Contact points](ref:contact-points) determine where notifications are sent. For example, you might have a contact point that sends notifications to an email address, to Slack, to an incident management system (IRM) such as Grafana OnCall or Pagerduty, or to a webhook. Notifications sent from contact points are customizable with notification templates, which can be shared between contact points. ### Silences and mute timings -[Silences][silences] and [mute timings][mute-timings] allow you to pause notifications for specific alerts or even entire notification policies. Use a silence to pause notifications on an ad-hoc basis, such as during a maintenance window; and use mute timings to pause notifications at regular intervals, such as evenings and weekends. +[Silences](ref:silences) and [mute timings](ref:mute-timings) allow you to pause notifications for specific alerts or even entire notification policies. Use a silence to pause notifications on an ad-hoc basis, such as during a maintenance window; and use mute timings to pause notifications at regular intervals, such as evenings and weekends. ### Architecture @@ -88,7 +129,7 @@ Prometheus-based alerting systems have two main components: Grafana doesn’t use Prometheus as its default alert generator because Grafana Alerting needs to work with many other data sources in addition to Prometheus. -However, Grafana can also use Prometheus as an alert generator as well as external Alertmanagers. For more information about how to use distinct alerting systems, refer to the [Grafana alert rule types][alert-rules]. +However, Grafana can also use Prometheus as an alert generator as well as external Alertmanagers. For more information about how to use distinct alerting systems, refer to the [Grafana alert rule types](ref:alert-rules). ## Design your Alerting system @@ -121,29 +162,3 @@ Here are some tips on how to create an effective alert management set up for you - Continually tune your alert rules to review effectiveness. Remove alert rules to avoid duplication or ineffective alerts. - Think carefully about priority and severity levels. - Continually review your thresholds and evaluation rules. - -{{% docs/reference %}} - -[alert-rules]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/alert-rules" -[alert-rules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules" - -[contact-points]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/notifications/contact-points" -[contact-points]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/contact-points" - -[silences]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/create-silence" -[silences]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-silence" - -[mute-timings]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/mute-timings" -[mute-timings]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/mute-timings" - -[alertmanager]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/notifications/alertmanager" -[alertmanager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/alertmanager" - -[alert-rule-evaluation]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/alert-rules/rule-evaluation" -[alert-rule-evaluation]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/rule-evaluation" - -[external-alertmanagers]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/configure-alertmanager" -[external-alertmanagers]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager" -[notification-policies]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/notifications/notification-policies" -[notification-policies]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/fundamentals/alert-rules/_index.md b/docs/sources/alerting/fundamentals/alert-rules/_index.md index d6df62acf45..2fdc21eaf6c 100644 --- a/docs/sources/alerting/fundamentals/alert-rules/_index.md +++ b/docs/sources/alerting/fundamentals/alert-rules/_index.md @@ -17,6 +17,40 @@ labels: - oss title: Alert rules weight: 100 +refs: + alert-rule-evaluation: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/alert-rules/rule-evaluation/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/rule-evaluation/ + recorded-queries: + - pattern: /docs/ + destination: /docs/grafana//administration/recorded-queries/ + queries-and-conditions: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/alert-rules/queries-conditions/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions/ + notification-images: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/template-notifications/images-in-notifications/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/images-in-notifications/ + create-recording-rules: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/alerting-rules/create-mimir-loki-managed-recording-rule/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/create-mimir-loki-managed-recording-rule/ + expression-queries: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/alert-rules/queries-conditions/#expression-queries + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions/#expression-queries + alert-manager: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/notifications/alertmanager/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/alertmanager/ --- # Alert rules @@ -25,7 +59,7 @@ An alert rule is a set of evaluation criteria for when an alert rule should fire - Queries and expressions that select the data set to evaluate. - A condition (the threshold) that the query must meet or exceed to trigger the alert instance. -- An interval that specifies the frequency of [alert rule evaluation][alert-rule-evaluation] and a duration indicating how long the condition must be met to trigger the alert instance. +- An interval that specifies the frequency of [alert rule evaluation](ref:alert-rule-evaluation) and a duration indicating how long the condition must be met to trigger the alert instance. - Other customizable options, for example, setting what should happen in the absence of data, notification messages, and more. Grafana supports two different alert rule types: Grafana-managed alert rules and data source-managed alert rules. @@ -34,7 +68,7 @@ Grafana supports two different alert rule types: Grafana-managed alert rules and Grafana-managed alert rules are the most flexible alert rule type. They allow you to create alerts that can act on data from any of our [supported data sources](#supported-data-sources), and use multiple data sources in a single alert rule. -Additionally, you can also add [expressions to transform your data][expression-queries], set custom alert conditions, and include [images in alert notifications][notification-images]. +Additionally, you can also add [expressions to transform your data](ref:expression-queries), set custom alert conditions, and include [images in alert notifications](ref:notification-images). {{< figure src="/media/docs/alerting/grafana-managed-alerting-architecture.png" max-width="750px" caption="How Grafana-managed alerting works by default" >}} @@ -42,7 +76,7 @@ Additionally, you can also add [expressions to transform your data][expression-q 1. Alert rules are evaluated by the Alert Rule Evaluation Engine from within Grafana. -1. Firing and resolved alert instances are delivered to the internal Grafana [Alertmanager][alert-manager] which handles notifications. +1. Firing and resolved alert instances are delivered to the internal Grafana [Alertmanager](ref:alert-manager) which handles notifications. ### Supported data sources @@ -64,15 +98,15 @@ They are only supported for Prometheus-based or Loki data sources with the Ruler 1. Alert rules are created and stored within the data source itself. 1. Alert rules can only query Prometheus-based data. It can use either queries or [recording rules](#recording-rules). 1. Alert rules are evaluated by the Alert Rule Evaluation Engine. -1. Firing and resolved alert instances are delivered to the configured [Alertmanager][alert-manager] which handles notifications. +1. Firing and resolved alert instances are delivered to the configured [Alertmanager](ref:alert-manager) which handles notifications. ### Recording rules A recording rule allows you to pre-compute frequently needed or computationally expensive expressions and save their result as a new set of time series. This is useful if you want to run alerts on aggregated data or if you have dashboards that query computationally expensive expressions repeatedly. -Querying this new time series is faster, especially for dashboards since they query the same expression every time the dashboards refresh. For more information, refer to [Create recording rules][create-recording-rules]. +Querying this new time series is faster, especially for dashboards since they query the same expression every time the dashboards refresh. For more information, refer to [Create recording rules](ref:create-recording-rules). -Alternatively, Grafana Enterprise and Grafana Cloud offer [recorded queries][recorded-queries] that can be executed against any data source. +Alternatively, Grafana Enterprise and Grafana Cloud offer [recorded queries](ref:recorded-queries) that can be executed against any data source. ## Comparison between alert rule types @@ -87,27 +121,3 @@ When choosing which alert rule type to use, consider the following comparison be | Use images in alert notifications | Yes | No | | Scaling | More resource intensive, depend on the database, and are likely to suffer from transient errors. They only scale vertically. | Store alert rules within the data source itself and allow for “infinite” scaling. Generate and send alert notifications from the location of your data. | | Alert rule evaluation and delivery | Alert rule evaluation and delivery is done from within Grafana, using an external Alertmanager; or both. | Alert rule evaluation and alert delivery is distributed, meaning there is no single point of failure. | - -{{% docs/reference %}} - -[alert-manager]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/notifications/alertmanager" -[alert-manager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/alertmanager" - -[create-recording-rules]: "/docs/grafana/ -> /docs/grafana//alerting/alerting-rules/create-mimir-loki-managed-recording-rule" -[create-recording-rules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/create-mimir-loki-managed-recording-rule" - -[alert-rule-evaluation]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/alert-rules/rule-evaluation" -[alert-rule-evaluation]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/rule-evaluation" - -[expression-queries]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/alert-rules/queries-conditions#expression-queries" -[expression-queries]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions#expression-queries" - -[queries-and-conditions]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/alert-rules/queries-conditions" -[queries-and-conditions]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions" - -[notification-images]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/template-notifications/images-in-notifications" -[notification-images]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/images-in-notifications" - -[recorded-queries]: "/docs/ -> /docs/grafana//administration/recorded-queries" - -{{% /docs/reference %}} diff --git a/docs/sources/alerting/fundamentals/alert-rules/annotation-label.md b/docs/sources/alerting/fundamentals/alert-rules/annotation-label.md index 5317dd7b3b1..5ab17c524fd 100644 --- a/docs/sources/alerting/fundamentals/alert-rules/annotation-label.md +++ b/docs/sources/alerting/fundamentals/alert-rules/annotation-label.md @@ -20,6 +20,12 @@ labels: - oss title: Labels and annotations weight: 105 +refs: + variables-label-annotation: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/alerting-rules/templating-labels-annotations/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/templating-labels-annotations/ --- # Labels and annotations @@ -136,8 +142,3 @@ Labels prefixed with `grafana_` are reserved by Grafana for special use. To stop Both labels and annotations have the same structure: a set of named values; however their intended uses are different. The purpose of annotations is to add additional information to existing alerts. There are a number of suggested annotations in Grafana such as `description`, `summary`, `runbook_url`, `dashboardUId` and `panelId`. 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. - -{{% docs/reference %}} -[variables-label-annotation]: "/docs/grafana/ -> /docs/grafana//alerting/alerting-rules/templating-labels-annotations" -[variables-label-annotation]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/templating-labels-annotations" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/fundamentals/alert-rules/queries-conditions.md b/docs/sources/alerting/fundamentals/alert-rules/queries-conditions.md index 41e0f2d2101..64a8dcba12c 100644 --- a/docs/sources/alerting/fundamentals/alert-rules/queries-conditions.md +++ b/docs/sources/alerting/fundamentals/alert-rules/queries-conditions.md @@ -16,13 +16,24 @@ labels: - oss title: Queries and conditions weight: 104 +refs: + query-transform-data: + - pattern: /docs/grafana/ + destination: /docs/grafana//panels-visualizations/query-transform-data/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/ + data-source-alerting: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/alert-rules/#supported-data-sources + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/#supported-data-sources --- # Queries and conditions In Grafana, queries play a vital role in fetching and transforming data from supported data sources, which include databases like MySQL and PostgreSQL, time series databases like Prometheus, InfluxDB and Graphite, and services like Elasticsearch, AWS CloudWatch, Azure Monitor and Google Cloud Monitoring. -For more information on supported data sources, see [Data sources][data-source-alerting]. +For more information on supported data sources, see [Data sources](ref:data-source-alerting). The process of executing a query involves defining the data source, specifying the desired data to retrieve, and applying relevant filters or transformations. Query languages or syntaxes specific to the chosen data source are utilized for constructing these queries. @@ -30,7 +41,7 @@ In Alerting, you define a query to get the data you want to measure and a condit An alert rule consists of one or more queries and expressions that select the data you want to measure. -For more information on queries and expressions, see [Query and transform data][query-transform-data]. +For more information on queries and expressions, see [Query and transform data](ref:query-transform-data). ## Data source queries @@ -211,11 +222,3 @@ When this query is used as the **condition** in an alert rule, then the non-zero | {Host=web1,disk=/etc} | Alerting | | {Host=web2,disk=/var} | Alerting | | {Host=web3,disk=/var} | Normal | - -{{% docs/reference %}} -[data-source-alerting]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/alert-rules#supported-data-sources" -[data-source-alerting]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules#supported-data-sources" - -[query-transform-data]: "/docs/grafana/ -> /docs/grafana//panels-visualizations/query-transform-data" -[query-transform-data]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/fundamentals/alert-rules/rule-evaluation.md b/docs/sources/alerting/fundamentals/alert-rules/rule-evaluation.md index a34a508601c..39f2ccfa20d 100644 --- a/docs/sources/alerting/fundamentals/alert-rules/rule-evaluation.md +++ b/docs/sources/alerting/fundamentals/alert-rules/rule-evaluation.md @@ -44,16 +44,16 @@ Imagine you have an alert rule evaluation interval set at every 30 seconds and t Evaluation will occur as follows: -[00:30] First evaluation - condition not met. +[00:30][] First evaluation - condition not met. -[01:00] Second evaluation - condition breached. +[01:00][] Second evaluation - condition breached. Pending counter starts. **Alert starts pending.** -[01:30] Third evaluation - condition breached. Pending counter = 30s. **Pending state.** +[01:30][] Third evaluation - condition breached. Pending counter = 30s. **Pending state.** -[02:00] Fourth evaluation - condition breached. Pending counter = 60s **Pending state.** +[02:00][] Fourth evaluation - condition breached. Pending counter = 60s **Pending state.** -[02:30] Fifth evaluation - condition breached. Pending counter = 90s. **Alert starts firing** +[02:30][] Fifth evaluation - condition breached. Pending counter = 90s. **Alert starts firing** If the alert rule has a condition that needs to be in breach for a certain amount of time before it takes action, then its state changes as follows: diff --git a/docs/sources/alerting/fundamentals/notifications/alertmanager.md b/docs/sources/alerting/fundamentals/notifications/alertmanager.md index a7a55219947..6e23a8b44d3 100644 --- a/docs/sources/alerting/fundamentals/notifications/alertmanager.md +++ b/docs/sources/alerting/fundamentals/notifications/alertmanager.md @@ -12,6 +12,12 @@ labels: - oss title: Alertmanager weight: 111 +refs: + configure-alertmanager: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/configure-alertmanager/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager/ --- # Alertmanager @@ -34,13 +40,8 @@ In Grafana, you can use the Cloud Alertmanager, Grafana Alertmanager, or an exte - **External Alertmanager** can receive all your Grafana, Loki, Mimir, and Prometheus alerts. External Alertmanagers can be configured and administered from within Grafana itself. -Here are two examples of when you may want to [add your own external alertmanager][configure-alertmanager] and send your alerts there instead of the Grafana Alertmanager: +Here are two examples of when you may want to [add your own external alertmanager](ref:configure-alertmanager) and send your alerts there instead of the Grafana Alertmanager: 1. 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. 2. You want to use both Prometheus on-premises and hosted Grafana to send alerts to the same Alertmanager that runs in your Cloud infrastructure. - -{{% docs/reference %}} -[configure-alertmanager]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/configure-alertmanager" -[configure-alertmanager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/fundamentals/notifications/notification-policies.md b/docs/sources/alerting/fundamentals/notifications/notification-policies.md index 1e4d1d2dcf6..9db6844bedb 100644 --- a/docs/sources/alerting/fundamentals/notifications/notification-policies.md +++ b/docs/sources/alerting/fundamentals/notifications/notification-policies.md @@ -17,6 +17,12 @@ labels: - oss title: Notification policies weight: 113 +refs: + labels-and-label-matchers: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/alert-rules/annotation-label/#how-label-matching-works + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/#how-label-matching-works --- # Notification policies @@ -31,7 +37,7 @@ Notification policies are _not_ a list, but rather are structured according to a Each policy consists of a set of label matchers (0 or more) that specify which labels they are or aren't interested in handling. -For more information on label matching, see [how label matching works][labels-and-label-matchers]. +For more information on label matching, see [how label matching works](ref:labels-and-label-matchers). {{% admonition type="note" %}} If you haven't configured any label matchers for your notification policy, your notification policy will match _all_ alert instances. This may prevent child policies from being evaluated unless you have enabled **Continue matching siblings** on the notification policy. @@ -129,8 +135,3 @@ Once the first notification has been sent for a new group of alerts, Grafana sta Repeat interval decides how often notifications are repeated if the group has not changed since the last notification. You can think of these as reminders that some alerts are still firing. Repeat interval is closely related to Group interval, which means your Repeat interval must not only be greater than or equal to Group interval, but also must be a multiple of Group interval. If Repeat interval is not a multiple of Group interval it will be coerced into one. For example, if your Group interval is 5 minutes, and your Repeat interval is 9 minutes, the Repeat interval will be rounded up to the nearest multiple of 5 which is 10 minutes. **Default** 4 hours - -{{% docs/reference %}} -[labels-and-label-matchers]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/alert-rules/annotation-label#how-label-matching-works" -[labels-and-label-matchers]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label#how-label-matching-works" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/monitor/_index.md b/docs/sources/alerting/monitor/_index.md index 577910d5690..104d4e03046 100644 --- a/docs/sources/alerting/monitor/_index.md +++ b/docs/sources/alerting/monitor/_index.md @@ -29,9 +29,9 @@ Identify which metrics are critical to your monitoring system (i.e. Grafana) and You can use meta-monitoring metrics to understand the health of your alerting system in the following ways: -1. [Optional] Create a dashboard in Grafana that uses this metric in a panel (just like you would for any other kind of metric). -2. [Optional] Create an alert rule in Grafana that checks this metric regularly (just like you would do for any other kind of alert rule). -3. [Optional] Use the Explore module in Grafana. +1. Optional: Create a dashboard in Grafana that uses this metric in a panel (just like you would for any other kind of metric). +2. Optional: Create an alert rule in Grafana that checks this metric regularly (just like you would do for any other kind of alert rule). +3. Optional: Use the Explore module in Grafana. ## Metrics for Grafana-managed alerts diff --git a/docs/sources/alerting/set-up/_index.md b/docs/sources/alerting/set-up/_index.md index a7890367ee4..fe60f3bce6e 100644 --- a/docs/sources/alerting/set-up/_index.md +++ b/docs/sources/alerting/set-up/_index.md @@ -9,6 +9,33 @@ labels: menuTitle: Set up title: Set up Alerting weight: 110 +refs: + terraform-provisioning: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/terraform-provisioning/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning/ + file-provisioning: + - pattern: /docs/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/file-provisioning/ + data-source-management: + - pattern: /docs/ + destination: /docs/grafana//administration/data-source-management/ + data-source-alerting: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/fundamentals/alert-rules/#supported-data-sources + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/#supported-data-sources + configure-alertmanager: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/configure-alertmanager/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager/ + configure-high-availability: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/configure-high-availability/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-high-availability/ --- # Set up Alerting @@ -21,8 +48,8 @@ These are set-up instructions for Grafana Alerting Open Source. ## Before you begin -- Configure your [data sources][data-source-management] -- Check which data sources are compatible with and supported by [Grafana Alerting][data-source-alerting] +- Configure your [data sources](ref:data-source-management) +- Check which data sources are compatible with and supported by [Grafana Alerting](ref:data-source-alerting) Watch this short video to get started, or follow the [written tutorial](http://grafana.com/tutorials/alerting-get-started/). @@ -40,17 +67,17 @@ To set up Alerting, you need to: - Check the default contact point and update the email address - - [Optional] Add new contact points and integrations + - Optional: Add new contact points and integrations 1. Configure notification policies - Check the default notification policy - - [Optional] Add additional nested policies + - Optional: Add additional nested policies - - [Optional] Add labels and label matchers to control alert routing + - Optional: Add labels and label matchers to control alert routing -1. [Optional] Integrate with [Grafana OnCall](/docs/oncall/latest/integrations/grafana-alerting) +1. Optional: Integrate with [Grafana OnCall](/docs/oncall/latest/integrations/grafana-alerting) ## Advanced set up options @@ -58,25 +85,7 @@ Grafana Alerting supports many additional configuration options, from configurin The following topics provide you with advanced configuration options for Grafana Alerting. -- [Provision alert rules using file provisioning][file-provisioning] -- [Provision alert rules using Terraform][terraform-provisioning] -- [Add an external Alertmanager][configure-alertmanager] -- [Configure high availability][configure-high-availability] - -{{% docs/reference %}} -[configure-alertmanager]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/configure-alertmanager" -[configure-alertmanager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager" - -[configure-high-availability]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/configure-high-availability" -[configure-high-availability]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-high-availability" - -[data-source-alerting]: "/docs/grafana/ -> /docs/grafana//alerting/fundamentals/alert-rules#supported-data-sources" -[data-source-alerting]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules#supported-data-sources" - -[data-source-management]: "/docs/ -> /docs/grafana//administration/data-source-management" - -[file-provisioning]: "/docs/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/file-provisioning" - -[terraform-provisioning]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/terraform-provisioning" -[terraform-provisioning]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning" -{{% /docs/reference %}} +- [Provision alert rules using file provisioning](ref:file-provisioning) +- [Provision alert rules using Terraform](ref:terraform-provisioning) +- [Add an external Alertmanager](ref:configure-alertmanager) +- [Configure high availability](ref:configure-high-availability) diff --git a/docs/sources/alerting/set-up/configure-high-availability/_index.md b/docs/sources/alerting/set-up/configure-high-availability/_index.md index 4992fbbe9eb..fb74989bd65 100644 --- a/docs/sources/alerting/set-up/configure-high-availability/_index.md +++ b/docs/sources/alerting/set-up/configure-high-availability/_index.md @@ -62,10 +62,10 @@ As an alternative to Memberlist, you can use Redis for high availability. This i database for HA and cannot support the meshing of all Grafana servers. 1. Make sure you have a redis server that supports pub/sub. If you use a proxy in front of your redis cluster, make sure the proxy supports pub/sub. -1. In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the [unified_alerting] section. +1. In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the `[unified_alerting]` section. 1. Set `ha_redis_address` to the redis server address Grafana should connect to. -1. [Optional] Set the username and password if authentication is enabled on the redis server using `ha_redis_username` and `ha_redis_password`. -1. [Optional] Set `ha_redis_prefix` to something unique if you plan to share the redis server with multiple Grafana instances. +1. Optional: Set the username and password if authentication is enabled on the redis server using `ha_redis_username` and `ha_redis_password`. +1. Optional: Set `ha_redis_prefix` to something unique if you plan to share the redis server with multiple Grafana instances. The following metrics can be used for meta monitoring, exposed by Grafana's `/metrics` endpoint: diff --git a/docs/sources/alerting/set-up/provision-alerting-resources/_index.md b/docs/sources/alerting/set-up/provision-alerting-resources/_index.md index 518450be1a5..0837d676aeb 100644 --- a/docs/sources/alerting/set-up/provision-alerting-resources/_index.md +++ b/docs/sources/alerting/set-up/provision-alerting-resources/_index.md @@ -14,6 +14,33 @@ labels: - oss title: Provision Alerting resources weight: 300 +refs: + alerting_export: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/ + alerting_tf_provisioning: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/terraform-provisioning/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning/ + provisioning: + - pattern: /docs/ + destination: /docs/grafana//administration/provisioning/ + alerting_file_provisioning: + - pattern: /docs/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/file-provisioning/ + alerting_http_provisioning: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/ + alerting_export_http: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-api-endpoints + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-api-endpoints --- # Provision Alerting resources @@ -28,7 +55,7 @@ You cannot edit imported alerting resources in the Grafana UI in the same way as Choose from the options below to import (or provision) your Grafana Alerting resources. -1. [Use configuration files to provision your alerting resources][alerting_file_provisioning], such as alert rules and contact points, through files on disk. +1. [Use configuration files to provision your alerting resources](ref:alerting_file_provisioning), such as alert rules and contact points, through files on disk. {{< admonition type="note" >}} @@ -36,9 +63,9 @@ Choose from the options below to import (or provision) your Grafana Alerting res - Provisioning with configuration files is not available in Grafana Cloud. {{< /admonition >}} -1. Use [Terraform to provision alerting resources][alerting_tf_provisioning]. +1. Use [Terraform to provision alerting resources](ref:alerting_tf_provisioning). -1. Use the [Alerting provisioning HTTP API][alerting_http_provisioning] to manage alerting resources. +1. Use the [Alerting provisioning HTTP API](ref:alerting_http_provisioning) to manage alerting resources. {{< admonition type="note" >}} The JSON output from the majority of Alerting HTTP endpoints isn't compatible for provisioning via configuration files. @@ -50,7 +77,7 @@ Choose from the options below to import (or provision) your Grafana Alerting res You can export both manually created and provisioned alerting resources. You can also edit and export an alert rule without applying the changes. -For detailed instructions on the various export options, refer to [Export alerting resources][alerting_export]. +For detailed instructions on the various export options, refer to [Export alerting resources](ref:alerting_export). ## View provisioned alerting resources @@ -61,19 +88,3 @@ To view your provisioned resources in Grafana, complete the following steps. 1. Click an alerting resource folder, for example, Alert rules. Provisioned resources are labeled **Provisioned**, so that it is clear that they were not created manually. - -{{% docs/reference %}} -[alerting_tf_provisioning]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/terraform-provisioning" -[alerting_tf_provisioning]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning" -[alerting_http_provisioning]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning" -[alerting_http_provisioning]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning" -[alerting_export]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources" -[alerting_export]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources" - -[alerting_export_http]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources#export-api-endpoints" -[alerting_export_http]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-api-endpoints" - -[alerting_file_provisioning]: "/docs/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/file-provisioning" - -[provisioning]: "/docs/ -> /docs/grafana//administration/provisioning" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/set-up/provision-alerting-resources/export-alerting-resources/index.md b/docs/sources/alerting/set-up/provision-alerting-resources/export-alerting-resources/index.md index 4a73fdede68..7b8f42bfd9a 100644 --- a/docs/sources/alerting/set-up/provision-alerting-resources/export-alerting-resources/index.md +++ b/docs/sources/alerting/set-up/provision-alerting-resources/export-alerting-resources/index.md @@ -15,6 +15,88 @@ labels: - oss title: Export alerting resources weight: 300 +refs: + alerting_http_provisioning: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/ + export_rule_group: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-alert-rule-group-exportspan-export-an-alert-rule-group-in-provisioning-file-format-_routegetalertrulegroupexport_ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-alert-rule-group-exportspan-export-an-alert-rule-group-in-provisioning-file-format-_routegetalertrulegroupexport_ + export_mute_timing: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-mute-timing-exportspan-export-a-mute-timing-in-provisioning-file-format-_routegetmutetimingexport_ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-mute-timing-exportspan-export-a-mute-timing-in-provisioning-file-format-_routegetmutetimingexport_ + alerting_file_provisioning: + - pattern: /docs/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/file-provisioning/ + alerting_file_provisioning_template: + - pattern: /docs/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/file-provisioning/#import-templates + alerting_http_alertrules: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#alert-rules + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/#alert-rules + alerting_tf_provisioning_template: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/terraform-provisioning/#import-contact-points-and-templates + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning/#import-contact-points-and-templates + alerting_tf_provisioning: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/terraform-provisioning/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning/ + export_contacts: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-contactpoints-exportspan-export-all-contact-points-in-provisioning-file-format-_routegetcontactpointsexport_ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-contactpoints-exportspan-export-all-contact-points-in-provisioning-file-format-_routegetcontactpointsexport_ + alerting_http_notificationpolicies: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#notification-policies + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/#notification-policies + alerting_http_mutetimings: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#mute-timings + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/#mute-timings + export_rules: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-alert-rules-exportspan-export-all-alert-rules-in-provisioning-file-format-_routegetalertrulesexport_ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-alert-rules-exportspan-export-all-alert-rules-in-provisioning-file-format-_routegetalertrulesexport_ + alerting_http_templates: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#templates + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/#templates + export_mute_timings: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-mute-timings-exportspan-export-all-mute-timings-in-provisioning-file-format-_routegetmutetimingsexport_ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-mute-timings-exportspan-export-all-mute-timings-in-provisioning-file-format-_routegetmutetimingsexport_ + export_rule: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-alert-rule-exportspan-export-an-alert-rule-in-provisioning-file-format-_routegetalertruleexport_ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-alert-rule-exportspan-export-an-alert-rule-in-provisioning-file-format-_routegetalertruleexport_ + export_notifications: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-policy-tree-exportspan-export-the-notification-policy-tree-in-provisioning-file-format-_routegetpolicytreeexport_ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-policy-tree-exportspan-export-the-notification-policy-tree-in-provisioning-file-format-_routegetpolicytreeexport_ + alerting_http_contactpoints: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/#contact-points + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/#contact-points --- # Export alerting resources @@ -35,7 +117,7 @@ If you need to modify provisioned alerting resources in Grafana, refer to [edit ## Export from the Grafana UI -The export options listed below enable you to download resources in YAML, JSON, or Terraform format, facilitating their provisioning through [configuration files][alerting_file_provisioning] or [Terraform][alerting_tf_provisioning]. +The export options listed below enable you to download resources in YAML, JSON, or Terraform format, facilitating their provisioning through [configuration files](ref:alerting_file_provisioning) or [Terraform](ref:alerting_tf_provisioning). ### Export alert rules @@ -92,7 +174,7 @@ However, you can export it by manually copying the content template and title di 1. Click **Alerts & IRM** -> **Contact points** -> **Notification templates** tab. 1. Find the template you want to export. 1. Copy the content and title. -1. Adjust it for the [file provisioning format][alerting_file_provisioning_template] or [Terraform resource][alerting_tf_provisioning_template]. +1. Adjust it for the [file provisioning format](ref:alerting_file_provisioning_template) or [Terraform resource](ref:alerting_tf_provisioning_template). ### Export the notification policy tree @@ -128,86 +210,35 @@ To export mute timings from the Grafana UI, complete the following steps. ## HTTP Alerting API -You can use the [Alerting HTTP API][alerting_http_provisioning] to return existing alerting resources in JSON and import them to another Grafana instance using the same endpoint. +You can use the [Alerting HTTP API](ref:alerting_http_provisioning) to return existing alerting resources in JSON and import them to another Grafana instance using the same endpoint. -| Resource | URI | -| -------------------------------------------------------------- | ----------------------------------- | -| [Alert rules][alerting_http_alertrules] | /api/v1/provisioning/alert-rules | -| [Contact points][alerting_http_contactpoints] | /api/v1/provisioning/contact-points | -| [Notification policy tree][alerting_http_notificationpolicies] | /api/v1/provisioning/policies | -| [Mute timings][alerting_http_mutetimings] | /api/v1/provisioning/mute-timings | -| [Templates][alerting_http_templates] | /api/v1/provisioning/templates | +| Resource | URI | +| ------------------------------------------------------------------ | ----------------------------------- | +| [Alert rules](ref:alerting_http_alertrules) | /api/v1/provisioning/alert-rules | +| [Contact points](ref:alerting_http_contactpoints) | /api/v1/provisioning/contact-points | +| [Notification policy tree](ref:alerting_http_notificationpolicies) | /api/v1/provisioning/policies | +| [Mute timings](ref:alerting_http_mutetimings) | /api/v1/provisioning/mute-timings | +| [Templates](ref:alerting_http_templates) | /api/v1/provisioning/templates | However, note the standard endpoints return a JSON format that is not compatible for provisioning through configuration files or Terraform, except the `/export` endpoints listed below. ### Export API endpoints -The **Alerting HTTP API** provides specific endpoints for exporting alerting resources in YAML or JSON, facilitating [provisioning via configuration files][alerting_file_provisioning], or Terraform (HCL). +The **Alerting HTTP API** provides specific endpoints for exporting alerting resources in YAML or JSON, facilitating [provisioning via configuration files](ref:alerting_file_provisioning), or Terraform (HCL). -| Resource | Method / URI | Summary | -| ------------------------ | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -| Alert rules | GET /api/v1/provisioning/alert-rules/export | [Export all alert rules in provisioning file format.][export_rules] | -| Alert rules | GET /api/v1/provisioning/folder/:folderUid/rule-groups/:group/export | [Export an alert rule group in provisioning file format.][export_rule_group] | -| Alert rules | GET /api/v1/provisioning/alert-rules/:uid/export | [Export an alert rule in provisioning file format.][export_rule] | -| Contact points | GET /api/v1/provisioning/contact-points/export | [Export all contact points in provisioning file format.][export_contacts] | -| Notification policy tree | GET /api/v1/provisioning/policies/export | [Export the notification policy tree in provisioning file format.][export_notifications] | -| Mute timings | GET /api/v1/provisioning/mute-timings/export | [Export all mute timings in provisioning file format.][export_mute_timings] | -| Mute timings | GET /api/v1/provisioning/mute-timings/:name/export | [Export a mute timing in provisioning file format.][export_mute_timing] | +| Resource | Method / URI | Summary | +| ------------------------ | -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | +| Alert rules | GET /api/v1/provisioning/alert-rules/export | [Export all alert rules in provisioning file format.](ref:export_rules) | +| Alert rules | GET /api/v1/provisioning/folder/:folderUid/rule-groups/:group/export | [Export an alert rule group in provisioning file format.](ref:export_rule_group) | +| Alert rules | GET /api/v1/provisioning/alert-rules/:uid/export | [Export an alert rule in provisioning file format.](ref:export_rule) | +| Contact points | GET /api/v1/provisioning/contact-points/export | [Export all contact points in provisioning file format.](ref:export_contacts) | +| Notification policy tree | GET /api/v1/provisioning/policies/export | [Export the notification policy tree in provisioning file format.](ref:export_notifications) | +| Mute timings | GET /api/v1/provisioning/mute-timings/export | [Export all mute timings in provisioning file format.](ref:export_mute_timings) | +| Mute timings | GET /api/v1/provisioning/mute-timings/:name/export | [Export a mute timing in provisioning file format.](ref:export_mute_timing) | These endpoints accept a `download` parameter to download a file containing the exported resources. -{{% docs/reference %}} - -[alerting_http_alertrules]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#alert-rules" -[alerting_http_alertrules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning#alert-rules" - -[alerting_http_contactpoints]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#contact-points" -[alerting_http_contactpoints]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning#contact-points" - -[alerting_http_notificationpolicies]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#notification-policies" -[alerting_http_notificationpolicies]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning#notification-policies" - -[alerting_http_mutetimings]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#mute-timings" -[alerting_http_mutetimings]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning#mute-timings" - -[alerting_http_templates]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#templates" -[alerting_http_templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning#templates" - -[alerting_tf_provisioning]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/terraform-provisioning" -[alerting_tf_provisioning]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning" - -[alerting_tf_provisioning_template]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/terraform-provisioning#import-contact-points-and-templates" -[alerting_tf_provisioning_template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning#import-contact-points-and-templates" - -[alerting_http_provisioning]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning" -[alerting_http_provisioning]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning" - -[alerting_file_provisioning]: "/docs/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/file-provisioning" - -[alerting_file_provisioning_template]: "/docs/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/file-provisioning#import-templates" - -[export_rule]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-alert-rule-exportspan-export-an-alert-rule-in-provisioning-file-format-_routegetalertruleexport_" -[export_rule]: "/docs/grafana-cloud/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-alert-rule-exportspan-export-an-alert-rule-in-provisioning-file-format-_routegetalertruleexport_" - -[export_rule_group]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-alert-rule-group-exportspan-export-an-alert-rule-group-in-provisioning-file-format-_routegetalertrulegroupexport_" -[export_rule_group]: "/docs/grafana-cloud/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-alert-rule-group-exportspan-export-an-alert-rule-group-in-provisioning-file-format-_routegetalertrulegroupexport_" - -[export_rules]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-alert-rules-exportspan-export-all-alert-rules-in-provisioning-file-format-_routegetalertrulesexport_" -[export_rules]: "/docs/grafana-cloud/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-alert-rules-exportspan-export-all-alert-rules-in-provisioning-file-format-_routegetalertrulesexport_" - -[export_contacts]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-contactpoints-exportspan-export-all-contact-points-in-provisioning-file-format-_routegetcontactpointsexport_" -[export_contacts]: "/docs/grafana-cloud/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-contactpoints-exportspan-export-all-contact-points-in-provisioning-file-format-_routegetcontactpointsexport_" - -[export_mute_timing]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-mute-timing-exportspan-export-a-mute-timing-in-provisioning-file-format-_routegetmutetimingexport_" -[export_mute_timing]: "/docs/grafana-cloud/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-mute-timing-exportspan-export-a-mute-timing-in-provisioning-file-format-_routegetmutetimingexport_" - -[export_mute_timings]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-mute-timings-exportspan-export-all-mute-timings-in-provisioning-file-format-_routegetmutetimingsexport_" -[export_mute_timings]: "/docs/grafana-cloud/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-mute-timings-exportspan-export-all-mute-timings-in-provisioning-file-format-_routegetmutetimingsexport_" - -[export_notifications]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-policy-tree-exportspan-export-the-notification-policy-tree-in-provisioning-file-format-_routegetpolicytreeexport_" -[export_notifications]: "/docs/grafana-cloud/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-policy-tree-exportspan-export-the-notification-policy-tree-in-provisioning-file-format-_routegetpolicytreeexport_" -{{% /docs/reference %}} diff --git a/docs/sources/alerting/set-up/provision-alerting-resources/file-provisioning/index.md b/docs/sources/alerting/set-up/provision-alerting-resources/file-provisioning/index.md index 245376f6efb..8d97157034c 100644 --- a/docs/sources/alerting/set-up/provision-alerting-resources/file-provisioning/index.md +++ b/docs/sources/alerting/set-up/provision-alerting-resources/file-provisioning/index.md @@ -14,11 +14,43 @@ labels: menuTitle: Use configuration files to provision title: Use configuration files to provision alerting resources weight: 100 +refs: + export_policies: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-the-notification-policy-tree + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-the-notification-policy-tree + export_mute_timings: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-mute-timings + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-mute-timings + export_alert_rules: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-alert-rules + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-alert-rules + export_templates: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-templates + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-templates + export_contact_points: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-contact-points + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-contact-points + reload-provisioning-configurations: + - pattern: /docs/ + destination: /docs/grafana//developers/http_api/admin/#reload-provisioning-configurations + provisioning: + - pattern: /docs/ + destination: /docs/grafana//administration/provisioning/ --- # Use configuration files to provision alerting resources -Manage your alerting resources using configuration files that can be version controlled. When Grafana starts, it provisions the resources defined in your configuration files. [Provisioning][provisioning] can create, update, or delete existing resources in your Grafana instance. +Manage your alerting resources using configuration files that can be version controlled. When Grafana starts, it provisions the resources defined in your configuration files. [Provisioning](ref:provisioning) can create, update, or delete existing resources in your Grafana instance. This guide outlines the steps and references to provision alerting resources using YAML files. For a practical demo, you can clone and try [this example using Grafana OSS and Docker Compose](https://github.com/grafana/provisioning-alerting-examples/tree/main/config-files). @@ -40,7 +72,7 @@ Details on how to set up the files and which fields are required for each object Create or delete alert rules using provisioning files in your Grafana instance(s). 1. Find the alert rule group in Grafana. -1. [Export][export_alert_rules] and download a provisioning file for your alert rules. +1. [Export](ref:export_alert_rules) and download a provisioning file for your alert rules. 1. Copy the contents into a YAML or JSON configuration file and add it to the `provisioning/alerting` directory of the Grafana instance you want to import the alerting resources to. Example configuration files can be found below. @@ -139,7 +171,7 @@ deleteRules: Create or delete contact points using provisioning files in your Grafana instance(s). 1. Find the contact point in Grafana. -1. [Export][export_contact_points] and download a provisioning file for your contact point. +1. [Export](ref:export_contact_points) and download a provisioning file for your contact point. 1. Copy the contents into a YAML or JSON configuration file and add it to the `provisioning/alerting` directory of the Grafana instance you want to import the alerting resources to. Example configuration files can be found below. @@ -572,7 +604,7 @@ settings: Create or delete templates using provisioning files in your Grafana instance(s). 1. Find the notification template in Grafana. -1. [Export][export_templates] a template by copying the template content and title. +1. [Export](ref:export_templates) a template by copying the template content and title. 1. Copy the contents into a YAML or JSON configuration file and add it to the `provisioning/alerting` directory of the Grafana instance you want to import the alerting resources to. Example configuration files can be found below. @@ -625,7 +657,7 @@ Since the policy tree is a single resource, provisioning it will overwrite a pol {{< /admonition >}} 1. Find the notification policy tree in Grafana. -1. [Export][export_policies] and download a provisioning file for your notification policy tree. +1. [Export](ref:export_policies) and download a provisioning file for your notification policy tree. 1. Copy the contents into a YAML or JSON configuration file and add it to the `provisioning/alerting` directory of the Grafana instance you want to import the alerting resources to. Example configuration files can be found below. @@ -711,7 +743,7 @@ resetPolicies: Create or delete mute timings via provisioning files using provisioning files in your Grafana instance(s). 1. Find the mute timing in Grafana. -1. [Export][export_mute_timings] and download a provisioning file for your mute timing. +1. [Export](ref:export_mute_timings) and download a provisioning file for your mute timing. 1. Copy the contents into a YAML or JSON configuration file and add it to the `provisioning/alerting` directory of the Grafana instance you want to import the alerting resources to. Example configuration files can be found below. @@ -762,28 +794,5 @@ deleteMuteTimes: For more examples on the concept of this guide: - Try provisioning alerting resources in Grafana OSS with YAML files through a demo project using [Docker Compose](https://github.com/grafana/provisioning-alerting-examples/tree/main/config-files) or [Kubernetes deployments](https://github.com/grafana/provisioning-alerting-examples/tree/main/kubernetes). -- Review the distinct options about how Grafana provisions resources in the [Provision Grafana documentation][provisioning]. +- Review the distinct options about how Grafana provisions resources in the [Provision Grafana documentation](ref:provisioning). - For Helm support, review the examples provisioning alerting resources in the [Grafana Helm Chart documentation](https://github.com/grafana/helm-charts/blob/main/charts/grafana/README.md). - -{{% docs/reference %}} - -[export_alert_rules]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources#export-alert-rules" -[export_alert_rules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-alert-rules" - -[export_contact_points]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources#export-contact-points" -[export_contact_points]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-contact-points" - -[export_templates]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources#export-templates" -[export_templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-templates" - -[export_policies]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources#export-the-notification-policy-tree" -[export_policies]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-the-notification-policy-tree" - -[export_mute_timings]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources#export-mute-timings" -[export_mute_timings]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-mute-timings" - -[provisioning]: "/docs/ -> /docs/grafana//administration/provisioning" - -[reload-provisioning-configurations]: "/docs/ -> /docs/grafana//developers/http_api/admin#reload-provisioning-configurations" - -{{% /docs/reference %}} diff --git a/docs/sources/alerting/set-up/provision-alerting-resources/terraform-provisioning/index.md b/docs/sources/alerting/set-up/provision-alerting-resources/terraform-provisioning/index.md index b3bef7ffc7a..44071f03e9e 100644 --- a/docs/sources/alerting/set-up/provision-alerting-resources/terraform-provisioning/index.md +++ b/docs/sources/alerting/set-up/provision-alerting-resources/terraform-provisioning/index.md @@ -15,6 +15,59 @@ labels: menuTitle: Use Terraform to provision title: Use Terraform to provision alerting resources weight: 200 +refs: + alerting_http_provisioning: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/ + notification-template: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/template-notifications/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/ + testdata: + - pattern: /docs/grafana/ + destination: /docs/grafana//datasources/testdata/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/connect-externally-hosted/data-sources/testdata/ + provision-cloud-with-terraform: + - pattern: /docs/ + destination: /docs/grafana-cloud/developer-resources/infrastructure-as-code/terraform/terraform-cloud-stack/ + mute-timings: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/mute-timings/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/mute-timings/ + alerting-rules: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/alerting-rules/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/ + contact-points: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/manage-contact-points/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/ + rbac-terraform-provisioning: + - pattern: /docs/ + destination: /docs/grafana//administration/roles-and-permissions/access-control/rbac-terraform-provisioning/ + alerting_export: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/ + notification-policy: + - pattern: /docs/grafana/ + destination: /docs/grafana//alerting/configure-notifications/create-notification-policy/ + - pattern: /docs/grafana-cloud/ + destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-notification-policy/ + rbac-role-definitions: + - pattern: /docs/ + destination: /docs/grafana//administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/ + service-accounts: + - pattern: /docs/ + destination: /docs/grafana//administration/service-accounts/ --- # Use Terraform to provision alerting resources @@ -27,7 +80,7 @@ To create and manage your alerting resources using Terraform, you have to comple 1. Create an API key to configure the Terraform provider. 1. Create your alerting resources in Terraform format by - - [exporting configured alerting resources][alerting_export] + - [exporting configured alerting resources](ref:alerting_export) - or writing the [Terraform Alerting schemas](https://registry.terraform.io/providers/grafana/grafana/latest/docs). > By default, you cannot edit provisioned resources. Enable [`disable_provenance` in the Terraform resource](#enable-editing-resources-in-the-grafana-ui) to allow changes in the Grafana UI. 1. Run `terraform apply` to provision your alerting resources. @@ -36,10 +89,10 @@ Before you begin, you should have available a Grafana instance and [Terraform in ## Create an API key and configure the Terraform provider -You can create a [service account token][service-accounts] to authenticate Terraform with Grafana. To create an API key for provisioning alerting resources, complete the following steps. +You can create a [service account token](ref:service-accounts) to authenticate Terraform with Grafana. To create an API key for provisioning alerting resources, complete the following steps. 1. Create a new service account. -1. Assign the role or permission to access the [Alerting provisioning API][alerting_http_provisioning]. +1. Assign the role or permission to access the [Alerting provisioning API](ref:alerting_http_provisioning). 1. Create a new service account token. 1. Name and save the token for use in Terraform. @@ -68,29 +121,29 @@ Replace the following values: This Terraform configuration installs the [Grafana Terraform provider](https://registry.terraform.io/providers/grafana/grafana/latest/docs) and authenticates against your Grafana instance using an API token. For other authentication alternatives including basic authentication, refer to the [`auth` option documentation](https://registry.terraform.io/providers/grafana/grafana/latest/docs#authentication). -For Grafana Cloud, refer to the [instructions to manage a Grafana Cloud stack with Terraform][provision-cloud-with-terraform]. For role-based access control, refer to [Provisioning RBAC with Terraform][rbac-terraform-provisioning] and the [alerting provisioning roles (`fixed:alerting.provisioning.*`)][rbac-role-definitions]. +For Grafana Cloud, refer to the [instructions to manage a Grafana Cloud stack with Terraform](ref:provision-cloud-with-terraform). For role-based access control, refer to [Provisioning RBAC with Terraform](ref:rbac-terraform-provisioning) and the [alerting provisioning roles (`fixed:alerting.provisioning.*`)](ref:rbac-role-definitions). ## Create Terraform configurations for alerting resources [Grafana Terraform provider](https://registry.terraform.io/providers/grafana/grafana/latest/docs) enables you to manage the following alerting resources. -| Alerting resource | Terraform resource | -| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| [Alert rules][alerting-rules] | [grafana_rule_group](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/rule_group) | -| [Contact points][contact-points] | [grafana_contact_point](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/contact_point) | -| [Notification templates][notification-template] | [grafana_message_template](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/message_template) | -| [Notification policy tree][notification-policy] | [grafana_notification_policy](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/notification_policy) | -| [Mute timings][mute-timings] | [grafana_mute_timing](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/mute_timing) | +| Alerting resource | Terraform resource | +| --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | +| [Alert rules](ref:alerting-rules) | [grafana_rule_group](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/rule_group) | +| [Contact points](ref:contact-points) | [grafana_contact_point](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/contact_point) | +| [Notification templates](ref:notification-template) | [grafana_message_template](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/message_template) | +| [Notification policy tree](ref:notification-policy) | [grafana_notification_policy](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/notification_policy) | +| [Mute timings](ref:mute-timings) | [grafana_mute_timing](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/mute_timing) | In this section, we'll create Terraform configurations for each alerting resource and demonstrate how to link them together. ### Add alert rules -[Alert rules][alerting-rules] enable you to receive alerts by querying any backend Grafana data sources. +[Alert rules](ref:alerting-rules) enable you to receive alerts by querying any backend Grafana data sources. 1. First, create a data source to query and a folder to store your rules in. - In this example, the [TestData][testdata] data source is used. + In this example, the [TestData](ref:testdata) data source is used. ```terraform resource "grafana_data_source" "" { @@ -110,7 +163,7 @@ In this section, we'll create Terraform configurations for each alerting resourc 1. Create or find an alert rule you want to import in Grafana. -1. [Export][alerting_export] the alert rule group in Terraform format. This exports the alert rule group as [`grafana_rule_group` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/rule_group). +1. [Export](ref:alerting_export) the alert rule group in Terraform format. This exports the alert rule group as [`grafana_rule_group` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/rule_group). You can edit the exported resource, or alternatively, consider creating the resource from scratch. @@ -192,11 +245,11 @@ In this section, we'll create Terraform configurations for each alerting resourc ### Add contact points -[Contact points][contact-points] are the receivers of alert notifications. +[Contact points](ref:contact-points) are the receivers of alert notifications. 1. Create or find the contact points you want to import in Grafana. Alternatively, consider writing the resource in code as demonstrated in the example below. -1. [Export][alerting_export] the contact point in Terraform format. This exports the contact point as [`grafana_contact_point` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/contact_point)—edit it if necessary. +1. [Export](ref:alerting_export) the contact point in Terraform format. This exports the contact point as [`grafana_contact_point` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/contact_point)—edit it if necessary. 1. In this example, notifications are muted on weekends. @@ -219,11 +272,11 @@ In this section, we'll create Terraform configurations for each alerting resourc ### Add and enable templates -[Notification templates][notification-template] allow customization of alert notifications across multiple contact points. +[Notification templates](ref:notification-template) allow customization of alert notifications across multiple contact points. 1. Create or find the notification template you want to import in Grafana. Alternatively, consider writing the resource in code as demonstrated in the example below. -1. [Export][alerting_export] the template as [`grafana_message_template` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/message_template). +1. [Export](ref:alerting_export) the template as [`grafana_message_template` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/message_template). This example is a simple demo template defined as `custom_email.message`. @@ -256,11 +309,11 @@ In this section, we'll create Terraform configurations for each alerting resourc ### Add mute timings -[Mute timings][mute-timings] pause alert notifications during predetermined intervals. +[Mute timings](ref:mute-timings) pause alert notifications during predetermined intervals. 1. Create or find the mute timings you want to import in Grafana. Alternatively, consider writing the resource in code as demonstrated in the example below. -1. [Export][alerting_export] the mute timing in Terraform format. This exports the mute timing as [`grafana_mute_timing` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/mute_timing)—edit it if necessary. +1. [Export](ref:alerting_export) the mute timing in Terraform format. This exports the mute timing as [`grafana_mute_timing` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/mute_timing)—edit it if necessary. 1. This example turns off notifications on weekends. @@ -282,7 +335,7 @@ In this section, we'll create Terraform configurations for each alerting resourc ### Add the notification policy tree -[Notification policies][notification-policy] defines how to route alert instances to your contact points. +[Notification policies](ref:notification-policy) defines how to route alert instances to your contact points. {{% admonition type="warning" %}} @@ -292,7 +345,7 @@ Since the policy tree is a single resource, provisioning the `grafana_notificati 1. Find the default notification policy tree. Alternatively, consider writing the resource in code as demonstrated in the example below. -1. [Export][alerting_export] the notification policy tree in Terraform format. This exports it as [`grafana_notification_policy` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/notification_policy)—edit it if necessary. +1. [Export](ref:alerting_export) the notification policy tree in Terraform format. This exports it as [`grafana_notification_policy` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/notification_policy)—edit it if necessary. ```terraform resource "grafana_notification_policy" "my_policy_tree" { @@ -384,40 +437,4 @@ For more examples on the concept of this guide: - Try the demo [provisioning alerting resources in Grafana OSS using Terraform and Docker Compose](https://github.com/grafana/provisioning-alerting-examples/tree/main/terraform). - Review all the available options and examples of the Terraform Alerting schemas in the [Grafana Terraform Provider documentation](https://registry.terraform.io/providers/grafana/grafana/latest/docs). -- Review the [tutorial to manage a Grafana Cloud stack using Terraform][provision-cloud-with-terraform]. - -{{% docs/reference %}} - -[alerting-rules]: "/docs/grafana/ -> /docs/grafana//alerting/alerting-rules" -[alerting-rules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules" - -[contact-points]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/manage-contact-points" -[contact-points]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points" - -[mute-timings]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/mute-timings" -[mute-timings]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/mute-timings" - -[notification-policy]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/create-notification-policy" -[notification-policy]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-notification-policy" - -[notification-template]: "/docs/grafana/ -> /docs/grafana//alerting/configure-notifications/template-notifications" -[notification-template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications" - -[alerting_export]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/export-alerting-resources" -[alerting_export]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources" - -[alerting_http_provisioning]: "/docs/grafana/ -> /docs/grafana//alerting/set-up/provision-alerting-resources/http-api-provisioning" -[alerting_http_provisioning]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning" - -[service-accounts]: "/docs/ -> /docs/grafana//administration/service-accounts" - -[testdata]: "/docs/grafana/ -> /docs/grafana//datasources/testdata" -[testdata]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/connect-externally-hosted/data-sources/testdata" - -[provision-cloud-with-terraform]: "/docs/ -> /docs/grafana-cloud/developer-resources/infrastructure-as-code/terraform/terraform-cloud-stack" - -[rbac-role-definitions]: "/docs/ -> /docs/grafana//administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions" - -[rbac-terraform-provisioning]: "/docs/ -> /docs/grafana//administration/roles-and-permissions/access-control/rbac-terraform-provisioning" - -{{% /docs/reference %}} +- Review the [tutorial to manage a Grafana Cloud stack using Terraform](ref:provision-cloud-with-terraform).