diff --git a/docs/sources/configure/_index.md b/docs/sources/configure/_index.md index d55ccdf6..6b850c46 100644 --- a/docs/sources/configure/_index.md +++ b/docs/sources/configure/_index.md @@ -28,26 +28,26 @@ Explore key settings and integrations that allow you to customize your incident Integrate with your tools and alert sources to begin routing alerts with Grafana OnCall. -For detailed information on configuring integrations, refer to the [Integrations] documentation. +For detailed information on configuring integrations, refer to the [Integrations][integrations] documentation. ### Configure Escalation chains and routes Escalation chains allow you to customize alert routing to align with your team's processes and workflows. You have the flexibility to define how and when to escalate to different teams for different alerts. -For information on configuration options, refer to [Escalation chains and routes]. +For information on configuration options, refer to [Escalation chains and routes][escalation-chains-and-routes]. ### Customize alert templates -For detailed information on customizing alert templates, refer to the [Jinja2 templating] documentation. +For detailed information on customizing alert templates, refer to the [Jinja2 templating][jinja2-templating] documentation. {{% docs/reference %}} -[Integrations]: "/docs/oncall/ -> /docs/oncall//integrations" -[Integrations]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations" +[integrations]: "/docs/oncall/ -> /docs/oncall//configure/integrations" +[integrations]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations" -[Escalation chains and routes]: "/docs/oncall/ -> /docs/oncall//configure/escalation-chains-and-routes" -[Escalation chains and routes]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/escalation-chains-and-routes" +[escalation-chains-and-routes]: "/docs/oncall/ -> /docs/oncall//configure/escalation-chains-and-routes" +[escalation-chains-and-routes]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/escalation-chains-and-routes" -[Jinja2 templating]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating" -[Jinja2 templating]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating" +[jinja2-templating]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating" +[jinja2-templating]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating" {{% /docs/reference %}} diff --git a/docs/sources/configure/escalation-chains-and-routes/index.md b/docs/sources/configure/escalation-chains-and-routes/index.md index 8f44e8fb..30a9d30c 100644 --- a/docs/sources/configure/escalation-chains-and-routes/index.md +++ b/docs/sources/configure/escalation-chains-and-routes/index.md @@ -140,8 +140,8 @@ affect all linked Integrations and Routes. [Notify people]: "/docs/oncall/ -> /docs/oncall//manage/notify" [Notify people]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/notify" -[outgoing webhook]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks" -[outgoing webhook]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks" +[outgoing webhook]: "/docs/oncall/ -> /docs/oncall//configure/integrations/outgoing-webhooks" +[outgoing webhook]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/outgoing-webhooks" [Routing Templates]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating#routing-template" [Routing Templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating#routing-template" diff --git a/docs/sources/configure/integrations/_index.md b/docs/sources/configure/integrations/_index.md new file mode 100644 index 00000000..e19bef08 --- /dev/null +++ b/docs/sources/configure/integrations/_index.md @@ -0,0 +1,77 @@ +--- +title: Grafana OnCall integrations +menuTitle: Integrations +description: An introduction to Grafana OnCall integrations. +weight: 100 +keywords: + - OnCall + - Integrations + - Alerts + - Webhook integration + - Notifications +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/ + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/ + - ../integrations/ # /docs/oncall//configure/integrations/ +--- + +# Grafana OnCall integrations + +An integration serves as the primary entry point for alerts that are processed by Grafana OnCall. +Integrations receive alerts through a unique API URL, interpret them using a set of templates tailored for the specific monitoring system, and initiate +escalations as necessary. + +For more information about how to configure an integration, refer to [Configure and manage integrations](https://grafana.com/docs/oncall/latest/configure/integrations/integration-management/). + +## Understand the integration alert flow + +- An alert is received on an integration’s **Unique URL** as an HTTP POST request with a JSON payload (or via [Inbound email][inbound-email] for email integrations). + +- The incoming alert is routed according to the [Routing Template][routing-template]. + +- Alerts are grouped based on the [Grouping ID Template][group-id-templates] and rendered using [Appearance Templates][appearance-templates]. + +- The alert group can be published to messaging platforms, based on the **Publish to Chatops** configuration. + +- The alert group is escalated to users according to the Escalation Chains selected for the route. + +- An alert group can be acknowledged or resolved with status updates based on its [Behavioral Templates][behavioral-templates]. + +- Users can perform actions listed in the [Alert Workflow][alert-workflow] section. + +## Explore available integrations + +Refer to [Integration references][intergration-references] for a list of available integrations and specific set up instructions. + +{{% docs/reference %}} +[appearance-templates]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating#appearance-templates" +[appearance-templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating#appearance-templates" + +[behavioral-templates]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating#behavioral-templates" +[behavioral-templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating#behavioral-templates" + +[group-id-templates]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating#grouping-id-template" +[group-id-templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating#grouping-id-template" + +[inbound-email]: "/docs/oncall -> /docs/oncall//configure/integrations/references/inbound-email" +[inbound-email]: "/docs/grafana-cloud -> /docs/oncall//configure/integrations/references/inbound-email" + +[jinja2-templating]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating" +[jinja2-templating]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating" + +[alert-workflow]: "/docs/oncall/ -> /docs/oncall//set-up/get-started#learn-about-the-alert-workflow" +[alert-workflow]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/set-up/get-started#learn-about-the-alert-workflow" + +[routing-template]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating#routing-template" +[routing-template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating#routing-template" + +[Webhooks]: "/docs/oncall/ -> /docs/oncall//configure/integrations/outgoing-webhooks" +[Webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/outgoing-webhooks" + +[integration-labels]: "/docs/oncall/ -> /docs/oncall//configure/integrations/labels" +[integration-labels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/labels" + +[intergration-references]: "/docs/oncall/ -> /docs/oncall//configure/integrations/references" +[integration-references]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references" +{{% /docs/reference %}} diff --git a/docs/sources/configure/integrations/integration-management/index.md b/docs/sources/configure/integrations/integration-management/index.md new file mode 100644 index 00000000..042a3cb9 --- /dev/null +++ b/docs/sources/configure/integrations/integration-management/index.md @@ -0,0 +1,131 @@ +--- +title: Configure and manage integrations +menuTitle: Manage integrations +description: An overview of configuration options for Grafana OnCall integrations. +weight: 100 +keywords: + - OnCall + - Integrations + - Alert routing + - Heartbeat monitoring + - Maintenance mode + - HTTP Endpoint +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/integration-management/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/integration-management/ + - ../integrations/ # /docs/oncall//configure/integrations/integration-management/ +--- + +# Configure and manage integrations + +Integrations with Grafana OnCall help to ensure effective alert handling and efficiency notification routing. +You can configure and manage each integrations settings to meet the needs of the teams that use it. +This guide provides an overview on how to configure, customize and manage your integrations. + +You can manage or view your integrations current configuration at any time in the **Integration**s tab of Grafana OnCall. + +## Connect an integration + +To integrate Grafana OnCall with your chosen tools, follow these steps: + +1. Navigate to the **Integrations** tab in Grafana OnCall, and click **+ New integration**. +1. Select your desired integration type from the [list of available integrations][integration-references]. +If your desired integration is not listed, select **Webhook**. +1. Provide a title and a description for your integration, assign it to a team, and click **Create Integration**. +1. The Integration page will open, displaying details about the Integration. +The provided HTTP Endpoint URL can be used to send events from an external monitoring system. Click the **How to connect** link for additional information. +1. Configure your tool to send alerts to Grafana OnCall. +1. Click **Send demo alert** to send a test alert to Grafana OnCall. + +## Customize the integration + +Explore ways to customize the behavior of your alerts from a specific integration: + +- Customize alerting grouping, auto-resolution, and auto-acknowledge templates to tailor the alert behavior for your team. +- Modify [Appearance templates][appearance-templates] to customize how alert groups are displayed in various parts of Grafana OnCall, such as the UI, phone and +SMS, email, notifications, etc. +- Add routes to your integration to direct alerts to different users and teams based on labels or other data. +- Connect your escalation chains to routes to ensure the right people are notified at the right time. +- Send demo alerts to an integration to validate that routes, templates, and escalations are functioning as expected. Consider using `Debug Maintenance mode` +to avoid sending real notifications to your team. + +For detailed instructions, refer to: + +- [Integration templates][integration-templates] +- [Configure labels][configure-labels] + +## Manage Maintenance Mode + +Maintenance Mode is useful when performing scheduled maintenance or updates on your infrastructure, which may trigger false alarms. There are two modes: + +- **Debug** - Test routing and escalations without real notifications. Alerts will be processed as usual, but no notifications will be sent to users. +- **Maintenance** - Consolidate alerts into one during infrastructure work. + +To manage Maintenance Mode: + +1. Go to the Integration page and click **Three dots**. +1. Select **Start Maintenance Mode**. +1. Choose **Debug** or **Maintenance** mode. +1. Set the **Duration** of Maintenance Mode. +1. Click **Start**. +1. To stop maintenance mode before its end, click **Three dots** and select **Stop Maintenance Mode**. + +## Heartbeat Monitoring + +OnCall heartbeat functions as a health check for alert group monitoring. You can configure your monitoring to regularly send alerts to the heartbeat endpoint. +If OnCall doesn’t receive one of these alerts, it will create a new alert group and escalate it. + +To configure Heartbeat Monitoring: + +1. Go to the Integration page and click **Three dots**. +1. Select **Heartbeat Settings**. +1. Set **Heartbeat interval**. +1. Copy the **Endpoint** into your monitoring system. + +If you need to disable heartbeat monitoring on an integration, use the **Reset** button to revert it to the inactive state. +To restart heartbeat monitoring, send a request to the **Endpoint**. + +Refer to a specific integration’s documentation for more detailed instructions. + +## Manage and edit an integration + +Manage your existing integrations by navigating to the **Integrations** tab in Grafana OnCall and selecting the integration you want to manage. + +To edit the name of an integration: + +1. Navigate to the **Integrations** tab, select an integration from the list of enabled integrations. +1. Click the **three dots** next to the integration name and select **Integration settings**. +1. Provide a new name, description, and team, and click **Save**. + +## Explore available integrations + +Specific guidance and configuration options for each integration are available at [Integration references][integration-references]. + +{{% docs/reference %}} +[appearance-templates]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating#appearance-templates" +[appearance-templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating#appearance-templates" + +[behavioral-templates]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating#behavioral-templates" +[behavioral-templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating#behavioral-templates" + +[jinja2-templating]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating" +[jinja2-templating]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating" + +[routing-template]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating#routing-template" +[routing-template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating#routing-template" + +[Webhooks]: "/docs/oncall/ -> /docs/oncall//configure/integrations/outgoing-webhooks" +[Webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/outgoing-webhooks" + +[integration-labels]: "/docs/oncall/ -> /docs/oncall//configure/integrations/labels" +[integration-labels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/labels" + +[integration-templates]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating" +[integration-templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating" + +[configure-labels]: "/docs/oncall/ -> /docs/oncall//configure/integrations/labels" +[configure-labels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/labels" + +[integration-references]: "/docs/oncall/ -> /docs/oncall//configure/integrations/references" +[integration-references]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references" +{{% /docs/reference %}} diff --git a/docs/sources/configure/integrations/labels/index.md b/docs/sources/configure/integrations/labels/index.md new file mode 100644 index 00000000..07da1730 --- /dev/null +++ b/docs/sources/configure/integrations/labels/index.md @@ -0,0 +1,206 @@ +--- +title: Configure labels +menuTitle: Configure labels +description: How to configure labels for Grafana OnCall integrations and alert groups. +weight: 200 +keywords: + - OnCall + - Integrations + - Alert routing + - Labels + - Static + - Dynamic labels + - Multi-label extraction +labels: + products: + - cloud +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/labels +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/labels + - ../integrations/ # /docs/oncall//configure/integrations/labels +--- +# Configure labels + +{{< admonition type="note" >}} +This feature is available exclusively on Grafana Cloud. +{{< /admonition >}} + +Labels are a powerful feature in Grafana OnCall that can help categorize and organize your integrations and alert groups. +This guide walks through how to assign labels to integrations, filter integrations by labels, and explore the various features related to alert group labeling. + +## Integrations and labels + +Labels can be assigned to integrations to help manage and filter them based on specific criteria. +You may find it useful to organize integrations based on service, region, or any other custom attribute. + +To assign labels to an integration: + +1. Go to the **Integrations** tab and select an integration from the list. +2. Click the **three dots** next to the integration name and select **Integration settings**. +3. Define a Key and Value pair for the label, either by selecting from an existing list or typing new ones in the fields. Press enter/return to accept. +4. To add more labels, click on the **Add** button. You can remove a label using the X button next to the key-value pair. +5. Click **Save** when finished. + +To filter integrations by labels: + +1. Go to the **Integrations** tab. +2. Locate the **Search or filter results…** dropdown and select **Label**. +3. Start typing to find suggestions and select the key-value pair you’d like to filter by. + +### Pass down integration labels + +Labels are automatically assigned to each alert group based on the labels assigned to the integration. +You can choose to pass down specific labels in the Alert Group Labeling tab. + +To do this, navigate to the Integration Labels section in the Alert Group Labeling tab and enable/disable specific labels using the toggler. + +## Alert Group labels + +Alert Group labels offer more granular control. With Alert Group labeling, you can: + +- Assign labels to alert groups. +- Filter alert groups by labels. +- Customize the Alert Group table. +- Pass labels in Webhooks. + +### Assign labels to Alert Groups + +Alert Group labeling can be configured for each integration. To find the Alert Group labeling settings: + +1. Navigate to the **Integrations** tab. +2. Select an integration from the list of enabled integrations. +3. Click the three dots next to the integration name. +4. Choose **Alert Group Labeling**. + +A maximum of 15 labels can be assigned to an alert group. If there are more than 15 labels, only the first 15 will be assigned. + +### Dynamic & Static Labels + +Dynamic and Static labels allow you to assign arbitrary labels to alert groups. +Dynamic labels have values extracted from the alert payload using Jinja, with keys remaining static. +Static labels have both key and value as static and are not derived from the payload. These labels will not be attached to the integration. + +1. In the **Alert Group Labeling** tab, navigate to **Dynamic & Static Labels**. +2. Press the **Add Label** button and choose between dynamic or static. + +#### Add Static Labels + +1. Select or create key and value from the dropdown list. +2. These labels will be assigned to all alert groups received by this integration. + +#### Add Dynamic Labels + +1. Choose or create a key from the dropdown list. +2. Enter a template to parse the value for the given key from the alert payload. + +To illustrate the Dynamic Labeling feature, let's consider an example where a dynamic label is created with a `severity` key +and a template to parse values for that key: + +```jinja2 +{{ payload.get("severity) }} +``` + +Created dynamic label: + + +Two alerts were received and grouped to two different alert groups: + +Alert 1: + +```json +{ + "title": "critical alert", + "severity": "critical" +} +``` + +Alert 2: + +```json +{ + "title": "warning alert", + "severity": "warning" +} +``` + +As a result: + +- The first alert group will have a label: `severity: critical`. +- The second alert group will have a label: `severity: warning`. + +### Multi-label extraction template + +This feature enables users to extract and modify multiple labels from the alert payload using a single template. +It supports dynamic values and dynamic keys, with the template expected to result in a valid JSON object. + +Consider the following example demonstrating the extraction of labels from a Grafana Alerting payload: + +Incoming payload: + +```json +{ + ... + "commonLabels": { + "job": "node", + "severity": "critical", + "alertname": "InstanceDown" + }, + ... +} +``` + +Template to parse it: + +```jinja2 +{{ payload.commonLabels | tojson }} +``` + +As a result `job`, `severity` and `alertname` labels will be assigned to the alert group: + + + +An advanced example showcases the extraction of labels from various fields of the alert payload, utilizing the Grafana Alerting payload: + +```jinja2 +{%- set labels = {} -%} +{# add several labels #} +{%- set labels = dict(labels, **payload.commonLabels) -%} +{# add one label #} +{%- set labels = dict(labels, **{"status": payload.status}) -%} +{# add label not from payload #} +{%- set labels = dict(labels, **{"service": "oncall"}) -%} +{# dump labels dict to json string, so OnCall can parse it #} +{{ labels | tojson }} +``` + +### Alert Group table customization + +The Alert Group table can be customized to suit individual preferences. +You can select and manage the columns displayed in the table, and add custom columns based on labels. +This customization is user-specific, allowing each user to personalize their view. + +#### Manage default columns + +By default, the Columns dropdown provides a list of predefined columns that users can enable or disable based on their preferences. + +To manage default columns use the toggler next to each column name to enable or disable its visibility in the table. + +#### Add Custom columns + +Users with admin permissions have the ability to add custom columns based on labels. Follow these steps to add a custom column: + +1. Press the Add button in the Columns dropdown. A modal will appear. +2. In the modal, begin typing the name of the labels key you want to create a column for. +3. Select the desired label from the options presented and press the Add button. +4. The new custom column, titled with the label's key, will now be available as an option in the Column Settings for all users. + +### Label behavior + +**Assignment limits:** +OnCall allows the assignment of up to 15 labels to an alert group. +If there are more than 15 labels to be assigned, only the first 15 labels (sorted alphabetically) +from the first alert in the group will be assigned. + +**Label persistence:** +Once a label is assigned to an alert group, it remains unchanged, even if the label is edited. +This approach considers the label as historical data. diff --git a/docs/sources/configure/outgoing-webhooks/index.md b/docs/sources/configure/integrations/outgoing-webhooks/index.md similarity index 92% rename from docs/sources/configure/outgoing-webhooks/index.md rename to docs/sources/configure/integrations/outgoing-webhooks/index.md index f01e04a6..f70c5af7 100644 --- a/docs/sources/configure/outgoing-webhooks/index.md +++ b/docs/sources/configure/integrations/outgoing-webhooks/index.md @@ -2,14 +2,14 @@ title: Outgoing Webhooks menuTitle: Outgoing Webhooks description: Understand how to send data from OnCall using an outgoing webhook -weight: 500 +weight: 300 keywords: - OnCall - Configuration - Webhooks - POST - Event types -canonical: https://grafana.com/docs/oncall/latest/configure/outgoing-webhooks/ +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/outgoing-webhooks/ aliases: - /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks/ - /docs/grafana-cloud/alerting-and-irm/oncall/outgoing-webhooks/ @@ -19,14 +19,16 @@ aliases: # Outgoing Webhooks -> ⚠️ A note about **(Legacy)** webhooks: Webhooks that were created before version **v1.3.11** are marked as -> **(Legacy)**. Do not worry! They are still connected to their respective escalation chains and will continue to -> execute as they always have. ->

