# What this PR does The `docs/reference` shortcode supports contextual destinations and version inference. `<ONCALL VERSION>` is inferred to match the version of the documentation set. For example, the inferred version for the page /docs/grafana/oncall/latest/get-started/ is "latest". It can also be overriden using front matter. Given the same page, but with the additional front matter `oncall_version: next`, the variable is substituted with "next" rather than "latest". Contextual destinations are achieved using repeated labels in the shortcode inner text. The format is [<LABEL>]: "<PAGE PATH PREFIX> -> <HUGO REFERENCE>". - _`<LABEL>`_ matches the reference style link label used in the rest of the text. - _`<PAGE PATH PREFIX>`_ is matched against the page during the production build. If the match is successful, the destination that is used is _`<HUGO REFERENCE>`_. The first matching prefix is used, not the longest matching prefix. ## Which issue(s) this PR fixes - Broken links due to ambiguous relref resolution. Any relref parameter that does not start with either `/`, `./`, or `../` can resolve ambiguously and is resulting in broken link behavior on the current site. - Broken links in Grafana Cloud. We mount OnCall documentation in Grafana Cloud. In https://github.com/grafana/website/pull/13872 the location will become /docs/grafana-cloud/alerting-and-irm/oncall. This PR is intended to be merged alongside that PR. --------- Signed-off-by: Jack Baldry <jack.baldry@grafana.com> Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
81 lines
3 KiB
Markdown
81 lines
3 KiB
Markdown
---
|
|
aliases:
|
|
- add-elastalert/
|
|
- /docs/oncall/latest/integrations/available-integrations/configure-elastalert/
|
|
canonical: https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-elastalert/
|
|
keywords:
|
|
- Grafana Cloud
|
|
- Alerts
|
|
- Notifications
|
|
- on-call
|
|
- elastalert
|
|
title: ElastAlert
|
|
weight: 500
|
|
---
|
|
|
|
# ElastAlert integration for Grafana OnCall
|
|
|
|
The ElastAlert integration for Grafana OnCall handles ticket events sent from ElastAlert 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 ElastAlert
|
|
|
|
1. In the **Integrations** tab, click **+ New integration**.
|
|
2. Select **ElastAlert** from the list of available integrations.
|
|
3. Enter a name and description for the integration, click **Create**
|
|
4. A new page will open with the integration details. Copy the **OnCall Integration URL** from **HTTP Endpoint** section.
|
|
|
|
## Configuring ElastAlert to Send Alerts to Grafana OnCall
|
|
|
|
To send an alert from ElastAlert to a webhook, follow these steps:
|
|
|
|
> Refer to [ElastAlert http-post docs](https://elastalert.readthedocs.io/en/latest/ruletypes.html#http-post) for more details
|
|
|
|
1. Open your ElastAlert configuration file (e.g., `config.yaml`).
|
|
2. Locate the `alert` section.
|
|
3. Add the following configuration for the webhook alert:
|
|
|
|
```yaml
|
|
alert: post
|
|
http_post_url: "http://example.com/api"
|
|
http_post_static_payload:
|
|
title: abc123
|
|
```
|
|
|
|
Replace `"abc123"` with a suitable name for your alert, and `"http://example.com/api"` with **OnCall Integration URL**.
|
|
4. Save the configuration file.
|
|
|
|
After configuring the webhook, ElastAlert will send alerts to the specified endpoint when triggered.
|
|
Make sure your webhook endpoint is configured to receive and process the incoming alerts.
|
|
|
|
## Grouping, auto-acknowledge and auto-resolve
|
|
|
|
Grafana OnCall provides grouping, auto-acknowledge and auto-resolve logic for the ElastAlert integration:
|
|
|
|
- Alerts created from ticket events are grouped by ticket ID
|
|
- Alert groups are auto-acknowledged when the ticket status is set to "Pending"
|
|
- Alert groups are auto-resolved when the ticket status is set to "Solved"
|
|
|
|
To customize this behaviour, consider modifying alert templates in integration settings.
|
|
|
|
### Configuring Elastalert to send heartbeats to Grafana OnCall Heartbeat
|
|
|
|
Add the following rule to ElastAlert
|
|
|
|
```yaml
|
|
index: elastalert_status
|
|
type: any
|
|
alert: post
|
|
http_post_url: {{ heartbeat_url }}
|
|
realert:
|
|
minutes: 1
|
|
alert_text: elastalert is still running
|
|
alert_text_type: alert_text_only
|
|
```
|
|
|
|
{{% docs/reference %}}
|
|
[user-and-team-management]: "/docs/oncall/ -> /docs/oncall/<ONCALL VERSION>/user-and-team-management"
|
|
[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management"
|
|
{{% /docs/reference %}}
|