[](https://github.com/grafana/oncall/releases)
@@ -26,31 +28,34 @@ We prepared multiple environments:
1. Download [`docker-compose.yml`](docker-compose.yml):
-```bash
-curl -fsSL https://raw.githubusercontent.com/grafana/oncall/dev/docker-compose.yml -o docker-compose.yml
-```
+ ```bash
+ curl -fsSL https://raw.githubusercontent.com/grafana/oncall/dev/docker-compose.yml -o docker-compose.yml
+ ```
2. Set variables:
-```bash
-echo "DOMAIN=http://localhost:8080
-COMPOSE_PROFILES=with_grafana # Remove this line if you want to use existing grafana
-SECRET_KEY=my_random_secret_must_be_more_than_32_characters_long" > .env
-```
+ ```bash
+ echo "DOMAIN=http://localhost:8080
+ COMPOSE_PROFILES=with_grafana # Remove this line if you want to use existing grafana
+ SECRET_KEY=my_random_secret_must_be_more_than_32_characters_long" > .env
+ ```
3. Launch services:
-```bash
-docker-compose up -d
-```
+ ```bash
+ docker-compose pull && docker-compose up -d
+ ```
-4. Go to [OnCall Plugin Configuration](http://localhost:3000/plugins/grafana-oncall-app), using log in credentials as defined above: `admin`/`admin` (or find OnCall plugin in configuration->plugins) and connect OnCall _plugin_ with OnCall _backend_:
+4. Go to [OnCall Plugin Configuration](http://localhost:3000/plugins/grafana-oncall-app), using log in credentials
+ as defined above: `admin`/`admin` (or find OnCall plugin in configuration->plugins) and connect OnCall _plugin_
+ with OnCall _backend_:
-```
-OnCall backend URL: http://engine:8080
-```
+ ```text
+ OnCall backend URL: http://engine:8080
+ ```
-5. Enjoy! Check our [OSS docs](https://grafana.com/docs/grafana-cloud/oncall/open-source/) if you want to set up Slack, Telegram, Twilio or SMS/calls through Grafana Cloud.
+5. Enjoy! Check our [OSS docs](https://grafana.com/docs/grafana-cloud/oncall/open-source/) if you want to set up
+ Slack, Telegram, Twilio or SMS/calls through Grafana Cloud.
## Update version
@@ -65,13 +70,14 @@ docker-compose up -d
```
After updating the engine, you'll also need to click the "Update" button on the [plugin version page](http://localhost:3000/plugins/grafana-oncall-app?page=version-history).
-See [Grafana docs](https://grafana.com/docs/grafana/latest/administration/plugin-management/#update-a-plugin) for more info on updating Grafana plugins.
+See [Grafana docs](https://grafana.com/docs/grafana/latest/administration/plugin-management/#update-a-plugin) for more
+info on updating Grafana plugins.
## Join community
-
-
-
+[
](https://github.com/grafana/oncall/discussions/categories/community-calls)
+[
](https://github.com/grafana/oncall/discussions)
+[
](https://slack.grafana.com/)
## Stargazers over time
diff --git a/SECURITY.md b/SECURITY.md
index b8697c16..349dbe51 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -1,6 +1,9 @@
# Reporting security issues
-If you think you have found a security vulnerability, please send a report to [security@grafana.com](mailto:security@grafana.com). This address can be used for all of Grafana Labs's open source and commercial products (including but not limited to Grafana, Grafana Cloud, Grafana Enterprise, and grafana.com). We can accept only vulnerability reports at this address.
+If you think you have found a security vulnerability, please send a report to
+[security@grafana.com](mailto:security@grafana.com). This address can be used for all of Grafana Labs's open source and
+commercial products (including but not limited to Grafana, Grafana Cloud, Grafana Enterprise, and grafana.com).
+We can accept only vulnerability reports at this address.
Please encrypt your message to us; please use our PGP key. The key fingerprint is:
@@ -8,13 +11,18 @@ F988 7BEA 027A 049F AE8E 5CAA D125 8932 BE24 C5CA
The key is available from [keyserver.ubuntu.com](https://keyserver.ubuntu.com/pks/lookup?search=0xF9887BEA027A049FAE8E5CAAD1258932BE24C5CA&fingerprint=on&op=index).
-Grafana Labs will send you a response indicating the next steps in handling your report. After the initial reply to your report, the security team will keep you informed of the progress towards a fix and full announcement, and may ask for additional information or guidance.
+Grafana Labs will send you a response indicating the next steps in handling your report. After the initial reply
+to your report, the security team will keep you informed of the progress towards a fix and full announcement,
+and may ask for additional information or guidance.
-**Important:** We ask you to not disclose the vulnerability before it have been fixed and announced, unless you received a response from the Grafana Labs security team that you can do so.
+**Important:** We ask you to not disclose the vulnerability before it have been fixed and announced, unless you
+received a response from the Grafana Labs security team that you can do so.
## Security announcements
-We maintain a category on the community site called [Security Announcements](https://community.grafana.com/c/support/security-announcements),
-where we will post a summary, remediation, and mitigation details for any patch containing security fixes.
+We maintain a category on the community site called
+[Security Announcements](https://community.grafana.com/c/support/security-announcements), where we will post a summary,
+remediation, and mitigation details for any patch containing security fixes.
-You can also subscribe to email updates to this category if you have a grafana.com account and sign on to the community site or track updates via an [RSS feed](https://community.grafana.com/c/support/security-announcements.rss).
+You can also subscribe to email updates to this category if you have a grafana.com account and sign on to the
+community site or track updates via an [RSS feed](https://community.grafana.com/c/support/security-announcements.rss).
diff --git a/dev/README.md b/dev/README.md
index 9f858e3c..5fd5dbea 100644
--- a/dev/README.md
+++ b/dev/README.md
@@ -11,37 +11,49 @@
- [Troubleshooting](#troubleshooting)
- [ld: library not found for -lssl](#ld-library-not-found-for--lssl)
- [Could not build wheels for cryptography which use PEP 517 and cannot be installed directly](#could-not-build-wheels-for-cryptography-which-use-pep-517-and-cannot-be-installed-directly)
- - [django.db.utils.OperationalError: (1366, "Incorrect string value ...")](#djangodbutilsoperationalerror-1366-incorrect-string-value)
+ - [django.db.utils.OperationalError: (1366, "Incorrect string value")](#djangodbutilsoperationalerror-1366-incorrect-string-value)
- [/bin/sh: line 0: cd: grafana-plugin: No such file or directory](#binsh-line-0-cd-grafana-plugin-no-such-file-or-directory)
- [IDE Specific Instructions](#ide-specific-instructions)
- - [PyCharm](#pycharm-professional-edition)
+ - [PyCharm](#pycharm)
Related: [How to develop integrations](/engine/config_integrations/README.md)
## Running the project
-By default everything runs inside Docker. These options can be modified via the [`COMPOSE_PROFILES`](#compose_profiles) environment variable.
+By default everything runs inside Docker. These options can be modified via the [`COMPOSE_PROFILES`](#compose_profiles)
+environment variable.
-1. Firstly, ensure that you have `docker` [installed](https://docs.docker.com/get-docker/) and running on your machine. **NOTE**: the `docker-compose-developer.yml` file uses some syntax/features that are only supported by Docker Compose v2. For instructions on how to enable this (if you haven't already done so), see [here](https://www.docker.com/blog/announcing-compose-v2-general-availability/). Ensure you have Docker Compose version 2.10 or above installed - update instructions are [here](https://docs.docker.com/compose/install/linux/).
-2. Run `make init start`. By default this will run everything in Docker, using SQLite as the database and Redis as the message broker/cache. See [Running in Docker](#running-in-docker) below for more details on how to swap out/disable which components are run in Docker.
+1. Firstly, ensure that you have `docker` [installed](https://docs.docker.com/get-docker/) and running on your machine.
+ **NOTE**: the `docker-compose-developer.yml` file uses some syntax/features that are only supported by Docker Compose
+ v2. For instructions on how to enable this (if you haven't already done so),
+ see [here](https://www.docker.com/blog/announcing-compose-v2-general-availability/). Ensure you have Docker Compose
+ version 2.10 or above installed - update instructions are [here](https://docs.docker.com/compose/install/linux/).
+2. Run `make init start`. By default this will run everything in Docker, using SQLite as the database and Redis as the
+ message broker/cache. See [`COMPOSE_PROFILES`](#compose_profiles) below for more details on how to swap
+ out/disable which components are run in Docker.
3. Open Grafana in a browser [here](http://localhost:3000/plugins/grafana-oncall-app) (login: `oncall`, password: `oncall`).
4. You should now see the OnCall plugin configuration page. Fill out the configuration options as follows:
-- OnCall backend URL: http://host.docker.internal:8080 (this is the URL that is running the OnCall API; it should be accessible from Grafana)
-- Grafana URL: http://grafana:3000 (this is the URL OnCall will use to talk to the Grafana Instance)
+ - OnCall backend URL:
+Grafana OnCall is an open source incident response management tool built to help teams improve their collaboration and
+resolve incidents faster. Some of the core strengths of Grafana OnCall include:
-Grafana OnCall is an open source incident response management tool built to help teams improve their collaboration and resolve incidents faster. Some of the core strengths of Grafana OnCall include:
-
-- **Support for a broad set of monitoring systems:** Grafana OnCall supports integrations with many monitoring systems, including Grafana, Prometheus, Alertmanager, Zabbix, and more.
-- **Reduce alert noise:** Automatic alert grouping helps avoid alert storms and reduce noise during incidents. Auto-resolve settings can resolve without human intervention when the resolve conditions are met, enabling you to control alert noise and reduce alert fatigue.
-- **Automatic escalation to on-call rotations:** Grafana OnCall’s flexible calendar integration allows you to define your on-call rotations while managing on-call schedules in your preferred calendar application with iCal format. Configurable alert escalation automatically escalates alerts to on-call team members, notifies slack channels, and more.
-- **ChatOps focused:** Grafana OnCall integrates closely with your slack workspace to deliver alert notifications to individuals and groups, making daily alerts more visible and easier to manage.
-- **Highly customizable**: With customizable alert grouping and routing, you can decide which alerts you want to be notified of and how, ensuring the right people are notified for the right issues.
-- **Massive scalability:** Grafana OnCall is equipped with a full API and Terraform capabilities. Ready for GitOps and large organization configuration.
-
+- **Support for a broad set of monitoring systems:** Grafana OnCall supports integrations with many monitoring systems,
+ including Grafana, Prometheus, Alertmanager, Zabbix, and more.
+- **Reduce alert noise:** Automatic alert grouping helps avoid alert storms and reduce noise during incidents.
+ Auto-resolve settings can resolve without human intervention when the resolve conditions are met, enabling you to
+ control alert noise and reduce alert fatigue.
+- **Automatic escalation to on-call rotations:** Grafana OnCall’s flexible calendar integration allows you to define
+ your on-call rotations while managing on-call schedules in your preferred calendar application with iCal format.
+ Configurable alert escalation automatically escalates alerts to on-call team members, notifies slack channels, and more.
+- **ChatOps focused:** Grafana OnCall integrates closely with your slack workspace to deliver alert notifications to
+ individuals and groups, making daily alerts more visible and easier to manage.
+- **Highly customizable**: With customizable alert grouping and routing, you can decide which alerts you want to be
+ notified of and how, ensuring the right people are notified for the right issues.
+- **Massive scalability:** Grafana OnCall is equipped with a full API and Terraform capabilities. Ready for GitOps
+ and large organization configuration.
{{< section >}}
diff --git a/docs/sources/alert-behavior/_index.md b/docs/sources/alert-behavior/_index.md
index d1204cbf..2a2ffa82 100644
--- a/docs/sources/alert-behavior/_index.md
+++ b/docs/sources/alert-behavior/_index.md
@@ -8,16 +8,17 @@ weight: 900
# Configure alert behavior for Grafana OnCall
-The available alert configurations in Grafana OnCall allow you to define how certain alerts are handled and ensure that alerts are routed, escalated, and grouped to fit your specific alerting needs. Grafana OnCall can receive alerts from any monitoring system that sends alerts via webhook.
+The available alert configurations in Grafana OnCall allow you to define how certain alerts are handled and ensure that
+alerts are routed, escalated, and grouped to fit your specific alerting needs. Grafana OnCall can receive alerts from
+any monitoring system that sends alerts via webhook.
-
-## About alert behavior
+## About alert behavior
Once Grafana OnCall receives an alert, the following occurs, based on the alert content:
-- Default or customized alert templates are applied to deliver the most useful alert fields with the most valuable information, in a readable format.
+- Default or customized alert templates are applied to deliver the most useful alert fields with the most valuable information,
+ in a readable format.
- Alerts are grouped based on your alert grouping configurations, combining similar or related alerts to reduce alert noise.
- Alerts automatically resolve if an alert from the monitoring system matches the resolve condition for that alert.
-
-{{< section >}}
\ No newline at end of file
+{{< section >}}
diff --git a/docs/sources/alert-behavior/alert-templates/index.md b/docs/sources/alert-behavior/alert-templates/index.md
index 5bc4321c..0269dfc8 100644
--- a/docs/sources/alert-behavior/alert-templates/index.md
+++ b/docs/sources/alert-behavior/alert-templates/index.md
@@ -15,7 +15,10 @@ weight: 300
# Configure alert templates
-Grafana OnCall can integrate with any monitoring systems that can send alerts using 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.
+Grafana OnCall can integrate with any monitoring systems that can send alerts using 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.
See Format alerts with alert templates in this document to learn more about how to customize alert templates.
@@ -23,13 +26,15 @@ See Format alerts with alert templates in this document to learn more about how
Once Grafana OnCall receives an alert, the following occurs, based on the alert content:
-- Default or customized alert templates are applied to deliver the most useful alert fields with the most valuable information, in a readable format.
+- Default or customized alert templates are applied to deliver the most useful alert fields with the most valuable information,
+ in a readable format.
- Alerts are grouped based on your alert grouping configurations, combining similar or related alerts to reduce alert noise.
- Alerts automatically resolve if an alert from the monitoring system matches the resolve condition for that alert.
## 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 from Grafana OnCall:
+Alerts received by Grafana OnCall contain metadata as keys and values in a JSON object. The following is an example of
+an alert from Grafana OnCall:
```json
{
@@ -68,16 +73,21 @@ The JSON payload is converted. For example:
- `{{ 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:
+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 a pre configured default Jinja template 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.
+Grafana OnCall provides a pre configured default Jinja template 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.
## Customize alerts with alert templates
-Alert templates allow you to format any alert fields recognized by Grafana OnCall. You can customize default alert templates for all the different ways you receive your alerts such as web, slack, SMS, and email. For more advanced customization, use Jinja templates.
+Alert templates allow you to format any alert fields recognized by Grafana OnCall. You can customize default alert
+templates for all the different ways you receive your alerts such as web, slack, SMS, and email. For more advanced
+customization, use Jinja templates.
As a best practice, add _Playbooks_, _Useful links_, or _Checklists_ to the alert message.
@@ -97,23 +107,28 @@ To customize alert templates in Grafana OnCall:
4. Edit the alert behavior as needed:
- `Grouping Id` - This output groups other alerts into a single alert group.
- - `Acknowledge Condition` - The output should be `ok`, `true`, or `1` to auto-acknowledge the alert group. For example, `{{ 1 if payload.state == 'OK' else 0 }}`.
- - `Resolve Condition` - The output should be `ok`, `true` or `1` to auto-resolve the alert group. For example, `{{ 1 if payload.state == 'OK' else 0 }}`.
+ - `Acknowledge Condition` - The output should be `ok`, `true`, or `1` to auto-acknowledge the alert group.
+ For example, `{{ 1 if payload.state == 'OK' else 0 }}`.
+ - `Resolve Condition` - The output should be `ok`, `true` or `1` to auto-resolve the alert group.
+ For example, `{{ 1 if payload.state == 'OK' else 0 }}`.
- `Source Link` - Used to customize the URL link to provide as the "source" of the alert.
## Advanced Jinja templates
-Grafana OnCall uses [Jinja templating language](http://jinja.pocoo.org/docs/2.10/) to format alert groups for the Web, Slack, phone calls, SMS messages, and more because the JSON format is not easily readable by humans. 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.
+Grafana OnCall uses [Jinja templating language](http://jinja.pocoo.org/docs/2.10/) to format alert groups for the Web,
+Slack, phone calls, SMS messages, and more because the JSON format is not easily readable by humans. 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__`.
+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:
+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:*
diff --git a/docs/sources/alert-behavior/outgoing-webhooks/index.md b/docs/sources/alert-behavior/outgoing-webhooks/index.md
index a88ccbf9..7931f6ea 100644
--- a/docs/sources/alert-behavior/outgoing-webhooks/index.md
+++ b/docs/sources/alert-behavior/outgoing-webhooks/index.md
@@ -16,26 +16,25 @@ weight: 500
# Configure outgoing webhooks for Grafana OnCall
-Outgoing webhooks allow you to send alert details to a specified URL from Grafana OnCall. Once an outgoing webhook is configured, you can use it as a notification method in escalation chains.
+Outgoing webhooks allow you to send alert details to a specified URL from Grafana OnCall. Once an outgoing webhook is
+configured, you can use it as a notification method in escalation chains.
To automatically send alert data to a destination URL via outgoing webhook:
1. In Grafana OnCall, navigate to **Outgoing Webhooks** and click **+ Create**.
This is also the place to edit and delete existing outgoing webhooks.
-
2. Provide a name for your outgoing webhook and enter the destination URL.
-
3. If the destination requires authentication, enter your credentials.
You can enter a username and password (HTTP) or an authorization header formatted in JSON.
-
4. Configure the webhook payload in the **Data** field.
5. Click **Create Webhook**.
-The format you use to call the variables must match the structure of how the fields are nested in the alert payload. The **Data** field can use the following four variables to auto-populate the webhook payload with information about the first alert in the alert group:
+The format you use to call the variables must match the structure of how the fields are nested in the alert payload.
+The **Data** field can use the following four variables to auto-populate the webhook payload with information about
+the first alert in the alert group:
- `{{ alert_payload }}`
- `{{ alert_group_id }}`
-
-These procedures introduce you to initial Grafana OnCall configuration steps, including monitoring system integration, how to set up escalation chains, and how to use your calendar service for on-call scheduling.
-
+These procedures introduce you to initial Grafana OnCall configuration steps, including monitoring system integration,
+how to set up escalation chains, and how to use your calendar service for on-call scheduling.
## Before you begin
-Grafana OnCall is available for Grafana Cloud as well as Grafana open source users. You must have a Grafana Cloud account or use [Open Source Grafana OnCall]({{< relref "../open-source" >}})
+Grafana OnCall is available for Grafana Cloud as well as Grafana open source users. You must have a Grafana Cloud account
+or use [Open Source Grafana OnCall]({{< relref "../open-source" >}})
## Install Open Source Grafana OnCall
-For Open Source Grafana OnCall installation guidance, refer to [Open Source Grafana OnCall]({{< relref "../open-source" >}})
-
->**Note:** If you are using Grafana OnCall with your Grafana Cloud instance there are no install steps. Access Grafana OnCall from your Grafana Cloud account and skip ahead to “Get alerts into Grafana OnCall”
+For Open Source Grafana OnCall installation guidance, refer to
+[Open Source Grafana OnCall]({{< relref "../open-source" >}})
+> **Note:** If you are using Grafana OnCall with your Grafana Cloud instance there are no install steps. Access Grafana
+> OnCall from your Grafana Cloud account and skip ahead to “Get alerts into Grafana OnCall”
## Get alerts into Grafana OnCall
-Once you’ve installed Grafana OnCall or accessed it from your Grafana Cloud instance, you can begin integrating with monitoring systems, configuring escalation chains, and get alerts into Grafana OnCall.
+Once you’ve installed Grafana OnCall or accessed it from your Grafana Cloud instance, you can begin integrating with
+monitoring systems, configuring escalation chains, and get alerts into Grafana OnCall.
### Integrate with a monitoring system
-Regardless of where your alerts originate, you can send them to Grafana OnCall via available integrations or customizable webhooks. To start receiving alerts in Grafana OnCall, use the following steps to configure your first integration and send a demo alert.
+Regardless of where your alerts originate, you can send them to Grafana OnCall via available integrations or customizable
+webhooks. To start receiving alerts in Grafana OnCall, use the following steps to configure your first integration and
+send a demo alert.
+
+#### Configure your first integration
-#### Configure your first integration:
1. In Grafana OnCall, navigate to the **Integrations** tab and click **+ New integration for receiving alerts**.
2. Select an integration from the provided options, if the integration you’re looking for isn’t listed, then select Webhook.
3. Follow the configuration steps on the integration settings page.
4. Complete any necessary configurations in your monitoring system to send alerts to Grafana OnCall.
-
#### Send a demo alert
1. In the integration tab, click **Send demo alert** then navigate to the **Alert Groups** tab to see your test alert firing.
2. Explore the alert by clicking on the title of the alert.
3. Acknowledge and resolve the test alert.
-For more information on Grafana OnCall integrations and further configuration guidance, refer to, [Grafana OnCall integrations]({{< relref "../integrations" >}})
-
+For more information on Grafana OnCall integrations and further configuration guidance, refer to
+[Grafana OnCall integrations]({{< relref "../integrations" >}})
### Configure Escalation Chains
-Escalation Chains are customizable automated alert routing steps that enable you to specify who is notified for a certain alert. In addition to escalation chains, you can configure Routes to send alerts to different escalation chains depending on the alert details.
+Escalation Chains are customizable automated alert routing steps that enable you to specify who is notified for a certain
+alert. In addition to escalation chains, you can configure Routes to send alerts to different escalation chains depending
+on the alert details.
-Once your integration is configured, you can set up an escalation chain to determine how alerts from your integration are handled. Multi-step escalation chains help ensure thorough alert escalation to prevent alerts from being missed.
+Once your integration is configured, you can set up an escalation chain to determine how alerts from your integration
+are handled. Multi-step escalation chains help ensure thorough alert escalation to prevent alerts from being missed.
To configure Escalation Chains:
+
1. Navigate to the **Escalation Chains** tab and click **+ New Escalation Chain**
2. Give your Escalation Chain a useful name and click **Create**
3. Add a series of escalation steps from the available dropdown options.
-4. To link your Escalation Chain to your integration, navigate back to the **Integrations tab**, Select your newly created Escalation Chain from the “**Escalate to**” dropdown.
+4. To link your Escalation Chain to your integration, navigate back to the **Integrations tab**, Select your newly
+ created Escalation Chain from the “**Escalate to**” dropdown.
Alerts from this integration will now follow the escalation steps configured in your Escalation Chain.
-For more information on Escalation Chains and more ways to customize them, refer to [Configure and manage Escalation Chains]({{< relref "../escalation-policies/configure-escalation-chains" >}})
+For more information on Escalation Chains and more ways to customize them, refer to
+[Configure and manage Escalation Chains]({{< relref "../escalation-policies/configure-escalation-chains" >}})
## Get notified of an alert
-In order for Grafana OnCall to notify you of an alert, you must configure how you want to be notified. Personal notification policies, chatops integrations, and on-call schedules allow you to automate how users are notified of alerts.
+In order for Grafana OnCall to notify you of an alert, you must configure how you want to be notified. Personal notification
+policies, chatops integrations, and on-call schedules allow you to automate how users are notified of alerts.
### Configure personal notification policies
-Personal notification policies determine how a user is notified for a certain type of alert. Get notified by SMS, phone call, or Slack mentions. Administrators can configure how users receive notification for certain types of alerts. For more information on personal notification policies, refer to [Manage users and teams for Grafana OnCall]({{< relref "../configure-user-settings" >}})
+
+Personal notification policies determine how a user is notified for a certain type of alert. Get notified by SMS,
+phone call, or Slack mentions. Administrators can configure how users receive notification for certain types of alerts.
+For more information on personal notification policies, refer to
+[Manage users and teams for Grafana OnCall]({{< relref "../configure-user-settings" >}})
To configure users personal notification policies:
@@ -88,10 +106,11 @@ To configure users personal notification policies:
2. Select a user from the user list and click **Edit**
3. Configure **Default Notifications** and **Important Notification**
-
### Configure Slack for Grafana OnCall
-Grafana OnCall integrates closely with your Slack workspace to deliver alert notifications to individuals, user groups, and channels. Slack notifications can be triggered by steps in an escalation chain or as a step in users personal notification policies.
+Grafana OnCall integrates closely with your Slack workspace to deliver alert notifications to individuals, user groups,
+and channels. Slack notifications can be triggered by steps in an escalation chain or as a step in users personal
+notification policies.
To configure Slack for Grafana OnCall:
@@ -102,12 +121,13 @@ To configure Slack for Grafana OnCall:
5. Click Allow to allow Grafana OnCall to access Slack.
6. Ensure users verify their Slack accounts in their user profile in Grafana OnCall.
-For further instruction on connecting to your Slack workspace, refer to [Slack integration for Grafana OnCall]({{< relref "../integrations/chatops-integrations/configure-slack/" >}})
-
+For further instruction on connecting to your Slack workspace, refer to
+[Slack integration for Grafana OnCall]({{< relref "../integrations/chatops-integrations/configure-slack/" >}})
### Add your on-call schedule
-Grafana OnCall allows you to manage your on-call schedule in your preferred calendar app such as Google Calendar or Microsoft Outlook.
+Grafana OnCall allows you to manage your on-call schedule in your preferred calendar app such as Google Calendar or
+Microsoft Outlook.
To integrate your on-call calendar with Grafana OnCall:
@@ -116,6 +136,5 @@ To integrate your on-call calendar with Grafana OnCall:
3. Copy the iCal URL associated with your on-call calendar from your calendar integration settings.
4. Configure the rest of the schedule settings and click Create Schedule
-For more information on on-call schedules, refer to [Configure and manage on-call schedules]({{< relref "../calendar-schedules" >}})
-
-
+For more information on on-call schedules, refer to
+[Configure and manage on-call schedules]({{< relref "../calendar-schedules" >}})
diff --git a/docs/sources/integrations/_index.md b/docs/sources/integrations/_index.md
index a49e7496..8d6247ac 100644
--- a/docs/sources/integrations/_index.md
+++ b/docs/sources/integrations/_index.md
@@ -16,13 +16,18 @@ weight: 500
# Grafana OnCall integrations
-Integrations allow you to connect monitoring systems of your choice to send alerts to Grafana OnCall. Regardless of where your alerts originate, you can configure alerts to be sent to Grafana OnCall for alert escalation and notification. Grafana OnCall receives alerts in JSON format via a POST request, OnCall then parses alert data using preconfigured alert templates to determine alert grouping, apply routes, and determine correct escalation.
+Integrations allow you to connect monitoring systems of your choice to send alerts to Grafana OnCall. Regardless of where
+your alerts originate, you can configure alerts to be sent to Grafana OnCall for alert escalation and notification.
+Grafana OnCall receives alerts in JSON format via a POST request, OnCall then parses alert data using preconfigured
+alert templates to determine alert grouping, apply routes, and determine correct escalation.
-There are many integrations that are directly supported by Grafana OnCall. Those that aren’t currently listed in the Integrations menu can be connected using the webhook integration and configured alert templates.
+There are many integrations that are directly supported by Grafana OnCall. Those that aren’t currently listed in the
+Integrations menu can be connected using the webhook integration and configured alert templates.
## 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.
+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 Grafana OnCall
@@ -35,7 +40,8 @@ To configure an integration for Grafana OnCall:
### Manage Grafana OnCall integrations
-To manage existing integrations, navigate to the **Integrations** tab in Grafana OnCall and select the integration you want to manage.
+To manage existing integrations, navigate to the **Integrations** tab in Grafana OnCall and select the integration
+you want to manage.
#### Customize alert templates and grouping
@@ -50,9 +56,11 @@ To customize alert grouping for an integration:
1. Click **Change alert template and grouping**.
2. Select **Alert Behavior** from the dropdown menu next to **Edit template for**.
-3. Edit the **grouping id**, **acknowledge condition**, and **resolve condition** templates as needed to customize your alert behavior.
+3. Edit the **grouping id**, **acknowledge condition**, and **resolve condition** templates as needed to customize
+ your alert behavior.
-For more information on alert templates, see [Configure alerts templates]({{< relref "../alert-behavior/alert-templates" >}})
+For more information on alert templates, see
+[Configure alerts templates]({{< relref "../alert-behavior/alert-templates" >}})
#### Add Routes
@@ -62,7 +70,8 @@ To add a route to an integration using regular expression:
2. Click **+ Add Route**.
3. Use python style regex to match on your alert content.
4. Click **Create Route**.
-5. Select an escalation chain for “**IF** alert payload matches regex” and “**ELSE**” to specify where to route each type of alert.
+5. Select an escalation chain for “**IF** alert payload matches regex” and “**ELSE**” to specify where to route each
+ type of alert.
#### Edit integration name
diff --git a/docs/sources/integrations/available-integrations/_index.md b/docs/sources/integrations/available-integrations/_index.md
index 3d02ba76..4babb8e2 100644
--- a/docs/sources/integrations/available-integrations/_index.md
+++ b/docs/sources/integrations/available-integrations/_index.md
@@ -15,11 +15,15 @@ weight: 100
# Available integrations
-Grafana OnCall can connect directly to the monitoring services where your alerts originate. All currently available integrations are listed in the Grafana OnCall **Create Integration** section.
+Grafana OnCall can connect directly to the monitoring services where your alerts originate. All currently available
+integrations are listed in the Grafana OnCall **Create Integration** section.
-If the integration you're looking for isn't currently listed, see [Webhook integrations for Grafana OnCall]({{< relref "../available-integrations/configure-webhook" >}}) to integration your monitoring system with Grafana OnCall.
+If the integration you're looking for isn't currently listed, see
+[Webhook integrations for Grafana OnCall]({{< relref "../available-integrations/configure-webhook" >}}) to integration
+your monitoring system with Grafana OnCall.
-> **Note:** Some integrations are available for Grafana Cloud instances only. See individual integration guides for more information.
+> **Note:** Some integrations are available for Grafana Cloud instances only. See individual integration
+> guides for more information.
The following integrations are currently available for Grafana OnCall and have documentation:
diff --git a/docs/sources/integrations/available-integrations/configure-alertmanager/index.md b/docs/sources/integrations/available-integrations/configure-alertmanager/index.md
index e2569ed0..a56cc498 100644
--- a/docs/sources/integrations/available-integrations/configure-alertmanager/index.md
+++ b/docs/sources/integrations/available-integrations/configure-alertmanager/index.md
@@ -18,16 +18,15 @@ weight: 300
The Alertmanager integration for Grafana OnCall handles alerts sent by client applications such as the Prometheus server.
-Grafana OnCall provides grouping abilities when processing alerts from Alertmanager, including initial deduplicating, grouping, and routing the alerts to Grafana OnCall.
+Grafana OnCall provides grouping abilities when processing
+alerts from Alertmanager, including initial deduplicating, grouping, and routing the alerts to Grafana OnCall.
## Configure Alertmanager integration for Grafana OnCall
You must have an Admin role to create integrations in Grafana OnCall.
1. In the **Integrations** tab, click **+ New integration for receiving alerts**.
-
2. Select **Alertmanager** from the list of available integrations.
-
3. Follow the instructions in the **How to connect** window to get your unique integration URL and identify next steps.
@@ -36,16 +35,16 @@ You must have an Admin role to create integrations in Grafana OnCall.
Update the `receivers` section of your Alertmanager configuration to use a unique integration URL:
-```
+```yaml
route:
- receiver: 'oncall'
+ receiver: "oncall"
group_by: [alertname, datacenter, app]
receivers:
-- name: 'oncall'
- webhook_configs:
- - url:
-
-
-
-
-