-> The **(Legacy)** webhook is no longer editable due to changes to the internal representation. If you need to edit it -> you must use the `Make a copy` action in the menu and make your changes there. This will create the webhook in the -> new format. Be sure to change your escalation chains to point to the new copy otherwise it will not be active. The -> **(Legacy)** webhook can then be deleted. +{{< admonition type="note" >}} +⚠️ Webhooks that were created before version **v1.3.11** are marked as +**(Legacy)**. Do not worry! They are still connected to their respective escalation chains and will continue to +execute as they always have. + +The **(Legacy)** webhook is no longer editable due to changes to the internal representation. If you need to edit it +you must use the `Make a copy` action in the menu and make your changes there. This will create the webhook in the +new format. Be sure to change your escalation chains to point to the new copy otherwise it will not be active. The +**(Legacy)** webhook can then be deleted. +{{< /admonition >}} Outgoing webhooks are used by Grafana OnCall to send data to a URL in a flexible way. These webhooks can be triggered from a variety of event types and make use of Jinja2 to transform data into the format required at @@ -552,23 +554,23 @@ the `id` of that ticket to keep its status synchronized with the state changes b Integrate with third-party services: -- [JIRA][] -- [ServiceNow][] -- [Zendesk][] +- [JIRA][jira] +- [ServiceNow][ServiceNow] +- [Zendesk][Zendesk] -- {{% docs/reference %}} -[Alert group labels]: "/docs/oncall/ -> /docs/oncall//integrations#alert-group-labels" -[Alert group labels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations#alert-group-labels" +{{% docs/reference %}} +[Alert group labels]: "/docs/oncall/ -> /docs/oncall//configure/integrations/labels#alert-group-labels" +[Alert group labels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/labels#alert-group-labels" -[Integration labels]: "/docs/oncall/ -> /docs/oncall//integrations#labels" -[Integration labels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations#labels" +[Integration labels]: "/docs/oncall/ -> /docs/oncall//configure/integrations/labels" +[Integration labels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/labels" -[JIRA]: "/docs/oncall/ -> /docs/oncall//integrations/jira" -[JIRA]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/jira" +[jira]: "/docs/oncall/ -> /docs/oncall//configure/integrations/references/jira" +[jira]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/jira" -[ServiceNow]: "/docs/oncall/ -> /docs/oncall//integrations/servicenow" -[ServiceNow]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/servicenow" +[ServiceNow]: "/docs/oncall/ -> /docs/oncall//configure/integrations/references/servicenow" +[ServiceNow]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/servicenow" -[Zendesk]: "/docs/oncall/ -> /docs/oncall//integrations/zendesk" -[Zendesk]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/zendesk" +[Zendesk]: "/docs/oncall/ -> /docs/oncall//configure/integrations/references/zendesk" +[Zendesk]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/zendesk" {{% /docs/reference %}} diff --git a/docs/sources/configure/integrations/references/_index.md b/docs/sources/configure/integrations/references/_index.md new file mode 100644 index 00000000..897bc1cf --- /dev/null +++ b/docs/sources/configure/integrations/references/_index.md @@ -0,0 +1,23 @@ +--- +title: Integration references +menuTitle: Integration references +description: An introduction to Grafana OnCall integrations. +weight: 400 +keywords: + - OnCall + - Integrations + - Alerts + - Webhook integration + - Notifications +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/ + - ../integrations/ # /docs/oncall//configure/integrations/references +--- + +# Integration references + +Explore available integrations and specific set up instructions. + +{{< section >}} diff --git a/docs/sources/integrations/alertmanager/index.md b/docs/sources/configure/integrations/references/alertmanager/index.md similarity index 83% rename from docs/sources/integrations/alertmanager/index.md rename to docs/sources/configure/integrations/references/alertmanager/index.md index 07cb5576..fddb2034 100644 --- a/docs/sources/integrations/alertmanager/index.md +++ b/docs/sources/configure/integrations/references/alertmanager/index.md @@ -1,24 +1,29 @@ --- -aliases: - - add-alertmanager/ -canonical: https://grafana.com/docs/oncall/latest/integrations/alertmanager/ +title: Alertmanager integration for Grafana OnCall +menuTitle: Alertmanager +description: Alertmanager integration reference material for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts - - Notifications - - on-call - Alertmanager - Prometheus -title: Alertmanager -weight: 300 + - Notifications +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/alertmanager +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/alertmanager + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/alertmanager + - add-alertmanager/ + - ../integrations/ # /docs/oncall//configure/integrations/references/alertmanager --- # Alertmanager integration for Grafana OnCall -> ⚠️ A note about **(Legacy)** integrations: -> Integrations that were created before version 1.3.21 (1 August 2023) were marked as **(Legacy)** and recently migrated. -> These integrations are receiving and escalating alerts, but some manual adjustments might be required. -> [Here][legacy_integration] you can read more about changes. +{{< admonition type="note" >}} +⚠️ **Legacy** integration ⚠️ Integrations that were created before version 1.3.21 (1 August 2023) were marked as **(Legacy)** and migrated. +These integrations are receiving and escalating alerts, but some manual adjustments may be required. +{{< /admonition >}} The Alertmanager integration handles alerts from [Prometheus Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/). This integration is the recommended way to send alerts from Prometheus deployed in your infrastructure, to Grafana OnCall. @@ -185,15 +190,12 @@ or [data][data_webhook_template] template it's needed to adjust them as well. [user-and-team-management]: "/docs/oncall/ -> /docs/oncall//manage/user-and-team-management" [user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/user-and-team-management" -[complete-the-integration-configuration]: "/docs/oncall/ -> /docs/oncall//integrations#complete-the-integration-configuration" -[complete-the-integration-configuration]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations#complete-the-integration-configuration" +[complete-the-integration-configuration]: "/docs/oncall/ -> /docs/oncall//configure/integrations/integration-management#customize-the-integration" +[complete-the-integration-configuration]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations#customize-the-integration" -[legacy_integration]: "/docs/oncall/ -> /docs/oncall//integrations/alertmanager#note-about-legacy-integration" -[legacy_integration]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/alertmanager#note-about-legacy-integration" +[data_webhook_template]: "/docs/oncall/ -> /docs/oncall//configure/integrations/outgoing-webhooks#outgoing-webhook-templates" +[data_webhook_template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/outgoing-webhooks#outgoing-webhook-templates" -[data_webhook_template]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks#outgoing-webhook-templates" -[data_webhook_template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks#outgoing-webhook-templates" - -[trigger_webhook_template]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks#using-trigger-template-field" -[trigger_webhook_template]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks#using-trigger-template-field" +[trigger_webhook_template]: "/docs/oncall/ -> /docs/oncall//configure/integrations/outgoing-webhooks#using-trigger-template-field" +[trigger_webhook_template]: "/docs/oncall/ -> /docs/oncall//configure/integrations/outgoing-webhooks#using-trigger-template-field" {{% /docs/reference %}} diff --git a/docs/sources/integrations/amazon-sns/index.md b/docs/sources/configure/integrations/references/amazon-sns/index.md similarity index 70% rename from docs/sources/integrations/amazon-sns/index.md rename to docs/sources/configure/integrations/references/amazon-sns/index.md index c27b3eb4..5882afcc 100644 --- a/docs/sources/integrations/amazon-sns/index.md +++ b/docs/sources/configure/integrations/references/amazon-sns/index.md @@ -1,24 +1,28 @@ --- -aliases: - - add-amazon-sns/ - - /docs/oncall/latest/integrations/available-integrations/configure-amazon-sns/ -canonical: https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-amazon-sns/ +title: Amazon SNS integration for Grafana OnCall +menuTitle: Amazon SNS +description: Amazon SNS integration reference material for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts + - Amazon SNS - Notifications - - on-call - - amazon-sns labels: products: - cloud -title: Amazon SNS -weight: 500 +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/amazon-sns +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/amazon-sns + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/amazon-sns + - add-amazon-sns/ + - ../integrations/ # /docs/oncall//configure/integrations/references/amazon-sns --- # Amazon SNS integration for Grafana OnCall -> This integration is not available in OSS version +> This integration is available in Cloud only. The Amazon SNS integration for Grafana OnCall handles ticket events sent from Amazon SNS webhooks. The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates. diff --git a/docs/sources/integrations/appdynamics/index.md b/docs/sources/configure/integrations/references/appdynamics/index.md similarity index 77% rename from docs/sources/integrations/appdynamics/index.md rename to docs/sources/configure/integrations/references/appdynamics/index.md index b1743fc2..e3308ebb 100644 --- a/docs/sources/integrations/appdynamics/index.md +++ b/docs/sources/configure/integrations/references/appdynamics/index.md @@ -1,30 +1,34 @@ --- -aliases: - - add-appdynamics/ - - /docs/oncall/latest/integrations/available-integrations/configure-appdynamics/ -canonical: https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-appdynamics/ +title: AppDynamics integration for Grafana OnCall +menuTitle: AppDynamics +description: AppDynamics integration reference material for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts - - Notifications - - on-call - AppDynamics + - Notifications labels: products: - cloud -title: AppDynamics -weight: 500 +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/appdynamics +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/appdynamics + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/appdynamics + - add-appdynamics/ + - ../integrations/ # /docs/oncall//configure/integrations/references/appdynamics --- # AppDynamics integration for Grafana OnCall -> This integration is not available in OSS version +{{< admonition type="note" >}} +This integration is available exclusively on Grafana Cloud. +{{< /admonition >}} The AppDynamics integration for Grafana OnCall handles health rule violation events sent from AppDynamics actions. The integration provides grouping and auto-resolve logic via customizable alert templates. -> You must have the [role of Admin][user-and-team-management] to be able to create integrations in Grafana OnCall. - ## Configuring Grafana OnCall to Receive Alerts from AppDynamics 1. In the **Integrations** tab, click **+ New integration**. @@ -37,10 +41,8 @@ You will need it when configuring AppDynamics. Create a new HTTP Request Template in AppDynamics to send events to Grafana OnCall using the integration URL above. -Refer to -[AppDynamics documentation] -() -for more information on **how to create HTTP Request Templates**: +Refer to the [AppDynamics documentation](https://docs.appdynamics.com/appd/23.x/latest/en/appdynamics-essentials/alert-and-respond/actions/http-request-actions-and-templates) +for more information on how to create HTTP Request Templates. Use the following values when configuring a new HTTP Request Template: @@ -113,8 +115,8 @@ Complete configuration by setting routes, templates, maintenances, etc. Read mor [this section][complete-the-integration-configuration] {{% docs/reference %}} -[complete-the-integration-configuration]: "/docs/oncall/ -> /docs/oncall//integrations#complete-the-integration-configuration" -[complete-the-integration-configuration]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations#complete-the-integration-configuration" +[complete-the-integration-configuration]: "/docs/oncall/ -> /docs/oncall//configure/integrations/integration-management#customize-the-integration" +[complete-the-integration-configuration]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/integration-management#customize-the-integration" [user-and-team-management]: "/docs/oncall/ -> /docs/oncall//manage/user-and-team-management" [user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/user-and-team-management" diff --git a/docs/sources/integrations/datadog/index.md b/docs/sources/configure/integrations/references/datadog/index.md similarity index 68% rename from docs/sources/integrations/datadog/index.md rename to docs/sources/configure/integrations/references/datadog/index.md index e61de508..d667d0b1 100644 --- a/docs/sources/integrations/datadog/index.md +++ b/docs/sources/configure/integrations/references/datadog/index.md @@ -1,30 +1,34 @@ --- -aliases: - - add-datadog/ - - /docs/oncall/latest/integrations/available-integrations/configure-datadog/ -canonical: https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-datadog/ +title: Datadog integration for Grafana OnCall +menuTitle: Datadog +description: Datadog integration reference material for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts + - AppDynamics - Notifications - - on-call - - datadog labels: products: - cloud -title: Datadog -weight: 500 +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/datadog +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/datadog + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/datadog + - add-datadog/ + - ../integrations/ # /docs/oncall//configure/integrations/references/datadog --- # Datadog integration for Grafana OnCall -> This integration is not available in OSS version +{{< admonition type="note" >}} +This integration is available exclusively on Grafana Cloud. +{{< /admonition >}} The Datadog integration for Grafana OnCall handles ticket events sent from Datadog webhooks. The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates. -> You must have the [role of Admin][user-and-team-management] to be able to create integrations in Grafana OnCall. - ## Configuring Grafana OnCall to Receive Alerts from Datadog 1. In the **Integrations** tab, click **+ New integration**. diff --git a/docs/sources/integrations/elastalert/index.md b/docs/sources/configure/integrations/references/elastalert/index.md similarity index 83% rename from docs/sources/integrations/elastalert/index.md rename to docs/sources/configure/integrations/references/elastalert/index.md index bad32d62..f85479c3 100644 --- a/docs/sources/integrations/elastalert/index.md +++ b/docs/sources/configure/integrations/references/elastalert/index.md @@ -1,16 +1,20 @@ --- -aliases: - - add-elastalert/ - - /docs/oncall/latest/integrations/available-integrations/configure-elastalert/ -canonical: https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-elastalert/ +title: Elastalert integration for Grafana OnCall +menuTitle: Elastalert +description: Elastalert integration reference material for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts - - Notifications - - on-call - elastalert -title: ElastAlert -weight: 500 + - Notifications +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/elastalert +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/elastalert + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/elastalert + - add-elastalert/ + - ../integrations/ # /docs/oncall//configure/integrations/references/elastalert --- # ElastAlert integration for Grafana OnCall diff --git a/docs/sources/integrations/fabric/index.md b/docs/sources/configure/integrations/references/fabric/index.md similarity index 67% rename from docs/sources/integrations/fabric/index.md rename to docs/sources/configure/integrations/references/fabric/index.md index df05f654..8ca47326 100644 --- a/docs/sources/integrations/fabric/index.md +++ b/docs/sources/configure/integrations/references/fabric/index.md @@ -1,30 +1,34 @@ --- -aliases: - - add-fabric/ - - /docs/oncall/latest/integrations/available-integrations/configure-fabric/ -canonical: https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-fabric/ +title: Fabric integration for Grafana OnCall +menuTitle: Fabric +description: Fabric integration reference material for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts + - Fabric - Notifications - - on-call - - fabric labels: products: - cloud -title: Fabric -weight: 500 +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/fabric +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/fabric + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/fabric + - add-fabric/ + - ../integrations/ # /docs/oncall//configure/integrations/references/fabric --- # Fabric integration for Grafana OnCall -> This integration is not available in OSS version +{{< admonition type="note" >}} +This integration is available exclusively on Grafana Cloud. +{{< /admonition >}} The Fabric integration for Grafana OnCall handles ticket events sent from Fabric webhooks. The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates. -> You must have the [role of Admin][user-and-team-management] to be able to create integrations in Grafana OnCall. - ## Configuring Grafana OnCall to Receive Alerts from Fabric 1. In the **Integrations** tab, click **+ New integration**. diff --git a/docs/sources/integrations/grafana-alerting/index.md b/docs/sources/configure/integrations/references/grafana-alerting/index.md similarity index 77% rename from docs/sources/integrations/grafana-alerting/index.md rename to docs/sources/configure/integrations/references/grafana-alerting/index.md index 688bd4c6..eb328af2 100644 --- a/docs/sources/integrations/grafana-alerting/index.md +++ b/docs/sources/configure/integrations/references/grafana-alerting/index.md @@ -1,23 +1,30 @@ --- -aliases: - - add-grafana-alerting/ -canonical: https://grafana.com/docs/oncall/latest/integrations/grafana-alerting/ +title: Grafana Alerting integration for Grafana OnCall +menuTitle: Grafana Alerting +description: Grafana Alerting integration reference material for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts + - Grafana Alerting - Notifications - - on-call - - Prometheus -title: Grafana Alerting -weight: 100 +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/grafana-alerting +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/grafana-alerting + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/grafana-alerting + - add-grafana-alerting/ + - ../integrations/ # /docs/oncall//configure/integrations/references/grafana-alerting --- # Grafana Alerting integration for Grafana OnCall -> ⚠️ A note about **(Legacy)** integrations: -> Integrations that were created before version 1.3.21 were marked as **(Legacy)** and recently migrated. -> These integrations are receiving and escalating alerts, but some manual adjustments might be required. -> [Here][legacy_integration] you can read more about changes. +{{< admonition type="note" >}} + +⚠️ **Legacy** integration ⚠️ +Integrations that were created before version 1.3.21 were marked as **(Legacy)** and recently migrated. +These integrations are receiving and escalating alerts, but some manual adjustments might be required. +{{< /admonition >}} Grafana Alerting for Grafana OnCall can be set up using two methods: @@ -122,16 +129,13 @@ You can read more about AlertManager Data model [here](https://prometheus.io/doc 1. Send a new demo alert to the migrated integration. 2. Adjust routes to the new shape of payload. You can use payload of the demo alert from previous step as an example. -3. If outgoing webhooks utilized the alerts payload from the migrated integration in the [trigger][trigger_webhook_template] -or [data][data_webhook_template] template it's needed to adjust them as well. +3. If outgoing webhooks utilized the alerts payload from the migrated integration in the [trigger][trigger-webhook-template] +or [data][data-webhook-template] template it's needed to adjust them as well. {{% docs/reference %}} -[legacy_integration]: "/docs/oncall/ -> /docs/oncall//integrations/grafana-alerting#note-about-legacy-integration" -[legacy_integration]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/grafana-alerting#note-about-legacy-integration" +[data-webhook-template]: "/docs/oncall/ -> /docs/oncall//configure/integrations/outgoing-webhooks" +[data-webhook_template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/outgoing-webhooks" -[data_webhook_template]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks/#outgoing-webhook-templates -[data_webhook_template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks/#outgoing-webhook-templates - -[trigger_webhook_template]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks/#using-trigger-template-field -[trigger_webhook_template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks/#using-trigger-template-field +[trigger-webhook-template]: "/docs/oncall/ -> /docs/oncall//configure/integrations/outgoing-webhooks" +[trigger-webhook-template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/outgoing-webhooks" {{% /docs/reference %}} diff --git a/docs/sources/integrations/inbound-email/index.md b/docs/sources/configure/integrations/references/inbound-email/index.md similarity index 73% rename from docs/sources/integrations/inbound-email/index.md rename to docs/sources/configure/integrations/references/inbound-email/index.md index 2ca80307..276ec59f 100644 --- a/docs/sources/integrations/inbound-email/index.md +++ b/docs/sources/configure/integrations/references/inbound-email/index.md @@ -1,15 +1,20 @@ --- -aliases: - - inbound-email/ -canonical: https://grafana.com/docs/oncall/latest/integrations/inbound-email/ +title: Inbound email integration for Grafana OnCall +menuTitle: Inbound email +description: Inbound email integration reference material for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts - - Notifications - - on-call + - Inbound email - Email -title: Inbound Email -weight: 500 + - Notifications +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/inbound-email +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/inbound-email + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/inbound-email + - ../integrations/ # /docs/oncall//configure/integrations/references/inbound-email --- # Inbound Email integration for Grafana OnCall diff --git a/docs/sources/integrations/jira/index.md b/docs/sources/configure/integrations/references/jira/index.md similarity index 89% rename from docs/sources/integrations/jira/index.md rename to docs/sources/configure/integrations/references/jira/index.md index 9374f6ef..81f8cceb 100644 --- a/docs/sources/integrations/jira/index.md +++ b/docs/sources/configure/integrations/references/jira/index.md @@ -1,31 +1,33 @@ --- -aliases: - - jira/ - - /docs/oncall/latest/integrations/available-integrations/configure-jira/ -canonical: https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-jira/ +title: Jira integration for Grafana OnCall +menuTitle: Jira +description: Jira integration reference material for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts - - Notifications - - on-call - - webhooks - Jira + - Notifications labels: products: - cloud -title: Jira -weight: 500 +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/jira +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/jira + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/jira + - ../integrations/ # /docs/oncall//configure/integrations/references/jira --- # Jira integration for Grafana OnCall -> This integration is not available in OSS version +{{< admonition type="note" >}} +This integration is available exclusively on Grafana Cloud. +{{< /admonition >}} The Jira integration for Grafana OnCall handles issue events sent from Jira webhooks. The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates. -> You must have the [role of Admin][user-and-team-management] to be able to create integrations in Grafana OnCall. - ## Configuring Grafana OnCall to Receive Alerts from Jira 1. In the **Integrations** tab, click **+ New integration**. @@ -181,6 +183,6 @@ For more information on Jira REST API, refer to [Jira REST API documentation](ht [user-and-team-management]: "/docs/oncall/ -> /docs/oncall//manage/user-and-team-management" [user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/user-and-team-management" -[outgoing-webhooks]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks" -[outgoing-webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks" +[outgoing-webhooks]: "/docs/oncall/ -> /docs/oncall//configure/integrations/outgoing-webhooks" +[outgoing-webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/outgoing-webhooks" {{% /docs/reference %}} diff --git a/docs/sources/integrations/kapacitor/index.md b/docs/sources/configure/integrations/references/kapacitor/index.md similarity index 81% rename from docs/sources/integrations/kapacitor/index.md rename to docs/sources/configure/integrations/references/kapacitor/index.md index 9e4ff6c2..d684f19d 100644 --- a/docs/sources/integrations/kapacitor/index.md +++ b/docs/sources/configure/integrations/references/kapacitor/index.md @@ -1,16 +1,20 @@ --- -aliases: - - add-kapacitor/ - - /docs/oncall/latest/integrations/available-integrations/configure-kapacitor/ -canonical: https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-kapacitor/ +title: Kapacitor integration for Grafana OnCall +menuTitle: Kapacitor +description: Kapacitor integration reference material for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts + - Kapacitor - Notifications - - on-call - - kapacitor -title: Kapacitor -weight: 500 +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/kapacitor +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/kapacitor + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/kapacitor + - add-kapacitor/ + - ../integrations/ # /docs/oncall//configure/integrations/references/kapacitor --- # Kapacitor integration for Grafana OnCall @@ -18,8 +22,6 @@ weight: 500 The Kapacitor integration for Grafana OnCall handles ticket events sent from Kapacitor webhooks. The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates. -> You must have the [role of Admin][user-and-team-management] to be able to create integrations in Grafana OnCall. - ## Configuring Grafana OnCall to Receive Alerts from Kapacitor 1. In the **Integrations** tab, click **+ New integration**. diff --git a/docs/sources/integrations/manual/index.md b/docs/sources/configure/integrations/references/manual/index.md similarity index 89% rename from docs/sources/integrations/manual/index.md rename to docs/sources/configure/integrations/references/manual/index.md index a1f4fc8c..de5c9d82 100644 --- a/docs/sources/integrations/manual/index.md +++ b/docs/sources/configure/integrations/references/manual/index.md @@ -1,17 +1,20 @@ --- -aliases: - - /docs/oncall/latest/integrations/manual/ -canonical: https://grafana.com/docs/oncall/latest/integrations/manual/ +title: Manual paging +menuTitle: Manual paging +description: Manually page people in Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts - - Notifications - - on-call - - Alertmanager - - Prometheus - Direct paging -title: Page people manually -weight: 300 + - Notifications +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/appdynamics +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/manual + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/manual + - /docs/oncall/latest/integrations/manual/ + - ../integrations/ # /docs/oncall//configure/integrations/references/manual --- # Page people manually @@ -72,8 +75,8 @@ ChatOps channels. To confirm that the integration is functioning as intended, [c and select the same team for a test run. {{% docs/reference %}} -[integrations]: "/docs/oncall/ -> /docs/oncall//integrations" -[integrations]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations" +[integrations]: "/docs/oncall/ -> /docs/oncall//configure/integrations" +[integrations]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations" [escalation-chains-and-routes]: "/docs/oncall/ -> /docs/oncall//configure/escalation-chains-and-routes" [escalation-chains-and-routes]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/escalation-chains-and-routes" diff --git a/docs/sources/integrations/newrelic/index.md b/docs/sources/configure/integrations/references/newrelic/index.md similarity index 65% rename from docs/sources/integrations/newrelic/index.md rename to docs/sources/configure/integrations/references/newrelic/index.md index b0fd3317..9e9a755a 100644 --- a/docs/sources/integrations/newrelic/index.md +++ b/docs/sources/configure/integrations/references/newrelic/index.md @@ -1,30 +1,34 @@ --- -aliases: - - add-newrelic/ - - /docs/oncall/latest/integrations/available-integrations/configure-newrelic/ -canonical: https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-newrelic/ +title: New Relic integration for Grafana OnCall +menuTitle: New Relic +description: New Relic integration reference material for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts + - New Relic - Notifications - - on-call - - newrelic labels: products: - cloud -title: New Relic -weight: 500 +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/newrelic +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/newrelic + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/newrelic + - add-newrelic/ + - ../integrations/ # /docs/oncall//configure/integrations/references/newrelic --- # New Relic integration for Grafana OnCall -> This integration is not available in OSS version +{{< admonition type="note" >}} +This integration is available exclusively on Grafana Cloud. +{{< /admonition >}} The New Relic integration for Grafana OnCall handles ticket events sent from New Relic webhooks. The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates. -> You must have the [role of Admin][user-and-team-management] to be able to create integrations in Grafana OnCall. - ## Configuring Grafana OnCall to Receive Alerts from New Relic 1. In the **Integrations** tab, click **+ New integration**. diff --git a/docs/sources/integrations/pingdom/index.md b/docs/sources/configure/integrations/references/pingdom/index.md similarity index 67% rename from docs/sources/integrations/pingdom/index.md rename to docs/sources/configure/integrations/references/pingdom/index.md index aa44f1f7..35e89f5f 100644 --- a/docs/sources/integrations/pingdom/index.md +++ b/docs/sources/configure/integrations/references/pingdom/index.md @@ -1,30 +1,34 @@ --- -aliases: - - add-pingdom/ - - /docs/oncall/latest/integrations/available-integrations/configure-pingdom/ -canonical: https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-pingdom/ +title: Pingdom integration for Grafana OnCall +menuTitle: Pingdom +description: Pingdom integration reference material for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts + - Pingdom - Notifications - - on-call - - pingdom labels: products: - cloud -title: Pingdom -weight: 500 +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/pingdom +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/pingdom + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/pingdom + - add-pingdom/ + - ../integrations/ # /docs/oncall//configure/integrations/references/pingdom --- # Pingdom integration for Grafana OnCall -> This integration is not available in OSS version +{{< admonition type="note" >}} +This integration is available exclusively on Grafana Cloud. +{{< /admonition >}} The Pingdom integration for Grafana OnCall handles ticket events sent from Pingdom webhooks. The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates. -> You must have the [role of Admin][user-and-team-management] to be able to create integrations in Grafana OnCall. - ## Configuring Grafana OnCall to Receive Alerts from Pingdom 1. In the **Integrations** tab, click **+ New integration**. diff --git a/docs/sources/integrations/prtg/index.md b/docs/sources/configure/integrations/references/prtg/index.md similarity index 84% rename from docs/sources/integrations/prtg/index.md rename to docs/sources/configure/integrations/references/prtg/index.md index 00bf3f9f..32b49a73 100644 --- a/docs/sources/integrations/prtg/index.md +++ b/docs/sources/configure/integrations/references/prtg/index.md @@ -1,30 +1,34 @@ --- -aliases: - - add-prtg/ - - /docs/oncall/latest/integrations/available-integrations/configure-prtg/ -canonical: https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-prtg/ +title: PRTG integration for Grafana OnCall +menuTitle: PRTG +description: PRTG integration reference material for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts + - PRTG - Notifications - - on-call - - prtg labels: products: - cloud -title: PRTG -weight: 500 +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/prtg +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/prtg + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/prtg + - add-prtg/ + - ../integrations/ # /docs/oncall//configure/integrations/references/prtg --- # PRTG integration for Grafana OnCall -> This integration is not available in OSS version +{{< admonition type="note" >}} +This integration is available exclusively on Grafana Cloud. +{{< /admonition >}} The PRTG integration for Grafana OnCall handles ticket events sent from PRTG webhooks. The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates. -> You must have the [role of Admin][user-and-team-management] to be able to create integrations in Grafana OnCall. - ## Configuring Grafana OnCall to Receive Alerts from PRTG 1. In the **Integrations** tab, click **+ New integration**. diff --git a/docs/sources/integrations/sentry/index.md b/docs/sources/configure/integrations/references/sentry/index.md similarity index 75% rename from docs/sources/integrations/sentry/index.md rename to docs/sources/configure/integrations/references/sentry/index.md index 91d4fb65..4c068482 100644 --- a/docs/sources/integrations/sentry/index.md +++ b/docs/sources/configure/integrations/references/sentry/index.md @@ -1,30 +1,34 @@ --- -aliases: - - add-sentry/ - - /docs/oncall/latest/integrations/available-integrations/configure-Sentry/ -canonical: https://grafana.com/docs/oncall/latest/integrations/sentry/ +title: Sentry integration for Grafana OnCall +menuTitle: Sentry +description: Sentry integration reference material for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts + - Sentry - Notifications - - on-call - - sentry labels: products: - cloud -title: Sentry -weight: 500 +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/sentry +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/sentry + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/sentry + - add-sentry/ + - ../integrations/ # /docs/oncall//configure/integrations/references/sentry --- # Sentry integration for Grafana OnCall -> This integration is not available in OSS version +{{< admonition type="note" >}} +This integration is available exclusively on Grafana Cloud. +{{< /admonition >}} The Sentry integration for Grafana OnCall handles ticket events sent from Sentry webhooks. The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates. -> You must have the [role of Admin][user-and-team-management] to be able to create integrations in Grafana OnCall. - ## Configuring Grafana OnCall to Receive Alerts from Sentry 1. In the **Integrations** tab, click **+ New integration**. diff --git a/docs/sources/integrations/servicenow/index.md b/docs/sources/configure/integrations/references/servicenow/index.md similarity index 90% rename from docs/sources/integrations/servicenow/index.md rename to docs/sources/configure/integrations/references/servicenow/index.md index c12c1811..36142b86 100644 --- a/docs/sources/integrations/servicenow/index.md +++ b/docs/sources/configure/integrations/references/servicenow/index.md @@ -1,23 +1,23 @@ --- title: ServiceNow integration for Grafana OnCall menuTitle: ServiceNow -description: Learn how to configure the ServiceNow integration for Grafana OnCall -weight: 500 +description: Learn how to configure the ServiceNow integration for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts - - Notifications - - on-call - - webhooks - ServiceNow -canonical: https://grafana.com/docs/oncall/latest/integrations/servicenow -aliases: - - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/servicenow - - /docs/oncall/latest/integrations/servicenow/ - - /servicenow/ + - Notifications labels: products: - cloud +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/servicenow +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/servicenow + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/servicenow + - /docs/oncall/latest/integrations/servicenow/ + - ../integrations/ # /docs/oncall//configure/integrations/references/servicenow --- # ServiceNow integration for Grafana OnCall @@ -144,9 +144,9 @@ Example: Set the "urgency" field based on alert group labels, add the provided J For more information, refer to [Outgoing webhook templates] and [Alert group labels]. {{% docs/reference %}} -[Alert group labels]: "/docs/oncall/ -> /docs/oncall//integrations#alert-group-labels" -[Alert group labels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations#alert-group-labels" +[Alert group labels]: "/docs/oncall/ -> /docs/oncall//configure/integrations/labels#alert-group-labels" +[Alert group labels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/labels#alert-group-labels" -[Outgoing webhook templates]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks#outgoing-webhook-templates" -[Outgoing webhook templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks#outgoing-webhook-templates" +[Outgoing webhook templates]: "/docs/oncall/ -> /docs/oncall//configure/integrations/outgoing-webhooks#outgoing-webhook-templates" +[Outgoing webhook templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/outgoing-webhooks#outgoing-webhook-templates" {{% /docs/reference %}} diff --git a/docs/sources/integrations/stackdriver/index.md b/docs/sources/configure/integrations/references/stackdriver/index.md similarity index 65% rename from docs/sources/integrations/stackdriver/index.md rename to docs/sources/configure/integrations/references/stackdriver/index.md index 9546273d..b4d72406 100644 --- a/docs/sources/integrations/stackdriver/index.md +++ b/docs/sources/configure/integrations/references/stackdriver/index.md @@ -1,30 +1,34 @@ --- -aliases: - - add-stackdriver/ - - /docs/oncall/latest/integrations/available-integrations/configure-stackdriver/ -canonical: https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-stackdriver/ +title: Stackdriver integration for Grafana OnCall +menuTitle: Stackdriver +description: Learn how to configure the Stackdriver integration for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts + - Stackdriver - Notifications - - on-call - - stackdriver labels: products: - cloud -title: Stackdriver -weight: 500 +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/stackdriver +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/stackdriver + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/stackdriver + - /docs/oncall/latest/integrations/stackdriver/ + - ../integrations/ # /docs/oncall//configure/integrations/references/stackdriver --- # Stackdriver integration for Grafana OnCall -> This integration is not available in OSS version +{{< admonition type="note" >}} +This integration is available exclusively on Grafana Cloud. +{{< /admonition >}} The Stackdriver integration for Grafana OnCall handles ticket events sent from Stackdriver webhooks. The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates. -> You must have the [role of Admin][user-and-team-management] to be able to create integrations in Grafana OnCall. - ## Configuring Grafana OnCall to Receive Alerts from Stackdriver 1. In the **Integrations** tab, click **+ New integration**. diff --git a/docs/sources/integrations/uptimerobot/index.md b/docs/sources/configure/integrations/references/uptimerobot/index.md similarity index 74% rename from docs/sources/integrations/uptimerobot/index.md rename to docs/sources/configure/integrations/references/uptimerobot/index.md index d14fb720..724b1bf5 100644 --- a/docs/sources/integrations/uptimerobot/index.md +++ b/docs/sources/configure/integrations/references/uptimerobot/index.md @@ -1,30 +1,37 @@ --- -aliases: - - add-uptimerobot/ - - /docs/oncall/latest/integrations/available-integrations/configure-uptimerobot/ -canonical: https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-uptimerobot/ +title: UptimeRobot integration for Grafana OnCall +menuTitle: UptimeRobot +description: Learn how to configure the UptimeRobot integration for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts + - UptimeRobot - Notifications - - on-call - - uptimerobot labels: products: - cloud -title: UptimeRobot -weight: 500 +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/uptimerobot +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/uptimerobot + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/uptimerobot + - /docs/oncall/latest/integrations/available-integrations/configure-uptimerobot + - add-uptimerobot/ + - ../integrations/ # /docs/oncall//configure/integrations/references/uptimerobot --- + + # UptimeRobot integration for Grafana OnCall -> This integration is not available in OSS version +{{< admonition type="note" >}} +This integration is available exclusively on Grafana Cloud. +{{< /admonition >}} The UptimeRobot integration for Grafana OnCall handles ticket events sent from UptimeRobot webhooks. The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates. -> You must have the [role of Admin][user-and-team-management] to be able to create integrations in Grafana OnCall. - ## Configuring Grafana OnCall to Receive Alerts from UptimeRobot 1. In the **Integrations** tab, click **+ New integration**. diff --git a/docs/sources/integrations/webhook/index.md b/docs/sources/configure/integrations/references/webhook/index.md similarity index 79% rename from docs/sources/integrations/webhook/index.md rename to docs/sources/configure/integrations/references/webhook/index.md index 372e0f16..d1c54f95 100644 --- a/docs/sources/integrations/webhook/index.md +++ b/docs/sources/configure/integrations/references/webhook/index.md @@ -1,16 +1,24 @@ --- -aliases: - - ../add-webhook-integration/ -canonical: https://grafana.com/docs/oncall/latest/integrations/webhook/ +title: Inbound Webhook for Grafana OnCall +menuTitle: Inbound Webhooks +description: Learn how to configure the Webhook integration for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts + - Webhook - Notifications - - on-call - - Alertmanager - - Prometheus -title: Inbound Webhook -weight: 700 +labels: + products: + - cloud +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/webhook +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/webhook + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/webhook + - /docs/oncall/latest/integrations/webhook/ + - /add-webhook-integration/ + - ../integrations/ # /docs/oncall//configure/integrations/references/webhook --- # Inbound Webhook integrations for Grafana OnCall diff --git a/docs/sources/integrations/zabbix/index.md b/docs/sources/configure/integrations/references/zabbix/index.md similarity index 89% rename from docs/sources/integrations/zabbix/index.md rename to docs/sources/configure/integrations/references/zabbix/index.md index 70b49c5d..f7f0418e 100644 --- a/docs/sources/integrations/zabbix/index.md +++ b/docs/sources/configure/integrations/references/zabbix/index.md @@ -1,15 +1,24 @@ --- -aliases: - - add-zabbix/ -canonical: https://grafana.com/docs/oncall/latest/integrations/zabbix/ +title: Zabbix integration for Grafana OnCall +menuTitle: Zabbix +description: Learn how to configure the Zabbix integration for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts - - Notifications - - on-call - Zabbix -title: Zabbix -weight: 500 + - Notifications +labels: + products: + - cloud +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/zabbix +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/zabbix + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/zabbix + - /docs/oncall/latest/integrations/zabbix + - /add-zabbix/ + - ../integrations/ # /docs/oncall//configure/integrations/references/zabbix --- # Zabbix integration for Grafana OnCall diff --git a/docs/sources/integrations/zendesk/index.md b/docs/sources/configure/integrations/references/zendesk/index.md similarity index 89% rename from docs/sources/integrations/zendesk/index.md rename to docs/sources/configure/integrations/references/zendesk/index.md index 5887ecd7..e147fa1c 100644 --- a/docs/sources/integrations/zendesk/index.md +++ b/docs/sources/configure/integrations/references/zendesk/index.md @@ -1,20 +1,24 @@ --- -aliases: - - add-zendesk/ - - /docs/oncall/latest/integrations/available-integrations/configure-zendesk/ -canonical: https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-zendesk/ +title: Zendesk integration for Grafana OnCall +menuTitle: Zendesk +description: Learn how to configure the Zendesk integration for Grafana OnCall. +weight: 0 keywords: - - Grafana Cloud + - OnCall + - Integrations - Alerts - - Notifications - - on-call - - webhooks - Zendesk + - Notifications labels: products: - cloud -title: Zendesk -weight: 500 +canonical: https://grafana.com/docs/oncall/latest/configure/integrations/references/zendesk +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/zendesk + - /docs/grafana-cloud/alerting-and-irm/oncall/integrations/zendesk + - /docs/oncall/latest/integrations/zendesk/ + - /add-zendesk/ + - ../integrations/ # /docs/oncall//configure/integrations/references/zendesk --- # Zendesk integration for Grafana OnCall @@ -24,8 +28,6 @@ weight: 500 The Zendesk integration for Grafana OnCall handles ticket events sent from Zendesk webhooks. The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates. -> You must have the [role of Admin][user-and-team-management] to be able to create integrations in Grafana OnCall. - ## Configuring Grafana OnCall to Receive Alerts from Zendesk 1. In the **Integrations** tab, click **+ New integration**. @@ -171,6 +173,6 @@ For more information on Zendesk API, refer to [Zendesk API documentation](https: [user-and-team-management]: "/docs/oncall/ -> /docs/oncall//manage/user-and-team-management" [user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/user-and-team-management" -[outgoing-webhooks]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks" -[outgoing-webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks" +[outgoing-webhooks]: "/docs/oncall/ -> /docs/oncall//configure/integrations/outgoing-webhooks" +[outgoing-webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/outgoing-webhooks" {{% /docs/reference %}} diff --git a/docs/sources/configure/jinja2-templating/_index.md b/docs/sources/configure/jinja2-templating/_index.md new file mode 100644 index 00000000..0a774dc6 --- /dev/null +++ b/docs/sources/configure/jinja2-templating/_index.md @@ -0,0 +1,157 @@ +--- +title: Configure templates +menuTitle: Templates +description: Understand how to configure and customize alert templates for OnCall. +weight: 200 +keywords: + - OnCall + - Configuration + - Webhooks + - JSON + - Alert payload + - Conditions +canonical: https://grafana.com/docs/oncall/latest/configure/jinja2-templating/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating/ + - /docs/grafana-cloud/alerting-and-irm/oncall/jinja2-templating/ + - ../jinja2-templating/ # /docs/oncall//jinja2-templating/ +--- + + +## Configure templates + +Grafana OnCall integrates with your monitoring systems using webhooks with JSON payloads. +By default, these webhooks deliver raw JSON payloads. +Grafana OnCall applies a pre-configured alert template to modify these payloads into a more human-readable format. +These templates are customizable, enabling you to format alerts and notify different escalation chains based on alert content. + + + +## Understand your alert payload + +Alerts received by Grafana OnCall contain metadata as key-value pairs in a JSON object. + +All alerts and alert groups in Grafana OnCall contain the following fields. + +- `Title` +- `Message` +- `Image Url` +- `Grouping Id` +- `Resolved by source` +- `Acknowledged by source` +- `Source link` + +The following is an example of an alert initiated by Grafana Alerting and received by Grafana OnCall: + +```json +{ + "dashboardId": 1, + "title": "[Alerting] Panel Title alert", + "message": "Notification Message", + "evalMatches": [ + { + "value": 1, + "metric": "Count", + "tags": {} + } + ], + "imageUrl": "https://grafana.com/static/assets/img/blog/mixed_styles.png", + "orgId": 1, + "panelId": 2, + "ruleId": 1, + "ruleName": "Panel Title alert", + "ruleUrl": "http://localhost:3000/d/hZ7BuVbWz/test-dashboard?fullscreen\u0026edit\u0026tab=alert\u0026panelId=2\u0026orgId=1", + "state": "alerting", + "tags": { + "tag name": "tag value" + } +} +``` + +### Map payloads to OnCall fields + +Each field of an alert in OnCall is mapped to the JSON payload keys. + +Grafana OnCall converts the JSON payload to specific alert fields. For example: + +- `{{ payload.title }}` -> `Title` +- `{{ payload.message }}` -> `Message` +- `{{ payload.imageUrl }}` -> `Image Url` + +Behavioral mappings include: + +- `{{ payload.ruleId }}` -> `Grouping Id` +- `{{ 1 if payload.state == 'OK' else 0 }}` -> `Resolve Signal` + +## Types of templates + +Alert templates allow you to format any alert fields recognized by Grafana OnCall. +You can customize default alert templates for all the different notification methods. + +{{< admonition type="note" >}} +For conditional templates, the output should be `True` to be applied, for example `{{ True if payload.state == 'OK' else False }}` +{{< /admonition >}} + +### Routing template + +Routing templates determine how alerts are routed to different escalation chains based on alert content. + +These are conditional templates, output should be `True`. + +### Appearance templates + +Appearance templates customize how alerts are displayed across various platforms, including the web, Slack, MS Teams, SMS, phone calls, emails, +and mobile app push notifications. + +You can use appearance templates to define `Title`, `Message`, and `Image URL` depending on the notification method. + +- `Title`, `Message`, `Image URL` for Web +- `Title`, `Message`, `Image URL` for Slack +- `Title`, `Message`, `Image URL` for MS Teams +- `Title`, `Message`, `Image URL` for Telegram +- `Title` for SMS +- `Title` for Phone Call +- `Title`, `Message` for Email +- `Title`, `Message` for push notifications + +### Behavioral templates + +Behavioral templates control alert behaviors such as grouping, auto-resolution, and acknowledgment. + +- `Grouping Id`: Applied to every incoming alert payload after routing. Determines how alerts are grouped. +- `Autoresolution`: Automatically resolves alert groups with a status of `Resolved by source` (conditional template). +- `Auto acknowledge`: Automatically acknowledges alert groups with a status of `Acknowledged by source` (conditional template). +- `Source link`: Customizes the URL link provided as the alert's source. + +{{< admonition type="tip" >}} +As a best practice, add Playbooks, useful links, or checklists to the alert message. +{{< /admonition >}} + +### Integration templates + +Integration templates are applied to alerts that originated from a specific integration to define alert rendering and behavior. + +Grafana OnCall provides pre-configured default Jinja templates for supported integrations. +For any monitoring system not available in the Grafana OnCall integrations list, configure a [Webhook integration][webhook-integration] and configure your +templates as needed. + +## Edit templates + +1. Open the **Integration** page for the desired integration. +1. Navigate to the **Templates** section and click **Edit** to see previews of all templates for the integration. +1. Select the template to edit and click **Edit**. +The template editor will open with three columns: example alert payload, the template itself, and the rendered result. +1. Choose a **Recent Alert group** to see its latest alert payload. Click **Edit** to modify this payload. +1. Alternatively, click **Use custom payload** to write your own payload and see its rendering. +1. Press `Control + Enter` in the editor to view suggestions. +1. Click **Cheatsheet** in the second column for inspiration. +1. For messenger templates, click **Save and open Alert Group in ChatOps** to see how the alert renders in the messenger. +Note: The alert group must exist in the messenger to preview the template. +1. Click **Save** to save the template. + +{{% docs/reference %}} +[webhook-integration]: "/docs/oncall/ -> /docs/oncall//configure/integrations/references/webhook" +[webhook-integration]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/webhook" +{{% /docs/reference %}} diff --git a/docs/sources/configure/jinja2-templating/advanced-templates/index.md b/docs/sources/configure/jinja2-templating/advanced-templates/index.md new file mode 100644 index 00000000..fa687b52 --- /dev/null +++ b/docs/sources/configure/jinja2-templating/advanced-templates/index.md @@ -0,0 +1,100 @@ +--- +title: Advanced template configuration +menuTitle: Advanced templates +description: Understand advanced configuration options for alert templates in OnCall. +weight: 400 +keywords: + - OnCall + - Configuration + - Webhooks + - JSON + - Alert payload + - Conditions + - Advanced templates +canonical: https://grafana.com/docs/oncall/latest/configure/jinja2-templating/advanced-templates/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating/advanced-templates/ + - ../jinja2-templating/advanced-templates/ # /docs/oncall//jinja2-templating/advanced-templates/ +--- + +# Advanced template configuration + +Grafana OnCall uses the [Jinja templating language](http://jinja.pocoo.org/docs/2.10/) to +format alert groups for various platforms such as the Web, Slack, phone calls, SMS messages, and more. +This allows you to customize the presentation and content of alerts when they are triggered. + +Jinja2 offers a range of functionalities, including loops, conditions, and functions, which can be used to enhance alert template customization. +Every alert from a monitoring system is received in a key/value format, which Grafana OnCall maps to specific fields, such as: +`title`, `message`, `image`, `grouping`, and `auto-resolve`. + +To learn more about mapping your alert payload to Grafana OnCall fields, refer to [map payloads to OnCall fields][map-payloads-to-oncall-fields]. + +## Loops + +Monitoring systems can send an array of values. Use Jinja to iterate and format the alert payloads. For example: + +```.jinja2 +*Values:* + {% for evalMatch in payload.evalMatches -%} + `{{ evalMatch['metric'] }}: '{{ evalMatch['value'] -}}'`{{ " " }} + {%- endfor %} +``` + +## Conditions + +Add conditional instructions based on specific alert rules. For instance, to provide instructions when an alert comes from a specific Grafana alert rule: + +````jinja2 +{% if payload.ruleId == '1' -%} +*Alert TODOs* +1. Get access to the container + ``` + kubectl port-forward service/example 3000:80 + ``` +2. Check for the exception. +3. Open the container and reload caches. +4. Click Custom Button `Send to Jira` +{%- endif -%} +```` + +## Built-in Jinja functions + +Jinja2 includes various built-in functions that can be used in Grafana OnCall. For example, to prettify JSON: + +```.jinja2 +{{ payload | tojson_pretty }} +``` + +Some commonly used built-in functions include: + +- `abs` +- `capitalize` +- `trim` + +For a full list of Jinja built-in functions, see the +[Jinja documentation on GitHub](https://github.com/pallets/jinja/blob/3915eb5c2a7e2e4d49ebdf0ecb167ea9c21c60b2/src/jinja2/filters.py#L1307) + +## Functions added by Grafana OnCall + +Grafana OnCall enhances Jinja with additional functions: + +- `time`: Current time +- `tojson`: Dumps a structure to JSON +- `tojson_pretty`: Same as `tojson`, but prettified +- `iso8601_to_time`: Converts ISO8601 time (`2015-02-17T18:30:20.000Z`) to datetime +- `datetimeformat`: Converts datetime to string according to strftime format codes (`%H:%M / %d-%m-%Y` by default) +- `datetimeformat_as_timezone`: Converts datetime to string with timezone conversion (`UTC` by default) + - Usage example: `{{ payload.alerts.startsAt | iso8601_to_time | datetimeformat_as_timezone('%Y-%m-%dT%H:%M:%S%z', 'America/Chicago') }}` +- `datetimeparse`: Converts string to datetime according to strftime format codes (`%H:%M / %d-%m-%Y` by default) +- `regex_replace`: Performs a regex find and replace +- `regex_match`: Performs a regex match, returns `True` or `False` + - Usage example: `{{ payload.ruleName | regex_match(".*") }}` +- `b64decode`: Performs a base64 string decode + - Usage example: `{{ payload.data | b64decode }}` +- `parse_json`:Parses a JSON string to an object + - Usage example: `{{ (payload.data | b64decode | parse_json).name }}` + +{{% docs/reference %}} +[map-payloads-to-oncall-fields]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating#map-payloads-to-oncall-fields" +[map-payloads-to-oncall-fields]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating#map-payloads-to-oncall-fields" +{{% /docs/reference %}} diff --git a/docs/sources/configure/jinja2-templating/index.md b/docs/sources/configure/jinja2-templating/index.md deleted file mode 100644 index ff970206..00000000 --- a/docs/sources/configure/jinja2-templating/index.md +++ /dev/null @@ -1,232 +0,0 @@ ---- -title: Jinja2 templating -menuTitle: Jinja2 templating -description: Understand how to configure and customize alert templates for OnCall. -weight: 700 -keywords: - - OnCall - - Configuration - - Webhooks - - JSON - - Alert payload - - Conditions -canonical: https://grafana.com/docs/oncall/latest/configure/jinja2-templating/ -aliases: - - /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating/ - - /docs/grafana-cloud/alerting-and-irm/oncall/jinja2-templating/ - - ../jinja2-templating/ # /docs/oncall//jinja2-templating/ ---- - - -## Jinja2 templating - -Grafana OnCall can integrate with any monitoring system that can send alerts via -webhooks with JSON payloads. By default, webhooks deliver raw JSON payloads. When Grafana -OnCall receives an alert and parses its payload, a default pre-configured alert template -is applied to modify the alert payload to be more human-readable. These alert templates -are customizable for any integration. Templates are also used to notify different -escalation chains based on the content of the alert payload. - - - -## Alert payload - -Alerts received by Grafana OnCall contain metadata as keys and values in a JSON object. -The following is an example of an alert which was initiated by Grafana Alerting, and -received by Grafana OnCall: - -```json -{ - "dashboardId": 1, - "title": "[Alerting] Panel Title alert", - "message": "Notification Message", - "evalMatches": [ - { - "value": 1, - "metric": "Count", - "tags": {} - } - ], - "imageUrl": "https://grafana.com/static/assets/img/blog/mixed_styles.png", - "orgId": 1, - "panelId": 2, - "ruleId": 1, - "ruleName": "Panel Title alert", - "ruleUrl": "http://localhost:3000/d/hZ7BuVbWz/test-dashboard?fullscreen\u0026edit\u0026tab=alert\u0026panelId=2\u0026orgId=1", - "state": "alerting", - "tags": { - "tag name": "tag value" - } -} -``` - -In Grafana OnCall every alert and alert group have the following fields: - -- `Title`, `Message` and `Image Url` for each notification method (Web, Slack, Ms Teams, SMS, Phone, Email, etc.) -- `Grouping Id` - unique identifier for each non-resolved alert group -- `Resolved by source` -- `Acknowledged by source` -- `Source link` - -The JSON payload is converted to OnCall fields. For example: - -- `{{ payload.title }}` -> `Title` -- `{{ payload.message }}` -> `Message` -- `{{ payload.imageUrl }}` -> `Image Url` - -The result is that each field of the alert in OnCall is now mapped to the JSON payload -keys. This also true for the -alert behavior: - -- `{{ payload.ruleId }}` -> Grouping Id -- `{{ 1 if payload.state == 'OK' else 0 }}` -> Resolve Signal - -Grafana OnCall provides pre-configured default Jinja templates for supported -integrations. If your monitoring system is -not in the Grafana OnCall integrations list, you can create a generic `webhook` -integration, send an alert, and configure -your templates. - -## Types of templates - -Alert templates allow you to format any alert fields recognized by Grafana OnCall. You can -customize default alert -templates for all the different notification methods. For more advanced -customization, use Jinja templates. - -### Routing template - -- `Routing Template` - used to route alerts to different Escalation Chains based on alert content (conditional template, output should be `True`) - - > **Note:** For conditional templates, the output should be `True` to be applied, for example `{{ True if payload.state == 'OK' else False }}` - -#### Appearance templates - -How alerts are displayed in the UI, messengers, and notifications - -- `Title`, `Message`, `Image url` for Web -- `Title`, `Message`, `Image url` for Slack -- `Title`, `Message`, `Image url` for MS Teams -- `Title`, `Message`, `Image url` for Telegram -- `Title` for SMS -- `Title` for Phone Call -- `Title`, `Message` for Email -- `Title`, `Message` for Mobile app push notifications - -#### Behavioral templates - -- `Grouping Id` - applied to every incoming alert payload after the `Routing Template`. It -can be based on time, alert content, or both. If the resulting grouping id matches an -existing non-resolved alert group grouping id, the alert will be grouped accordingly. -Otherwise, a new alert group will be created -- `Autoresolution` - used to auto-resolve alert groups with status `Resolved by source` -(Conditional template, output should be `True`) -- `Auto acknowledge` - used to auto-acknowledge alert groups with status `Acknowledged by -source` (Conditional template, output should be `True`) -- `Source link` - Used to customize the URL link to provide as the "source" of the alert. - - > **Note:** For conditional templates, the output should be `True` to be applied, for - example `{{ True if payload.state == 'OK' else False }}` - -> **Pro Tip:** As a best practice, add _Playbooks_, _Useful links_, or _Checklists_ to the -alert message. - -#### How to edit templates - -1. Open the **Integration** page for the integration you want to edit -1`. Click the **Edit** button for the Templates Section. Now you can see previews of all -templates for the Integration -1. Select the template you want to edit and click the **Edit** button to the right to the template -name. The template editor will open. The first column is the example alert payload, second -column is the Template itself, and third column is used to view rendered result. -1. Select one of the **Recent Alert groups** for the integration to see its `latest alert -payload`. If you want to edit this payload, click the **Edit** button right to the Alert Group -Name. -1. Alternatively, you can click **Use custom payload** and write your own payload to see -how it will be rendered -1. Press `Control + Enter` in the editor to see suggestions -1. Click **Cheatsheet** in the second column to get some inspiration. -1. If you edit Messenger templates, click **Save and open Alert Group in ChatOps** to see -how the alert will be rendered in the messenger, right in the messenger (Only works for -an Alert Group that exists in the messenger) -1. Click **Save** to save the template - -## Advanced Jinja templates - -Grafana OnCall uses the [Jinja templating language](http://jinja.pocoo.org/docs/2.10/) to -format alert groups for the Web, -Slack, phone calls, SMS messages, and more. As a result, you -can decide what you want to see when an alert group is triggered, as well as how it should -be presented. - -Jinja2 offers simple but multi-faceted functionality by using loops, conditions, -functions, and more. - -> **NOTE:** Every alert from a monitoring system comes in the key/value format. - -Grafana OnCall has rules about which of the keys match to: `__title`, `message`, `image`, `grouping`, and `auto-resolve__`. - -### Loops - -Monitoring systems can send an array of values. In this example, you can use Jinja to -iterate and format the alert -using a Grafana example: - -```.jinja2 -*Values:* - {% for evalMatch in payload.evalMatches -%} - `{{ evalMatch['metric'] }}: '{{ evalMatch['value'] -}}'`{{ " " }} - {%- endfor %} -``` - -### Conditions - -You can add instructions if an alert comes from a specified Grafana alert rule: - -````jinja2 -{% if payload.ruleId == '1' -%} -*Alert TODOs* -1. Get acess to the container - ``` - kubectl port-forward service/example 3000:80 - ``` -2. Check for the exception. -3. Open the container and reload caches. -4. Click Custom Button `Send to Jira` -{%- endif -%} -```` - -### Built-in Jinja functions - -Jinja2 includes built-in functions that can also be used in Grafana OnCall. For example: - -```.jinja2 -{{ payload | tojson_pretty }} -``` - -Built-in functions: - -- `abs` -- `capitalize` -- `trim` -- You can see the full list of Jinja built-in functions on github [here](https://github.com/pallets/jinja/blob/3915eb5c2a7e2e4d49ebdf0ecb167ea9c21c60b2/src/jinja2/filters.py#L1307) - -### Functions added by Grafana OnCall - -- `time` - current time -- `tojson` - dumps a structure to JSON -- `tojson_pretty` - same as tojson, but prettified -- `iso8601_to_time` - converts time from iso8601 (`2015-02-17T18:30:20.000Z`) to datetime -- `datetimeformat` - converts datetime to string according to strftime format codes (`%H:%M / %d-%m-%Y` by default) -- `datetimeformat_as_timezone` - same as `datetimeformat`, with the inclusion of timezone conversion (`UTC` by default) - - Usage example: `{{ payload.alerts.startsAt | iso8601_to_time | datetimeformat_as_timezone('%Y-%m-%dT%H:%M:%S%z', 'America/Chicago') }}` -- `datetimeparse` - converts string to datetime according to strftime format codes (`%H:%M / %d-%m-%Y` by default) -- `regex_replace` - performs a regex find and replace -- `regex_match` - performs a regex match, returns `True` or `False` - - Usage example: `{{ payload.ruleName | regex_match(".*") }}` -- `b64decode` - performs a base64 string decode - - Usage example: `{{ payload.data | b64decode }}` -- `parse_json` - parses a given json string to an object - - Usage example: `{{ (payload.data | b64decode | parse_json).name }}` diff --git a/docs/sources/configure/live-call-routing/index.md b/docs/sources/configure/live-call-routing/index.md index 771a783b..edc4f0fa 100644 --- a/docs/sources/configure/live-call-routing/index.md +++ b/docs/sources/configure/live-call-routing/index.md @@ -1,8 +1,8 @@ --- title: Configure SMS & call routing with Grafana OnCall -menuTitle: Configure SMS & call routing +menuTitle: SMS & call routing tutorial description: A step-by-step guide on how to configure SMS & call routing with Grafana OnCall and Twilio. -weight: 300 +weight: 400 keywords: - OnCall - Live call routing diff --git a/docs/sources/integrations/_index.md b/docs/sources/integrations/_index.md deleted file mode 100644 index 10a0a501..00000000 --- a/docs/sources/integrations/_index.md +++ /dev/null @@ -1,359 +0,0 @@ ---- -canonical: https://grafana.com/docs/oncall/latest/integrations/ -keywords: - - Grafana Cloud - - Alerts - - Notifications - - on-call - - amixr - - oncall - - integrations -title: Integrations -weight: 500 ---- - -# Integrations - -An "Integration" is a main entry point for alerts being consumed by Grafana OnCall. -Integrations receive alerts on a unique API URL, interprets them using a set of templates tailored for the monitoring system, and starts -escalations. - -For more information about the templating used in OnCall, refer to [Jinja2 templating][]. - -## Learn Alert Flow Within Integration - -1. An Alert is received on an integration's **Unique URL** as an HTTP POST request with a JSON payload (or via -[Inbound email][], for inbound email integrations) -1. Routing is determined for the incoming alert, by applying the [Routing Template][] -1. Alert Grouping is determined based on [Grouping Id Template][] -1. An Alert Group may be acknowledged or resolved with status `_ by source` based on its [Behavioral templates][] -1. The Alert Group is available in Web, and can be published to messengers, based on the Route's **Publish to Chatops** configuration. -It is rendered using [Appearance templates][] -1. The Alert Group is escalated to users based on the Escalation Chains selected for the Route -1. Users can perform actions listed in [Learn about the Alert Workflow][] section - -## Configure and manage integrations - -You can configure and manage your integrations from the **Integrations** tab in Grafana OnCall. The following sections -describe how to configure and customize your integrations to ensure alerts are treated appropriately. - -### Connect an integration - -To configure an integration for Grafana OnCall: - -1. In Grafana OnCall, navigate to the **Integrations** tab and click **+ New integration**. -1. Select an integration type from the [list of available integrations](#list-of-available-integrations). -If the integration you want isn’t listed, then select **Webhook**. -1. Fill in a title and a description for your integration, assign it to a team, and click **Create Integration**. -1. The Integration page will open. Here you will see details about the Integration. -You can use the HTTP Endpoint url to send events from an external monitoring system. -Click the **How to connect** link for more information. -1. Complete any necessary configurations in your tool to send alerts to Grafana OnCall. -1. Click **Send demo alert** to send a test alert to Grafana OnCall. - -### Complete the integration configuration - -- Review and customise grouping, autoresolution, autoacknowledge templates -if you want to customise alert behaviour for your team -- Review and customise other templates to change how alert groups are displayed -in different parts of Grafana OnCall: UI, messengers, emails, notifications, etc. -- Add routes to your integration to route alerts to different users and teams based on labels or other data -- Connect your escalation chains to routes to notify the right people, at the right time -- Learn [how to start Maintenance Mode](#maintenance-mode) for an integration -- Send demo alerts to an integration to make sure routes, templates, and escalations, are working as expected. Consider using -`Debug Maintenance mode` to avoid sending real notifications to your team - -### Manage integrations - -To manage existing integrations, navigate to the **Integrations** tab in Grafana OnCall and select the integration -you want to manage. - -#### Maintenance Mode - -Start maintenance mode when performing scheduled maintenance or updates on your infrastructure, which may trigger false alarms. -There are two possible maintenance modes: - -- **Debug** - test routing and escalations without real notifications. Alerts will be processed as usual, but no notifications -will be sent to users. -- **Maintenance** - group alerts into one during infrastructure work. - -##### Manage maintenance Mode - -1. Go to the Integration page and click **Three dots** -1. Select **Start Maintenance Mode** -1. Select **Debug** or **Maintenance** mode -1. Set the **Duration** of Maintenance Mode -1. Click **Start** -1. If you want to stop maintenance mode before it ends, click **Three dots** and select **Stop Maintenance Mode** - -#### Heartbeat monitoring - -An OnCall heartbeat acts as a healthcheck for alert group monitoring. You can configure you monitoring to regularly send alerts -to the heartbeat endpoint. If OnCall doesn't receive one of these alerts, it will create an new alert group and escalate it - -1. Go to Integration page and click **Three dots** -1. Select **Heartbeat Settings** -1. Set **Heartbeat interval** -1. Copy **Endpoint** into you monitoring system. - -If you need to disable heartbeat monitoring on an integration use the **Reset** button to return it to the state of being -inactive. To start the heartbeat monitoring again send a request to the **Endpoint**. - -More specific instructions can be found in a specific integration's documentation. - -#### Behaviour and rendering templates example - -_Integration templates_ are Jinja2 templates which are applied to each alert to define it's rendering and behaviour. -For more information refer to [Jinja2 templating][]. - -For templates editor: - -1. Navigate to the **Integrations** tab, select an integration from the list. -2. Click the **gear icon** next to the integration name. - -Here are a few templates responsible for alert group formation: - -- **Alert Behaviour, Grouping id** - defining how alerts will be grouped into alert groups. Alerts with the same result -- of executing of this template will be grouped together. For example: - -Alert 1 payload:`{"name": "CPU 90%", "cluster": "EU"}` - -Alert 2 payload:`{"name": "CPU 90%", "cluster": "US"}` - -If we want to group them together by name, we could use template `{{ payload.name }}` which will result to the equal -grouping id "CPU 90%". If we want to group them by region and end up with 2 separate alert groups, we could use such a -template: `{{ payload.region }}}` - -- **Alert Behaviour, Acknowledge Condition** - If this template will be rendered as "True" or "1", containing alert -- group will change it's state to "acknowledged". - -- **Alert Behaviour, Resolve Condition** - Similar to Acknowledge Condition, will make alert group "resolved". - -- **Alert Behaviour, Source Link** - result of rendering of this template will be used in various places of the UI. -Should point to the most specific place in the alert source related to the alert group. Also rendering result will be -available in other templates as a variable `{{ source_link }}`. - -#### Edit integration name, description and assigned team - -To edit the name of an integration: - -1. Navigate to the **Integrations** tab, select an integration from the list of enabled integrations. -2. Click the **three dots** next to the integration name and select **Integration settings**. -3. Provide a new name, description, and team, and click **Save**. - -#### Labels - -> **Note:** Labels are currently available only in cloud. - -Integration labels allows to manage and filter integrations based on specific criteria -and pass these labels down to Alert Groups. -It could be useful to organize integrations by service, region or other custom attribute. - -To assign labels to the integration: - -1. Navigate to the **Integrations** tab, select an integration from the list of enabled integrations. -2. Click the **three dots** next to the integration name and select **Integration settings**. -3. Define a Key and Value of the label, either by: - - Selecting existing key and values from the dropdown list - - Typing new keys and values into the fields and accepting with enter/return key -4. If you want to add more labels click on **Add** button. You can also remove the label using X button next to the key-value pair. -5. Click **Save**. - -To filter integrations by labels: - -1. Navigate to the **Integrations** tab -2. Find the **Search or filter results…** dropdown and select **Label** -3. Start typing to find suggestions and select the key-value pair you'd like to filter by. - -#### Alert Group Labels - -The Alert Group Labeling feature allows users to: - -- Assign labels to alert groups -- Filter alert groups by labels -- Customize the Alert Group table -- Pass labels in [Webhooks] - -##### Label Assignment Limits - -Up to 15 Labels: OnCall allows the assignment of up to 15 labels to an alert group. -If there are more than 15 labels to be assigned, only the first 15 labels (sorted alphabetically) -from the first alert in the group will be assigned. - -##### Label Persistence - -Once a label is assigned to an alert group, it remains unchanged, even if the label is edited. -This approach considers the label as historical data. - -##### Configuration - -Alert Group Labeling is configured per-integration, and the settings are accessible in the Alert Group Labeling tab. - -To find Alert Group Labeling Settings: - -1. Navigate to the **Integrations** tab. -2. Select an integration from the list of enabled integrations. -3. Click the three dots next to the integration name. -4. Choose **Alert Group Labeling** - -##### Assign Labels to Alert Groups - -###### Pass Down Integration Labels - -These labels are automatically assigned to each alert group coming to the integration, -based on the labels assigned to the [integration][integration-labels]. - -1. Navigate to the Integration Labels section in the Alert Group Labeling tab. -2. Enable/disable passing down specific labels using the toggler. - -###### Dynamic & Static Labels - -This feature allows you to assign arbitrary labels to alert groups, either by deriving them from the payload or by specifying static values. -Dynamic: label values are extracted from the alert payload using Jinja. Keys remain static. -Static: these are not derived from the payload; both key and value are static. -These labels will not be attached to the integration. - -1. In the Alert Group Labeling tab, navigate to Dynamic & Static Labels. -2. Press the **Add Label** button and choose between dynamic or static labels. - -For Static Labels: - -1. Choose or create key and value from the dropdown list. -2. These labels will be assigned to all alert groups received by this integration. - -For Dynamic Labels: - -1. Choose or create a key from the dropdown list. -2. Enter a template to parse the value for the given key from the alert payload. - -To illustrate the Dynamic Labeling feature, let's consider an example where a dynamic label is created with a `severity` key -and a template to parse values for that key: - -```jinja2 -{{ payload.get("severity) }} -``` - -Created dynamic label: - - -Two alerts were received and grouped to two different alert groups: - -Alert 1: - -```json -{ - "title": "critical alert", - "severity": "critical" -} -``` - -Alert 2: - -```json -{ - "title": "warning alert", - "severity": "warning" -} -``` - -As a result: - -- The first alert group will have a label: `severity: critical`. -- The second alert group will have a label: `severity: warning`. - -###### Multi-label extraction template - -The Multi-label Extraction Template enables users to extract and modify multiple labels from the alert payload using a single template. -This functionality not only supports dynamic values but also accommodates dynamic keys, with the Jinja template required to result in a valid JSON object. - -Consider the following example demonstrating the extraction of labels from a Grafana Alerting payload: - -Incoming Payload (trimmed for readability): - -```json -{ - ... - "commonLabels": { - "job": "node", - "severity": "critical", - "alertname": "InstanceDown" - }, - ... -} -``` - -Template to parse it: - -```jinja2 -{{ payload.commonLabels | tojson }} -``` - -As a result `job`, `severity` and `alertname` labels will be assigned to the alert group: - - - -An advanced example showcases the extraction of labels from various fields of the alert payload, utilizing the Grafana Alerting payload: - -```jinja2 -{%- set labels = {} -%} -{# add several labels #} -{%- set labels = dict(labels, **payload.commonLabels) -%} -{# add one label #} -{%- set labels = dict(labels, **{"status": payload.status}) -%} -{# add label not from payload #} -{%- set labels = dict(labels, **{"service": "oncall"}) -%} -{# dump labels dict to json string, so OnCall can parse it #} -{{ labels | tojson }} -``` - -#### Alert Group table customization - -Grafana OnCall provides users with the flexibility to customize their Alert Group table to suit individual preferences. -This feature allows users to select and manage the columns displayed in the table, including the option to add custom columns based on labels. -Customizations made to the Alert Group table are user-specific. Each user can personalize their view according to their preferences. -To access customization Navigate to the **Alert Groups** tab and Locate the **Columns** dropdown. - -##### Managing default columns - -By default, the Columns dropdown provides a list of predefined columns that users can enable or disable based on their preferences. - -To manage default columns use the toggler next to each column name to enable or disable its visibility in the table. - -##### Adding Custom Columns - -Users with admin permissions have the ability to add custom columns based on labels. Follow these steps to add a custom column: - -1. Press the Add button in the Columns dropdown. A modal will appear. -2. In the modal, begin typing the name of the labels key you want to create a column for. -3. Select the desired label from the options presented and press the Add button. -4. The new custom column, titled with the label's key, will now be available as an option in the Column Settings for all users. - -## List of available integrations - -{{< section >}} - -{{% docs/reference %}} -[Appearance templates]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating#appearance-templates" -[Appearance templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating#appearance-templates" - -[Behavioral templates]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating#behavioral-templates" -[Behavioral templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating#behavioral-templates" - -[Inbound email]: "/docs/oncall -> /docs/oncall//integrations/inbound-email" -[Inbound email]: "/docs/grafana-cloud -> /docs/oncall//integrations/inbound-email" - -[Jinja2 templating]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating" -[Jinja2 templating]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating" - -[Learn about the Alert Workflow]: "/docs/oncall/ -> /docs/oncall//set-up/get-started#learn-about-the-alert-workflow" -[Learn about the Alert Workflow]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/set-up/get-started#learn-about-the-alert-workflow" - -[Routing template]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating#routing-template" -[Routing template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating#routing-template" - -[Webhooks]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks" -[Webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks" - -[integration-labels]: "/docs/oncall/ -> /docs/oncall//integrations/#labels" -[integration-labels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/#labels" -{{% /docs/reference %}} diff --git a/docs/sources/manage/notify/_index.md b/docs/sources/manage/notify/_index.md index d4f8e8c5..7af53eb6 100644 --- a/docs/sources/manage/notify/_index.md +++ b/docs/sources/manage/notify/_index.md @@ -22,7 +22,7 @@ aliases: Grafana OnCall directly supports the export of alert notifications to some popular messaging applications like Slack and Telegram. -You can use [Outgoing webhooks][] for applications that aren't directly supported. +You can use [Outgoing webhooks][outgoing-webhooks] for applications that aren't directly supported. To configure supported messaging apps, refer to the following topics: @@ -54,6 +54,6 @@ To configure a users notification policy: are listed. {{% docs/reference %}} -[Outgoing webhooks]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks" -[Outgoing webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks" +[outgoing-webhooks]: "/docs/oncall/ -> /docs/oncall//configure/integrations/outgoing-webhooks" +[outgoing-webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/outgoing-webhooks" {{% /docs/reference %}} diff --git a/docs/sources/manage/notify/slack/index.md b/docs/sources/manage/notify/slack/index.md index 1f6285d3..91933def 100644 --- a/docs/sources/manage/notify/slack/index.md +++ b/docs/sources/manage/notify/slack/index.md @@ -202,6 +202,6 @@ Use message shortcuts to add resolution notes directly from Slack. Message short [Slack setup]: "/docs/oncall/ -> /docs/oncall//set-up/open-source#slack-setup" [Slack setup]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/set-up/open-source#slack-setup" -[Page people manually]: "/docs/oncall/ -> /docs/oncall//integrations/manual" -[Page people manually]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/manual" +[Page people manually]: "/docs/oncall/ -> /docs/oncall//configure/integrations/references/manual" +[Page people manually]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/manual" {{% /docs/reference %}} diff --git a/docs/sources/oncall-api-reference/integrations.md b/docs/sources/oncall-api-reference/integrations.md index 41bec8c6..1091fc3c 100644 --- a/docs/sources/oncall-api-reference/integrations.md +++ b/docs/sources/oncall-api-reference/integrations.md @@ -320,6 +320,6 @@ curl "{{API_URL}}/api/v1/integrations/CFRPV98RPR1U8/" \ `DELETE {{API_URL}}/api/v1/integrations//` {{% docs/reference %}} -[Alertmanager]: "/docs/oncall/ -> /docs/oncall//integrations/alertmanager" -[Alertmanager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/alertmanager" +[Alertmanager]: "/docs/oncall/ -> /docs/oncall//configure/integrations/references/alertmanager" +[Alertmanager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/alertmanager" {{% /docs/reference %}} diff --git a/docs/sources/oncall-api-reference/outgoing_webhooks.md b/docs/sources/oncall-api-reference/outgoing_webhooks.md index bf8085d5..fc5430b8 100644 --- a/docs/sources/oncall-api-reference/outgoing_webhooks.md +++ b/docs/sources/oncall-api-reference/outgoing_webhooks.md @@ -235,9 +235,9 @@ The above command returns JSON structured in the following way: ``` {{% docs/reference %}} -[Outgoing webhooks]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks" -[Outgoing webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks" +[Outgoing webhooks]: "/docs/oncall/ -> /docs/oncall//configure/integrations/outgoing-webhooks" +[Outgoing webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/outgoing-webhooks" -[Event types]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks#event-types" -[Event types]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks#event-types" +[Event types]: "/docs/oncall/ -> /docs/oncall//configure/integrations/outgoing-webhooks#event-types" +[Event types]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/outgoing-webhooks#event-types" {{% /docs/reference %}} diff --git a/docs/sources/set-up/get-started/index.md b/docs/sources/set-up/get-started/index.md index a75a4ca3..17f3f7b0 100644 --- a/docs/sources/set-up/get-started/index.md +++ b/docs/sources/set-up/get-started/index.md @@ -207,8 +207,8 @@ For more information about OnCall schedules, refer to [On-call schedules][]. [Escalation chains]: "/docs/oncall/ -> /docs/oncall//configure/escalation-chains-and-routes#escalation-chains" [Escalation chains]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/escalation-chains-and-routes#escalation-chains" -[integrations]: "/docs/oncall/ -> /docs/oncall//integrations" -[integrations]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations" +[integrations]: "/docs/oncall/ -> /docs/oncall//configure/integrations" +[integrations]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations" [Jinja2 templating]: "/docs/oncall/ -> /docs/oncall//configure/jinja2-templating" [Jinja2 templating]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating" diff --git a/docs/sources/set-up/open-source/index.md b/docs/sources/set-up/open-source/index.md index 375a7137..95e5c261 100644 --- a/docs/sources/set-up/open-source/index.md +++ b/docs/sources/set-up/open-source/index.md @@ -280,7 +280,7 @@ After enabling the email integration, it will be possible to use the `Notify by ## Inbound Email Setup -Grafana OnCall is capable of creating alert groups from the [Inbound email integration][]. +Grafana OnCall is capable of creating alert groups from the [Inbound email integration][inbound-email-integration]. To configure Inbound Email integration for Grafana OnCall OSS populate env variables with your Email Service Provider data: @@ -343,8 +343,8 @@ Additionally, if you prefer to disable this feature, you can set the `ESCALATION to `False`. {{% docs/reference %}} -[Inbound email integration]: "/docs/oncall/ -> /docs/oncall//integrations/inbound-email" -[Inbound email integration]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/inbound-email" +[inbound-email-integration]: "/docs/oncall/ -> /docs/oncall//configure/integrations/references/inbound-email" +[inbound-email-integration]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/integrations/references/inbound-email" [Grafana OnCall mobile app]: "/docs/oncall/ -> /docs/oncall//manage/mobile-app" [Grafana OnCall mobile app]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/mobile-app"