From 80f932995c6ae46da0dda2c9ac0c38e0e0648407 Mon Sep 17 00:00:00 2001 From: Alyssa Wada <101596687+alyssawada@users.noreply.github.com> Date: Thu, 8 Feb 2024 15:59:28 -0700 Subject: [PATCH] oncall docs refactor (#3757) # What this PR does - Restructure the OnCall documentation to align with Grafana Labs [documentation structure guidance](https://grafana.com/docs/writers-toolkit/structure/). - Updates documentation front matter to include all required fields. ## Which issue(s) this PR fixes Related to issue #3700 ## Checklist - [ ] Unit, integration, and e2e (if applicable) tests updated - [ ] Documentation added (or `pr:no public docs` PR label added if not required) - [ ] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not required) --------- Signed-off-by: Jack Baldry Co-authored-by: Jack Baldry --- docs/make-docs | 13 +- docs/sources/_index.md | 97 +++++++++---- docs/sources/configure/_index.md | 53 ++++++++ .../escalation-chains-and-routes/index.md} | 62 +++++---- .../jinja2-templating/index.md} | 38 +++--- .../outgoing-webhooks/index.md} | 128 +++++------------- docs/sources/integrations/_index.md | 53 ++++---- .../integrations/alertmanager/index.md | 16 +-- docs/sources/integrations/amazon-sns/index.md | 4 +- .../sources/integrations/appdynamics/index.md | 6 +- docs/sources/integrations/datadog/index.md | 4 +- docs/sources/integrations/elastalert/index.md | 4 +- docs/sources/integrations/fabric/index.md | 4 +- .../integrations/grafana-alerting/index.md | 10 +- .../integrations/inbound-email/index.md | 9 +- docs/sources/integrations/jira/index.md | 8 +- docs/sources/integrations/kapacitor/index.md | 4 +- docs/sources/integrations/manual/index.md | 18 +-- docs/sources/integrations/newrelic/index.md | 4 +- docs/sources/integrations/pingdom/index.md | 4 +- docs/sources/integrations/prtg/index.md | 4 +- docs/sources/integrations/sentry/index.md | 4 +- docs/sources/integrations/servicenow/index.md | 4 +- .../sources/integrations/stackdriver/index.md | 4 +- .../sources/integrations/uptimerobot/index.md | 4 +- docs/sources/integrations/webhook/index.md | 4 +- docs/sources/integrations/zendesk/index.md | 8 +- docs/sources/intro/_index.md | 51 +++++++ docs/sources/manage/_index.md | 27 ++++ .../insights-and-metrics/index.md} | 28 ++-- .../sources/{ => manage}/mobile-app/_index.md | 24 +++- .../mobile-app/alert-groups-feed/index.md | 30 ++-- .../installation-and-setup/index.md | 19 ++- .../on-call-status-and-shifts/index.md | 28 ++++ .../mobile-app/push-notifications/index.md | 40 +++--- docs/sources/{ => manage}/notify/_index.md | 39 +++--- .../sources/manage/notify/mattermost/index.md | 23 ++++ .../{ => manage}/notify/ms-teams/index.md | 27 ++-- .../manage/notify/phone-calls-sms/index.md | 53 ++++++++ .../{ => manage}/notify/slack/index.md | 39 +++--- .../{ => manage}/notify/telegram/index.md | 25 ++-- .../{ => manage}/on-call-schedules/_index.md | 49 +++---- .../api-terraform-schedule/index.md | 32 +++++ .../on-call-schedules/ical-schedules/index.md | 30 ++-- .../on-call-schedules/shift-swaps/index.md} | 33 +++-- .../on-call-schedules/web-schedule/index.md} | 26 ++-- .../user-and-team-management/_index.md | 24 ++-- ...gin_json_rbac_roles_into_markdown_table.py | 0 .../migration-from-other-tools/_index.md | 18 --- .../on-call-status-and-shifts/index.md | 21 --- docs/sources/notify/mattermost/index.md | 23 ---- docs/sources/notify/phone-calls-sms/index.md | 52 ------- .../api-terraform-schedule/_index.md | 26 ---- docs/sources/oncall-api-reference/_index.md | 13 +- .../oncall-api-reference/integrations.md | 7 +- .../oncall-api-reference/on_call_shifts.md | 4 +- .../oncall-api-reference/outgoing_webhooks.md | 12 +- docs/sources/set-up/_index.md | 38 ++++++ .../_index.md => set-up/get-started/index.md} | 86 ++++++------ .../migration-from-other-tools/index.md | 23 ++++ .../_index.md => set-up/open-source/index.md} | 31 ++++- 61 files changed, 937 insertions(+), 635 deletions(-) create mode 100644 docs/sources/configure/_index.md rename docs/sources/{escalation-chains-and-routes/_index.md => configure/escalation-chains-and-routes/index.md} (69%) rename docs/sources/{jinja2-templating/_index.md => configure/jinja2-templating/index.md} (91%) rename docs/sources/{outgoing-webhooks/_index.md => configure/outgoing-webhooks/index.md} (81%) create mode 100644 docs/sources/intro/_index.md create mode 100644 docs/sources/manage/_index.md rename docs/sources/{insights-and-metrics/_index.md => manage/insights-and-metrics/index.md} (93%) rename docs/sources/{ => manage}/mobile-app/_index.md (68%) rename docs/sources/{ => manage}/mobile-app/alert-groups-feed/index.md (54%) rename docs/sources/{ => manage}/mobile-app/installation-and-setup/index.md (78%) create mode 100644 docs/sources/manage/mobile-app/on-call-status-and-shifts/index.md rename docs/sources/{ => manage}/mobile-app/push-notifications/index.md (80%) rename docs/sources/{ => manage}/notify/_index.md (65%) create mode 100644 docs/sources/manage/notify/mattermost/index.md rename docs/sources/{ => manage}/notify/ms-teams/index.md (83%) create mode 100644 docs/sources/manage/notify/phone-calls-sms/index.md rename docs/sources/{ => manage}/notify/slack/index.md (89%) rename docs/sources/{ => manage}/notify/telegram/index.md (80%) rename docs/sources/{ => manage}/on-call-schedules/_index.md (52%) create mode 100644 docs/sources/manage/on-call-schedules/api-terraform-schedule/index.md rename docs/sources/{ => manage}/on-call-schedules/ical-schedules/index.md (85%) rename docs/sources/{on-call-schedules/shift-swaps/_index.md => manage/on-call-schedules/shift-swaps/index.md} (73%) rename docs/sources/{on-call-schedules/web-schedule/_index.md => manage/on-call-schedules/web-schedule/index.md} (83%) rename docs/sources/{ => manage}/user-and-team-management/_index.md (98%) rename docs/sources/{ => manage}/user-and-team-management/convert_plugin_json_rbac_roles_into_markdown_table.py (100%) delete mode 100644 docs/sources/migration-from-other-tools/_index.md delete mode 100644 docs/sources/mobile-app/on-call-status-and-shifts/index.md delete mode 100644 docs/sources/notify/mattermost/index.md delete mode 100644 docs/sources/notify/phone-calls-sms/index.md delete mode 100644 docs/sources/on-call-schedules/api-terraform-schedule/_index.md create mode 100644 docs/sources/set-up/_index.md rename docs/sources/{get-started/_index.md => set-up/get-started/index.md} (72%) create mode 100644 docs/sources/set-up/migration-from-other-tools/index.md rename docs/sources/{open-source/_index.md => set-up/open-source/index.md} (92%) diff --git a/docs/make-docs b/docs/make-docs index d5d861ca83..be94a8d0c0 100755 --- a/docs/make-docs +++ b/docs/make-docs @@ -689,6 +689,13 @@ POSIX_HERESTRING case "${image}" in 'grafana/doc-validator') + if ! command -v jq >/dev/null 2>&1; then + errr '`jq` must be installed for the `doc-validator` target to work.' + note 'To install `jq`, refer to https://jqlang.github.io/jq/download/,' + + exit 1 + fi + proj="$(new_proj "$1")" echo "${PODMAN}" run \ @@ -701,8 +708,10 @@ case "${image}" in "${DOCS_IMAGE}" \ "--include=${DOC_VALIDATOR_INCLUDE}" \ "--skip-checks=${DOC_VALIDATOR_SKIP_CHECKS}" \ - /hugo/content/docs \ - "$(proj_canonical "${proj}")" | sed "s#$(proj_dst "${proj}")#sources#" + "/hugo/content$(proj_canonical "${proj}")" \ + "$(proj_canonical "${proj}")" \ + | sed "s#$(proj_dst "${proj}")#sources#" \ + | jq -r '"ERROR: \(.location.path):\(.location.range.start.line // 1):\(.location.range.start.column // 1): \(.message)" + if .suggestions[0].text then "\nSuggestion: \(.suggestions[0].text)" else "" end' ;; 'grafana/vale') proj="$(new_proj "$1")" diff --git a/docs/sources/_index.md b/docs/sources/_index.md index 5d02e0e37a..a81dd89c22 100644 --- a/docs/sources/_index.md +++ b/docs/sources/_index.md @@ -1,38 +1,81 @@ --- -canonical: https://grafana.com/docs/oncall/latest/ +title: Grafana OnCall +menuTitle: OnCall +description: Learn about the key features of Grafana OnCall and how improve your IRM solution +weight: 500 + +# This is the oncall index document +# Please do not make changes to the weight of this document +# The weight is set for ordering in the docs/grafana-cloud/alerting-and-irm/ folder + keywords: + - OnCall - Grafana Cloud - Alerts - Notifications - - on-call - - amixr - - OnCall - - irm -title: Grafana OnCall -menuTitle: OnCall -weight: 500 + - On-call + - Escalation + - IRM +canonical: https://grafana.com/docs/oncall/latest/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/ --- # Grafana OnCall documentation - - -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. +Grafana OnCall is an incident response and on-call management system that helps teams reduce the stress and maintenance of being on-call. Based on the Grafana +OnCall OSS project, Grafana OnCall is available on Grafana Cloud as part of the Grafana Incident Response & Management (IRM) solution. + +## What is Grafana OnCall? + +Grafana OnCall is a robust on-call management and incident response tool that is conveniently integrated into your Grafana Cloud environment. + +Positioned at the core of Grafana’s Incident Response & Management (IRM) solution, Grafana OnCall automatically routes and escalates alerts to on-call teams and +channels based on your predefined escalation policies and on-call schedules. + +## Key features + +### Diverse monitoring system support + +Grafana OnCall integrates with a diverse set of monitoring systems, including Grafana, Prometheus, Alertmanager, Zabbix, and more. This flexibility ensures +that, regardless of your existing monitoring infrastructure, your team benefits from Grafana OnCall. + +### Automatic escalation to on-call rotations + +Efficiently manage on-call rotations using Grafana OnCall's flexible calendar options. Define on-call schedules directly in the OnCall app, in your preferred +calendar application with iCal format, or leverage Terraform within your "as-code" workflow. Configurable alert escalation routes notifications to on-call team +members, Slack channels, and other designated points, ensuring timely responses. + +### 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. + +### Mobile app + +Access on-call alerts on the go with the dedicated mobile app, putting critical notifications in the palm of your hand. + +### As-code and GitOps + +Equipped with a full API and Terraform capabilities, Grafana OnCall is ready for GitOps and large organization configuration. + +### Fully 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. + +## Common on-call challenges + +Explore how Grafana OnCall addresses common on-call challenges: + +- **Alert Noise and Fatigue:** Automatic grouping and configurable auto-resolve settings control alert noise and reduce fatigue during incidents. +- **Balancing On-Call Load:** Schedule balance feature identifies potential workload imbalances, ensuring fair distribution. +- **Tool Sprawl:** Grafana OnCall, part of the Grafana Cloud suite, centralizes alert responses and investigations. +- **Calendar Maintenance:** Manage on-call rotations efficiently with flexible calendar integration for easy scheduling and alert escalation. +- **Custom Workflows:** Tailor incident response workflows with highly customizable alert grouping and routing for targeted notifications. + +## Get started + +To learn more about what Grafana OnCall can do for you, explore the following topics: {{< section >}} diff --git a/docs/sources/configure/_index.md b/docs/sources/configure/_index.md new file mode 100644 index 0000000000..d55ccdf636 --- /dev/null +++ b/docs/sources/configure/_index.md @@ -0,0 +1,53 @@ +--- +title: Configure Grafana OnCall +menuTitle: Configure +description: Learn about the configuration option available for OnCall +weight: 400 +keywords: + - OnCall + - Configuration + - Integration + - Escalation + - Alert templates + - Webhooks +canonical: https://grafana.com/docs/oncall/latest/configure/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/ +--- + +# Configure Grafana OnCall + +Grafana OnCall provides a unified platform for alert routing and on-call management. This section covers the high-level technical configuration options for +Grafana OnCall so you can tailor the system to your organization's specific needs. + +## Key configuration + +Explore key settings and integrations that allow you to customize your incident management process. + +### Configure Integrations + +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. + +### 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]. + +### Customize alert templates + +For detailed information on customizing alert templates, refer to the [Jinja2 templating] documentation. + +{{% docs/reference %}} +[Integrations]: "/docs/oncall/ -> /docs/oncall//integrations" +[Integrations]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/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" + +[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/escalation-chains-and-routes/_index.md b/docs/sources/configure/escalation-chains-and-routes/index.md similarity index 69% rename from docs/sources/escalation-chains-and-routes/_index.md rename to docs/sources/configure/escalation-chains-and-routes/index.md index a5d68dfa08..7d4287a27e 100644 --- a/docs/sources/escalation-chains-and-routes/_index.md +++ b/docs/sources/configure/escalation-chains-and-routes/index.md @@ -1,7 +1,21 @@ --- -canonical: https://grafana.com/docs/oncall/latest/escalation-chains-and-routes/ -title: Escalation Chains and Routes -weight: 600 +title: Escalation chains and routes +menuTitle: Escalation chains and routes +description: Understand how to configure escalation chains and routes for OnCall. +weight: 300 +keywords: + - OnCall + - Configuration + - Routes + - Escalation + - Alert templates + - Routing template + - Notify +canonical: https://grafana.com/docs/oncall/latest/configure/escalation-chains-and-routes/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/escalation-chains-and-routes/ + - /docs/grafana-cloud/alerting-and-irm/oncall/escalation-chains-and-routes/ + - ../escalation-chains-and-routes/ # /docs/oncall//escalation-chains-and-routes/ --- # Escalation Chains and Routes @@ -11,7 +25,7 @@ Often alerts from monitoring systems need to be sent to different escalation cha ## Routes Routes are used to determine which escalation chain should be used for a specific alert -group. A route's ["Routing Templates"][routing-template] +group. A route's _[Routing Templates]_ are evaluated for each alert and **the first matching route** is used to determine the escalation chain and chatops channels. @@ -24,15 +38,16 @@ escalation chain and chatops channels. ### Manage routes 1. Open Integration page -2. Click **Add route** button to create a new route -3. Click **Edit** button to edit `Routing Template`. The routing template must evaluate to `True` for it to apply -4. Select channels in **Publish to Chatops** section - > **Note:** If **Publish to Chatops** section does not exist, connect Chatops integrations first, see more in [docs][notify] -5. Select **Escalation Chain** from the list -6. If **Escalation Chain** does not exist, click **Add new escalation chain** button to create a new one, it will open in a new tab. -7. Once created, **Reload list**, and select the new escalation chain -8. Click **Arrow Up** and **Arrow Down** on the right to change the order of routes -9. Click **Three dots** and **Delete Route** to delete the route +1. Click **Add route** button to create a new route +1. Click **Edit** button to edit `Routing Template`. The routing template must evaluate to `True` for it to apply +1. Select channels in **Publish to Chatops** section + > **Note:** If the **Publish to Chatops** section doesn't exist, connect Chatops integrations first. + > For more information, refer to [Notify people]. +1. Select **Escalation Chain** from the list +1. If **Escalation Chain** does not exist, click **Add new escalation chain** button to create a new one, it will open in a new tab. +1. Once created, **Reload list**, and select the new escalation chain +1. Click **Arrow Up** and **Arrow Down** on the right to change the order of routes +1. Click **Three dots** and **Delete Route** to delete the route ### Routing based on labels @@ -56,7 +71,7 @@ Users can create escalation chains to configure different type of escalation wor For example, you can create a chain that will notify on-call users with high priority, and another chain that will only send a message into a Slack channel. -Escalation chains determine Who and When to notify. [How to notify][notify] is set by the user, based on their own preferences. +Escalation chains determine Who and When to notify. How to notify is set by the user, based on their own preferences. ### Types of escalation steps @@ -69,7 +84,7 @@ from an on-call schedule. `Resolved automatically`. * `Notify whole slack channel` - send a notification to the users in the slack channel. * `Notify Slack User Group` - send a notification to each member of a slack user group. -* `Trigger outgoing webhook` - trigger an [outgoing webhook][outgoing-webhooks]. +* `Trigger outgoing webhook` - trigger an [outgoing webhook]. * `Notify users one by one (round robin)` - each notification will be sent to a group of users one by one, in sequential order in [round robin fashion](https://en.wikipedia.org/wiki/Round-robin_item_allocation). * `Continue escalation if current time is in range` - continue escalation only if current @@ -85,7 +100,7 @@ should have linked their Slack and OnCall users). In both cases, the filtered us notified following their respective notification policies. However, to avoid **spamming** the Slack channel/thread, users **won't be notified** in the alert group Slack **thread** (this is how the feature is currently implemented) but instead notify them using their **other defined** options in -their [respective policies]([url](https://grafana.com/docs/oncall/latest/notify/#configure-user-notification-policies)). +their respective policies. ### Notification types @@ -99,8 +114,7 @@ User can configure two types of personal notification chains: * **Important Notifications** In the escalation step, user can select which type of notification to use. - -Check more information on [Personal Notification Preferences][notify] page. +For more information, refer to [Notify people]. ### Manage Escalation Chains @@ -117,12 +131,12 @@ Check more information on [Personal Notification Preferences][notify] page. affect all linked Integrations and Routes. {{% docs/reference %}} -[notify]: "/docs/oncall/ -> /docs/oncall//notify" -[notify]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/notify" +[Notify people]: "/docs/oncall/ -> /docs/oncall//manage/notify" +[Notify people]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/notify" -[outgoing-webhooks]: "/docs/oncall/ -> /docs/oncall//outgoing-webhooks" -[outgoing-webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/outgoing-webhooks" +[outgoing webhook]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks" +[outgoing webhook]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks" -[routing-template]: "/docs/oncall/ -> /docs/oncall//jinja2-templating#routing-template" -[routing-template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/jinja2-templating#routing-template" +[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" {{% /docs/reference %}} diff --git a/docs/sources/jinja2-templating/_index.md b/docs/sources/configure/jinja2-templating/index.md similarity index 91% rename from docs/sources/jinja2-templating/_index.md rename to docs/sources/configure/jinja2-templating/index.md index b62571d7e3..39c8fae6f0 100644 --- a/docs/sources/jinja2-templating/_index.md +++ b/docs/sources/configure/jinja2-templating/index.md @@ -1,9 +1,23 @@ --- -canonical: https://grafana.com/docs/oncall/latest/jinja2-templating/ title: Jinja2 templating -weight: 1000 +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 @@ -75,17 +89,6 @@ not in the Grafana OnCall integrations list, you can create a generic `webhook` integration, send an alert, and configure your templates. -### Labels - -> **Note:** Labels are currently available only in cloud. - -In addition, there is a `labels` variable available to your templates, which contains all of the labels assigned -to the Alert Group, as a `dict`. This allows you to template based on labels (or a mix of labels and/or payload based data): - -> **Example:** -> -> - `{{ labels.foo or payload.bar }}` - ## Types of templates Alert templates allow you to format any alert fields recognized by Grafana OnCall. You can @@ -99,8 +102,6 @@ customization, use Jinja templates. > **Note:** For conditional templates, the output should be `True` to be applied, for example `{{ True if payload.state == 'OK' else False }}` -See more details in the [Routes][routes] section. - #### Appearance templates How alerts are displayed in the UI, messengers, and notifications @@ -226,10 +227,3 @@ Built-in functions: - Usage example: `{{ payload.ruleName | regex_match(".*") }}` - `b64decode` - performs a base64 string decode - Usage example: `{{ payload.data | b64decode }}` - -{{< section >}} - -{{% docs/reference %}} -[routes]: "/docs/oncall/ -> /docs/oncall//escalation-chains-and-routes#routes" -[routes]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/escalation-chains-and-routes#routes" -{{% /docs/reference %}} diff --git a/docs/sources/outgoing-webhooks/_index.md b/docs/sources/configure/outgoing-webhooks/index.md similarity index 81% rename from docs/sources/outgoing-webhooks/_index.md rename to docs/sources/configure/outgoing-webhooks/index.md index 43f3324172..0d80576c88 100644 --- a/docs/sources/outgoing-webhooks/_index.md +++ b/docs/sources/configure/outgoing-webhooks/index.md @@ -1,16 +1,22 @@ --- -canonical: https://grafana.com/docs/oncall/latest/outgoing-webhooks/ -keywords: - - Grafana Cloud - - Alerts - - Notifications - - on-call - - amixr - - webhooks title: Outgoing Webhooks +menuTitle: Outgoing Webhooks +description: Understand how to send data from OnCall using an outgoing webhook weight: 500 +keywords: + - OnCall + - Configuration + - Webhooks + - POST + - Event types +canonical: https://grafana.com/docs/oncall/latest/configure/outgoing-webhooks/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks/ + - /docs/grafana-cloud/alerting-and-irm/oncall/outgoing-webhooks/ + - ../outgoing-webhooks/ # /docs/oncall//outgoing-webhooks/ --- + # Outgoing Webhooks > ⚠️ A note about **(Legacy)** webhooks: Webhooks that were created before version **v1.3.11** are marked as @@ -111,8 +117,7 @@ If no integrations are selected the outgoing webhook will trigger for any integr The destination URL the outgoing webhook will make a request to. This must be a FQDN. -> ⚠️ **Note** the destination server must respond back within 4 seconds (by default) or it will result in a timeout -> For open source deployments, this timeout is configurable by setting the environment variable OUTGOING_WEBHOOK_TIMEOUT +> ⚠️ **Note** the destination server must respond back within 4 seconds or it will result in a timeout > (this can be seen in the "Response Body" under the "Last Run" section) | Required | [Template Accepted](#outgoing-webhook-templates) | Default Value | @@ -176,34 +181,6 @@ Toggle to send the entire webhook payload instead of using the values in the **D | :------: | :----------------------------------------------: | :-----------: | | ❌ | ❌ | _False_ | -## Labels - -> **Note:** Labels are currently available only in cloud. - -Webhook labels allow to pass labels data to a 3'rd party. -Label data will be included in the webhook payload, along with alert group and integration labels. -It could be useful such use-cases as delivering Alert Groups with severity to the ServiceNow or -forwarding the cluster name to the GitHub issue. -Check this [template example][labels_webhook_template] to see how you can include labels in the webhook data. - -Editing Webhook Labels: -To edit the labels associated with a webhook, follow these steps: - -1. Navigate to the Webhooks tab. -2. Select an integration from the list of enabled integrations. -3. Click the three dots next to the webhook name and choose Edit Settings. -4. Define a key and value for the label: - - Select existing keys and values from the dropdown list, or - - Type new keys and values into the fields, accepting with the enter/return key. -5. To add more labels, click the Add button. Labels can also be removed using the X button next to the key-value pair. -6. Click Save to apply the changes. - -To filter webhooks based on labels, use the following steps: - -1. Navigate to the Webhooks tab. -2. Locate the Search or Filter Results… dropdown and select Label. -3. Start typing to find suggestions and select the desired key-value pair for filtering. Currently, it's only possible to filter by key-value pairs. - ## Outgoing webhook templates The fields that accept a Jinja2 template in outgoing webhooks are able to process data to customize the output. @@ -237,9 +214,6 @@ must match the structure of how the fields are nested in the data. "slack": null, "telegram": null, "web": "https://**********.grafana.net/a/grafana-oncall-app/alert-groups/I6HNZGUFG4K11" - }, - "labels": { - "region": "eu-1" } }, "alert_group_id": "I6HNZGUFG4K11", @@ -260,10 +234,7 @@ must match the structure of how the fields are nested in the data. "id": "CZ7URAT4V3QF2", "type": "webhook", "name": "Main Integration - Webhook", - "team": "Webhooks Demo", - "labels": { - "component": "demo" - } + "team": "Webhooks Demo" }, "notified_users": [], "users_to_be_notified": [], @@ -277,10 +248,6 @@ must match the structure of how the fields are nested in the data. "region": "eu" } } - }, - "webhook": { - "name": "demo_hook", - "labels": {} } } ``` @@ -318,7 +285,6 @@ Details about the alert group associated with this event. - `{{ alert_group.acknowledged_at }}` - Timestamp alert group was acknowledged (None if not acknowledged yet) - `{{ alert_group.title }}` - Title of alert group - `{{ alert_group.permalinks }}` - Links to alert group in web and chat ops if available -- `{{ alert_group.labels }}` - Labels parsed by OnCall from the first alert in the alert group #### `{{ alert_group_id }}` @@ -340,7 +306,6 @@ Details about the integration that received this alert - `{{ integration.type }}` - Type of integration (grafana, alertmanager, webhook, etc.) - `{{ integration.name }}` - Name of integration - `{{ integration.team }}` - Team integration belongs to if integration is assigned to a team -- `{{ integration.labels }}` - Labels assigned to integration #### `notified_users` @@ -364,14 +329,6 @@ response of the referenced webhook when it was executed on behalf of the current See [Advanced Usage - Using response data](#using-response-data) for more details. Access as `{{ responses["WHP936BM1GPVHQ"].content.message }}` for example -#### `webhook` - -Details about the triggered webhook - -- `{{ webhook.id }}` - [UID](#uid) of webhook -- `{{ webhook.name }}` - Name of webhook -- `{{ webhook.labels }}` - Labels assigned to webhook - ### UID Templates often use UIDs to make decisions about what actions to take if you need to find the UID of an object @@ -386,19 +343,8 @@ in the user interface to reference they can be found in the following places: UIDs are also visible in the browser URL when a specific object is selected for view or edit. -- Outgoing Webhook - In the table there is an info icon, UID displayed on hover, click to copy to clipboard -- Integration - In integrations beside the name is an info icon, UID displayed on hover, click to copy to clipboard -- Routes - With an integration selected beside Send Demo Alert is an infor icon, UID displayed on hover, - click to copy to clipboard -- Alert group - When viewing an alert group UID is visible in the browser URL -- User - When viewing a user's profile UID is visible in the browser URL - -UIDs are also visible in the browser URL when a specific object is selected for view or edit. - ### Template examples -#### Data in a json body - The following is an example of an entry in the Data field that would return an alert name and description. ```json @@ -408,33 +354,17 @@ The following is an example of an entry in the Data field that would return an a } ``` -#### Data in a query parameter - Here is an example using the user's email address as part of a URL: -```jinja2 +```bash https://someticketsystem.com/new-ticket?assign-user={{ user.email }} ``` -#### JSON webhook payload with the alert-group labels - -This example shows how to construct a custom webhook payload from various webhook data fields and output it as a JSON object - -```jinja2 -{%- set payload = {} -%} -{# add alert group labels #} -{%- set payload = dict(payload, **{"labels": alert_group.labels}) -%} -{# add some other fields from webhook data just for example #} -{%- set payload = dict(payload, **{"event": event.type, "integration": integration.name}) -%} -{# encode payload dict to json #} -{{ payload | tojson }} -``` - #### Note about JSON Take this template for example: -```jinja2 +```json { "labels": "{{ alert_payload.labels }}" } @@ -450,9 +380,9 @@ It will result in the following (Invalid JSON due to single quotes): To fix change the template to: -```tempate +```json { - "labels": {{ alert_payload.labels | tojson }} + "labels": {{ alert_payload.labels | tojson()}} } ``` @@ -566,13 +496,17 @@ the `id` of that ticket to keep its status synchronized with the state changes b Integrate with third-party services: -- [JIRA]({{< relref "../integrations/jira" >}}) -- [ServiceNow]({{< relref "../integrations/servicenow" >}}) -- [Zendesk]({{< relref "../integrations/zendesk" >}}) - -{{< section >}} +- [JIRA][] +- [ServiceNow][] +- [Zendesk][] {{% docs/reference %}} -[labels_webhook_template]: "/docs/oncall/ -> /docs/oncall//outgoing-webhooks/#json-webhook-payload-with-the-alert-group-labels -[labels_webhook_template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/outgoing-webhooks/#json-webhook-payload-with-the-alert-group-labels +[JIRA]: "/docs/oncall/ -> /docs/oncall//integrations/jira" +[JIRA]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/jira" + +[ServiceNow]: "/docs/oncall/ -> /docs/oncall//integrations/servicenow" +[ServiceNow]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/servicenow" + +[Zendesk]: "/docs/oncall/ -> /docs/oncall//integrations/zendesk" +[Zendesk]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/zendesk" {{% /docs/reference %}} diff --git a/docs/sources/integrations/_index.md b/docs/sources/integrations/_index.md index 510bcf890a..40a0b5f433 100644 --- a/docs/sources/integrations/_index.md +++ b/docs/sources/integrations/_index.md @@ -18,20 +18,19 @@ An "Integration" is a main entry point for alerts being consumed by Grafana OnCa Integrations receive alerts on a unique API URL, interprets them using a set of templates tailored for the monitoring system, and starts escalations. -Read more about Jinja2 templating used in OnCall [here][jinja2-templating]. +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 -[e-mail]({{< relref "inbound-email" >}}), for inbound e-mail integrations) -1. Routing is determined for the incoming alert, by applying the [Routing Template][routing-template] -1. Alert Grouping is determined based on [Grouping Id Template][behavioral-template] -1. An Alert Group may be acknowledged or resolved with status `_ by source` based on -[Behaviour Templates][behavioral-template] +[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][appearance-template] +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 Alert Workflow][learn-alert-workflow] section +1. Users can perform actions listed in [Learn about the Alert Workflow][] section ## Configure and manage integrations @@ -54,9 +53,9 @@ Click the **How to connect** link for more information. ### Complete the integration configuration -- Review and customise grouping, autoresolution, autoacknowledge, etc [templates][jinja2-templating] +- Review and customise grouping, autoresolution, autoacknowledge templates if you want to customise alert behaviour for your team -- Review and customise [other templates][jinja2-templating] to change how alert groups are displayed +- 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 @@ -101,9 +100,8 @@ More specific instructions can be found in a specific integration's documentatio #### Behaviour and rendering templates example -"Integration templates" are Jinja2 templates which are applied to each alert to define it's rendering and behaviour. - -Read more in [Templates guide][jinja2-templating] +_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: @@ -332,24 +330,27 @@ Users with admin permissions have the ability to add custom columns based on lab {{< section >}} {{% docs/reference %}} -[appearance-template]: "/docs/oncall/ -> /docs/oncall//jinja2-templating#appearance-template" -[appearance-template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/jinja2-templating#appearance-template" +[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" -[behavioral-template]: "/docs/oncall/ -> /docs/oncall//jinja2-templating#behavioral-template" -[behavioral-template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/jinja2-templating#behavioral-template" +[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//jinja2-templating" -[jinja2-templating]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/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" -[learn-alert-workflow]: "/docs/oncall/ -> /docs/oncall//get-started#learn-alert-workflow" -[learn-alert-workflow]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/get-started#learn-alert-workflow" +[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//jinja2-templating#routing-template" -[routing-template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/jinja2-templating#routing-template" +[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" -[webhook-labels]: "/docs/oncall/ -> /docs/oncall//outgoing-webhooks/#labels" -[webhook-labels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/outgoing-webhooks/#labels" +[webhook-labels]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks#labels" +[webhook-labels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks#labels" -[integration-labels]: "/docs/oncall/ -> /docs/oncall//integrations/#labels" +[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/integrations/alertmanager/index.md b/docs/sources/integrations/alertmanager/index.md index ab180d0d97..3612a47cb4 100644 --- a/docs/sources/integrations/alertmanager/index.md +++ b/docs/sources/integrations/alertmanager/index.md @@ -182,18 +182,18 @@ or [data][data_webhook_template] template it's needed to adjust them as well. Screenshot 2023-12-14 at 1 14 32 PM {{% docs/reference %}} -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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/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" -[legacy_integration]: "/docs/oncall/ -> /docs/oncall//integrations/alertmanager#note-about-legacy-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//outgoing-webhooks/#outgoing-webhook-templates" -[data_webhook_template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/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//outgoing-webhooks/#using-trigger-template-field" -[data_webhook_template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/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/outgoing-webhooks#using-trigger-template-field" {{% /docs/reference %}} diff --git a/docs/sources/integrations/amazon-sns/index.md b/docs/sources/integrations/amazon-sns/index.md index c80ad4ea91..c27b3eb4fb 100644 --- a/docs/sources/integrations/amazon-sns/index.md +++ b/docs/sources/integrations/amazon-sns/index.md @@ -42,6 +42,6 @@ in Grafana OnCall. 4. Add the **OnCall Integration URL** to the Amazon SNS Endpoint {{% docs/reference %}} -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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" {{% /docs/reference %}} diff --git a/docs/sources/integrations/appdynamics/index.md b/docs/sources/integrations/appdynamics/index.md index 0d6d48a636..b1743fc2c3 100644 --- a/docs/sources/integrations/appdynamics/index.md +++ b/docs/sources/integrations/appdynamics/index.md @@ -113,9 +113,9 @@ 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/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" -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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" {{% /docs/reference %}} diff --git a/docs/sources/integrations/datadog/index.md b/docs/sources/integrations/datadog/index.md index 89d91220f3..e61de5082b 100644 --- a/docs/sources/integrations/datadog/index.md +++ b/docs/sources/integrations/datadog/index.md @@ -43,6 +43,6 @@ The integration provides grouping, auto-acknowledge and auto-resolve logic via c 7. Click the post button {{% docs/reference %}} -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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" {{% /docs/reference %}} diff --git a/docs/sources/integrations/elastalert/index.md b/docs/sources/integrations/elastalert/index.md index d8cc721987..bad32d624c 100644 --- a/docs/sources/integrations/elastalert/index.md +++ b/docs/sources/integrations/elastalert/index.md @@ -76,6 +76,6 @@ Add the following rule to ElastAlert ``` {{% docs/reference %}} -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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" {{% /docs/reference %}} diff --git a/docs/sources/integrations/fabric/index.md b/docs/sources/integrations/fabric/index.md index a1cb54a81b..df05f6543b 100644 --- a/docs/sources/integrations/fabric/index.md +++ b/docs/sources/integrations/fabric/index.md @@ -42,6 +42,6 @@ The integration provides grouping, auto-acknowledge and auto-resolve logic via c 6. Choose "SEND IMPACT CHANGE ALERTS" and "ALSO SEND NON-FATAL ALERTS" {{% docs/reference %}} -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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" {{% /docs/reference %}} diff --git a/docs/sources/integrations/grafana-alerting/index.md b/docs/sources/integrations/grafana-alerting/index.md index 581c496060..04a5d141f5 100644 --- a/docs/sources/integrations/grafana-alerting/index.md +++ b/docs/sources/integrations/grafana-alerting/index.md @@ -132,12 +132,12 @@ You can read more about AlertManager Data model [here](https://prometheus.io/doc 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/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//outgoing-webhooks/#outgoing-webhook-templates -[data_webhook_template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/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//outgoing-webhooks/#using-trigger-template-field -[trigger_webhook_template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/outgoing-webhooks/#using-trigger-template-field +[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 {{% /docs/reference %}} diff --git a/docs/sources/integrations/inbound-email/index.md b/docs/sources/integrations/inbound-email/index.md index f5c78036bd..ad4157c41f 100644 --- a/docs/sources/integrations/inbound-email/index.md +++ b/docs/sources/integrations/inbound-email/index.md @@ -18,7 +18,7 @@ Inbound Email integration will consume emails from dedicated email address and m ## Configure required environment variables -See [Inbound Email Setup]({{< relref "../../open-source/_index.md#inbound-email-setup" >}}) for details. +Refer to [Inbound Email Setup][] for details. ## Configure Inbound Email integration for Grafana OnCall @@ -44,6 +44,9 @@ Alerts from Inbound Email integration have the following payload: ``` {{% docs/reference %}} -[jinja2-templating]: "/docs/oncall/ -> /docs/oncall//jinja2-templating" -[jinja2-templating]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/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" + +[Inbound Email Setup]: "/docs/oncall/ -> /docs/oncall//set-up/open-source#inbound-email-setup) +[Inbound Email Setup]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/set-up/open-source#inbound-email-setup) {{% /docs/reference %}} diff --git a/docs/sources/integrations/jira/index.md b/docs/sources/integrations/jira/index.md index 9e67a64d75..9374f6ef22 100644 --- a/docs/sources/integrations/jira/index.md +++ b/docs/sources/integrations/jira/index.md @@ -178,9 +178,9 @@ Refer to [outgoing webhooks documentation][outgoing-webhooks] for more informati For more information on Jira REST API, refer to [Jira REST API documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues). {{% docs/reference %}} -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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//outgoing-webhooks" -[outgoing-webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/outgoing-webhooks" +[outgoing-webhooks]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks" +[outgoing-webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks" {{% /docs/reference %}} diff --git a/docs/sources/integrations/kapacitor/index.md b/docs/sources/integrations/kapacitor/index.md index 85550191e4..9e4ff6c22d 100644 --- a/docs/sources/integrations/kapacitor/index.md +++ b/docs/sources/integrations/kapacitor/index.md @@ -61,6 +61,6 @@ a POST request to the specified webhook URL with the necessary information. Make endpoint is configured to receive and process the incoming alerts from Kapacitor. {{% docs/reference %}} -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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" {{% /docs/reference %}} diff --git a/docs/sources/integrations/manual/index.md b/docs/sources/integrations/manual/index.md index 36075bdf60..a1f4fc8cfc 100644 --- a/docs/sources/integrations/manual/index.md +++ b/docs/sources/integrations/manual/index.md @@ -72,18 +72,18 @@ 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/oncall/ -> /docs/oncall//integrations" [integrations]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations" -[escalation-chains-and-routes]: "/docs/oncall/ -> /docs/oncall//escalation-chains-and-routes" -[escalation-chains-and-routes]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/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" -[notify]: "/docs/oncall/ -> /docs/oncall//notify#configure-user-notification-policies" -[notify]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/notify#configure-user-notification-policies" +[notify]: "/docs/oncall/ -> /docs/oncall//manage/notify#configure-user-notification-policies" +[notify]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/notify#configure-user-notification-policies" -[slack-escalate]: "/docs/oncall/ -> /docs/oncall//notify/slack#slack-escalate-command" -[slack-escalate]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/notify/slack#slack-escalate-command" +[slack-escalate]: "/docs/oncall/ -> /docs/oncall//manage/notify/slack#slack-escalate-command" +[slack-escalate]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/notify/slack#slack-escalate-command" -[manage-teams]: "/docs/oncall/ -> /docs/oncall//user-and-team-management#manage-teams-in-grafana-oncall" -[manage-teams]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management#manage-teams-in-grafana-oncall" +[manage-teams]: "/docs/oncall/ -> /docs/oncall//manage/user-and-team-management#manage-teams-in-grafana-oncall" +[manage-teams]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/user-and-team-management#manage-teams-in-grafana-oncall" {{% /docs/reference %}} diff --git a/docs/sources/integrations/newrelic/index.md b/docs/sources/integrations/newrelic/index.md index 12573765fe..b0fd3317e4 100644 --- a/docs/sources/integrations/newrelic/index.md +++ b/docs/sources/integrations/newrelic/index.md @@ -41,6 +41,6 @@ The integration provides grouping, auto-acknowledge and auto-resolve logic via c 5. Check "Payload type" is JSON. {{% docs/reference %}} -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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" {{% /docs/reference %}} diff --git a/docs/sources/integrations/pingdom/index.md b/docs/sources/integrations/pingdom/index.md index 8f1a8e24c4..aa44f1f7a7 100644 --- a/docs/sources/integrations/pingdom/index.md +++ b/docs/sources/integrations/pingdom/index.md @@ -42,6 +42,6 @@ The integration provides grouping, auto-acknowledge and auto-resolve logic via c 6. Click "Modify Check" to save. {{% docs/reference %}} -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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" {{% /docs/reference %}} diff --git a/docs/sources/integrations/prtg/index.md b/docs/sources/integrations/prtg/index.md index 3f911efa40..00bf3f9ff9 100644 --- a/docs/sources/integrations/prtg/index.md +++ b/docs/sources/integrations/prtg/index.md @@ -118,6 +118,6 @@ Catch ``` {{% docs/reference %}} -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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" {{% /docs/reference %}} diff --git a/docs/sources/integrations/sentry/index.md b/docs/sources/integrations/sentry/index.md index 56d8a78063..91d4fb6577 100644 --- a/docs/sources/integrations/sentry/index.md +++ b/docs/sources/integrations/sentry/index.md @@ -61,6 +61,6 @@ level, event frequency, or specific tags. Once the alert conditions are met, Sentry will trigger the webhook action and send a request to the Grafana OnCall. {{% docs/reference %}} -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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" {{% /docs/reference %}} diff --git a/docs/sources/integrations/servicenow/index.md b/docs/sources/integrations/servicenow/index.md index 48f05a113d..39c92e217e 100644 --- a/docs/sources/integrations/servicenow/index.md +++ b/docs/sources/integrations/servicenow/index.md @@ -145,6 +145,6 @@ Refer to [outgoing webhooks documentation][outgoing-webhooks] for more informati For more information on ServiceNow REST API, refer to [ServiceNow REST API documentation](https://developer.servicenow.com/dev.do#!/reference/api/sandiego/rest). {{% docs/reference %}} -[outgoing-webhooks]: "/docs/oncall/ -> /docs/oncall//outgoing-webhooks" -[outgoing-webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/outgoing-webhooks" +[outgoing-webhooks]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks" +[outgoing-webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks" {{% /docs/reference %}} diff --git a/docs/sources/integrations/stackdriver/index.md b/docs/sources/integrations/stackdriver/index.md index 92caf37e86..9546273d9e 100644 --- a/docs/sources/integrations/stackdriver/index.md +++ b/docs/sources/integrations/stackdriver/index.md @@ -39,6 +39,6 @@ The integration provides grouping, auto-acknowledge and auto-resolve logic via c 2. Create and alert in Stackdriver by navigating to Alerting -> Policies -> Add Policy -> Choose Notification Channel using the channel set up in step 1 {{% docs/reference %}} -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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" {{% /docs/reference %}} diff --git a/docs/sources/integrations/uptimerobot/index.md b/docs/sources/integrations/uptimerobot/index.md index 683189887b..d14fb72010 100644 --- a/docs/sources/integrations/uptimerobot/index.md +++ b/docs/sources/integrations/uptimerobot/index.md @@ -66,6 +66,6 @@ The integration provides grouping, auto-acknowledge and auto-resolve logic via c 1. Click Create Monitor {{% docs/reference %}} -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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" {{% /docs/reference %}} diff --git a/docs/sources/integrations/webhook/index.md b/docs/sources/integrations/webhook/index.md index a6698e1a3a..372e0f1601 100644 --- a/docs/sources/integrations/webhook/index.md +++ b/docs/sources/integrations/webhook/index.md @@ -63,6 +63,6 @@ To learn how to use custom alert templates for formatted webhooks, see [Configure alerts templates][jinja2-templating]. {{% docs/reference %}} -[jinja2-templating]: "/docs/oncall/ -> /docs/oncall//jinja2-templating" -[jinja2-templating]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/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/integrations/zendesk/index.md b/docs/sources/integrations/zendesk/index.md index 0ff7413b4c..5887ecd76d 100644 --- a/docs/sources/integrations/zendesk/index.md +++ b/docs/sources/integrations/zendesk/index.md @@ -168,9 +168,9 @@ Refer to [outgoing webhooks documentation][outgoing-webhooks] for more informati For more information on Zendesk API, refer to [Zendesk API documentation](https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/). {{% docs/reference %}} -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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//outgoing-webhooks" -[outgoing-webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/outgoing-webhooks" +[outgoing-webhooks]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks" +[outgoing-webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks" {{% /docs/reference %}} diff --git a/docs/sources/intro/_index.md b/docs/sources/intro/_index.md new file mode 100644 index 0000000000..c7a0d23cdf --- /dev/null +++ b/docs/sources/intro/_index.md @@ -0,0 +1,51 @@ +--- +title: Introduction to Grafana OnCall +menuTitle: Introduction +description: An introduction to Grafana OnCall including, an overview of key concepts and features, how it works, and what you can do with it. +weight: 100 +keywords: + - OnCall + - Alert notifications + - Escalation chains + - On-call schedules + - Grafana Cloud + - on-call engineer +canonical: https://grafana.com/docs/oncall/latest/intro/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/intro/ +--- + +# Introduction to Grafana OnCall + +Grafana OnCall is the cornerstone of Grafana’s Incident Response & Management (IRM) solution. Designed with the on-call engineer in mind, Grafana OnCall enables +you to refine on-call operations, expedite issue resolution, and fortify the reliability of your observability stack. + +## How it works + +Grafana OnCall serves as the nerve center for your observability stack, ingesting, grouping, and routing alerts from anywhere in your systems. Configure rules +to dictate how alerts are routed and grouped, ensuring efficient incident management. With predefined escalation policies and on-call schedules, Grafana OnCall +automates the escalation process, delivering alerts to the right responder at the right time. + +## Key terms and concepts + +To navigate Grafana OnCall effectively, familiarize yourself with key terms and concepts: + +- **Alert group:** Aggregated sets of related alerts that are grouped by some attribute. +- **Escalation chain:** A set of predefined steps, rules, and time intervals dictating how and when alerts are directed to OnCall schedules or users directly. +- **Routes:** Configurable paths that direct alerts to designated responders or channels. Tailor Routes to send alerts to specific escalation chains based on +alert details. Additionally, enhance flexibility by incorporating regular expressions when adding routes to integrations. +- **On-call schedule:** A calendar-based system defining when team members are on-call. +- **Rotation:** The scheduled shift during which a specific team or individual is responsible for incident response. +- **Shift:** The designated time period within a rotation when a team or individual is actively on-call. +- **Notification policy:** Set of rules dictating how, when, and where alerts notifications are sent to a responder. + +## Next steps + +To get started with Grafana OnCall, refer to [Get started][] + +To learn more about what you can do with Grafana OnCall, visit the [Grafana Cloud IRM product page](https://grafana.com/products/cloud/irm/). + +{{% docs/reference %}} +[Get started]: "/docs/oncall/ -> /docs/oncall//set-up/get-started" +[Get started]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/set-up/get-started" +{{% /docs/reference %}} diff --git a/docs/sources/manage/_index.md b/docs/sources/manage/_index.md new file mode 100644 index 0000000000..61c4ab83fa --- /dev/null +++ b/docs/sources/manage/_index.md @@ -0,0 +1,27 @@ +--- +title: Manage Grafana OnCall +menuTitle: Manage +description: Understand how to manage on-call schedules, notifications methods, and the Grafana OnCall mobile app. +weight: 500 +keywords: + - OnCall + - Schedules + - Notifications + - Mobile app + - Slack + - Shift swap +canonical: https://grafana.com/docs/oncall/latest/manage/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/ +--- + +# Manage Grafana OnCall + +The maintenance of on-call management can be highly burdensome. Grafana OnCall is equipped with useful features designed to make it easier for teams to maintain +their on-call and incident response processes. + +This section describes how to manage on-call schedules, notifications methods, and the Grafana OnCall mobile app. + +To learn more about what Grafana OnCall can do for you, explore the following topics: + +{{< section >}} diff --git a/docs/sources/insights-and-metrics/_index.md b/docs/sources/manage/insights-and-metrics/index.md similarity index 93% rename from docs/sources/insights-and-metrics/_index.md rename to docs/sources/manage/insights-and-metrics/index.md index 0e6834748a..ebb50393a2 100644 --- a/docs/sources/insights-and-metrics/_index.md +++ b/docs/sources/manage/insights-and-metrics/index.md @@ -1,13 +1,20 @@ --- -canonical: https://grafana.com/docs/oncall/latest/insights-and-metrics/ +title: Insight logs and metrics +menuTitle: Insight logs and metrics +description: Explore Grafana OnCall insights and metrics. +weight: 700 keywords: - - Audit Logs - - Insight Logs - - Metrics + - OnCall + - Audit logs + - Insight logs - Loki - Prometheus -title: Insight Logs and Metrics -weight: 1400 + - Alerts +canonical: https://grafana.com/docs/oncall/latest/manage/insights-and-metrics/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/insights-and-metrics/ + - /docs/grafana-cloud/alerting-and-irm/oncall/insights-and-metrics/ + - ../insights-and-metrics/ # /docs/oncall//insights-and-metrics/ --- # Insight Logs and Metrics @@ -245,7 +252,8 @@ chatops action names: `workspace_connected`, `workspace_disconnected`, `channel_ ### Examples Here is some examples of practical queries to Grafana OnCall insight logs. -LogQL is used to retrieve them. If you are not familiar with LogQL check this [documentation](https://grafana.com/docs/loki/latest/logql/). +LogQL is used to retrieve them. +If you aren't familiar with LogQL, refer to [LogQL: Log query language](https://grafana.com/docs/loki/latest/query/). Resource IDs are used a lot in insight logs. You can find them in web ui (example for integration): @@ -254,7 +262,7 @@ Resource IDs are used a lot in insight logs. You can find them in web ui (exampl 3. The URL looks like `https:///a/grafana-oncall-app/integrations/C5VXMIFKKP67K`. 4. Integration ID is `C5VXMIFKKP67K`. -Alternatively you can find resource ID using public [API][oncall-api-reference] or browser dev tools. +Alternatively you can find the resource ID using the [Grafana OnCall API] or browser dev tools. Actions performed by user: @@ -287,6 +295,6 @@ Actions performed with slack chatops integration: ``` {{% docs/reference %}} -[oncall-api-reference]: "/docs/oncall/ -> /docs/oncall//oncall-api-reference" -[oncall-api-reference]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/oncall-api-reference" +[Grafana OnCall API]: "/docs/oncall/ -> /docs/oncall//oncall-api-reference" +[Grafana OnCall API]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/oncall-api-reference" {{% /docs/reference %}} diff --git a/docs/sources/mobile-app/_index.md b/docs/sources/manage/mobile-app/_index.md similarity index 68% rename from docs/sources/mobile-app/_index.md rename to docs/sources/manage/mobile-app/_index.md index d6d3d7b254..ffbd4bd5e2 100644 --- a/docs/sources/mobile-app/_index.md +++ b/docs/sources/manage/mobile-app/_index.md @@ -1,12 +1,22 @@ --- -title: Mobile App -canonical: https://grafana.com/docs/oncall/latest/mobile-app/ +title: Grafana OnCall Mobile app +menuTitle: Mobile app +description: Learn more about the Grafana OnCall mobile app. +weight: 400 keywords: - - Mobile App - - oncall - - notification - - push notification -weight: 1100 + - OnCall + - Mobile app + - Schedules + - Notification + - Calendar + - Shift + - Push notification + - Alert group +canonical: https://grafana.com/docs/oncall/latest/manage/mobile-app/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/mobile-app/ + - /docs/grafana-cloud/alerting-and-irm/oncall/mobile-app/ + - ../mobile-app/ # /docs/oncall//mobile-app/ --- # Grafana OnCall Mobile App diff --git a/docs/sources/mobile-app/alert-groups-feed/index.md b/docs/sources/manage/mobile-app/alert-groups-feed/index.md similarity index 54% rename from docs/sources/mobile-app/alert-groups-feed/index.md rename to docs/sources/manage/mobile-app/alert-groups-feed/index.md index 93fb682a35..71418c3b53 100644 --- a/docs/sources/mobile-app/alert-groups-feed/index.md +++ b/docs/sources/manage/mobile-app/alert-groups-feed/index.md @@ -1,13 +1,20 @@ --- -canonical: https://grafana.com/docs/oncall/latest/mobile-app/alert-groups-feed/ +title: Alert groups feed +menuTitle: Alert feed +description: Understand how to view and respond to alert groups in the Grafana OnCall mobile app. +weight: 300 keywords: - - Mobile App - - oncall - - notification - - push notification - - alert groups -title: Alert Groups feed -weight: 200 + - OnCall + - Mobile app + - iOS + - Android + - Alert group + - Feed +canonical: https://grafana.com/docs/oncall/latest/manage/mobile-app/alert-groups-feed/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/mobile-app/alert-groups-feed/ + - /docs/grafana-cloud/alerting-and-irm/oncall/mobile-app/alert-groups-feed/ + - ../../mobile-app/alert-groups-feed/ # /docs/oncall//mobile-app/alert-groups-feed/ --- # Alert Groups feed @@ -26,7 +33,12 @@ Additionally, you can take action on the alert group directly from this page. Yo > **Note:** You need to have sufficient permission to take action on the alert group. > To learn more about Grafana OnCall user roles and permission, -> refer to [this documentation]({{< relref "../../user-and-team-management#user-roles-and-permissions" >}}). +> refer to [Manage users and teams for Grafana OnCall][]. + +{{% docs/reference %}} +[Manage users and teams for Grafana OnCall]: "/docs/oncall/ -> /docs/oncall//manage/user-and-team-management#user-roles-and-permissions" +[Manage users and teams for Grafana OnCall]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/user-and-team-management#user-roles-and-permissions" +{{% /docs/reference %}} diff --git a/docs/sources/mobile-app/installation-and-setup/index.md b/docs/sources/manage/mobile-app/installation-and-setup/index.md similarity index 78% rename from docs/sources/mobile-app/installation-and-setup/index.md rename to docs/sources/manage/mobile-app/installation-and-setup/index.md index c20da7d693..82fbb5af19 100644 --- a/docs/sources/mobile-app/installation-and-setup/index.md +++ b/docs/sources/manage/mobile-app/installation-and-setup/index.md @@ -1,12 +1,19 @@ --- -canonical: https://grafana.com/docs/oncall/latest/mobile-app/installation-and-setup/ -keywords: - - Mobile App - - oncall - - notification - - push notification title: Installation and setup +menuTitle: Installation +description: Learn how to install and set up the Grafana OnCall mobile app. weight: 100 +keywords: + - OnCall + - Mobile app + - iOS + - Android + - Push notification +canonical: https://grafana.com/docs/oncall/latest/manage/mobile-app/installation-and-setup/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/mobile-app/installation-and-setup/ + - /docs/grafana-cloud/alerting-and-irm/oncall/mobile-app/installation-and-setup/ + - ../../mobile-app/installation-and-setup/ # /docs/oncall//mobile-app/installation-and-setup/ --- # Installation and setup diff --git a/docs/sources/manage/mobile-app/on-call-status-and-shifts/index.md b/docs/sources/manage/mobile-app/on-call-status-and-shifts/index.md new file mode 100644 index 0000000000..09dd8bcf22 --- /dev/null +++ b/docs/sources/manage/mobile-app/on-call-status-and-shifts/index.md @@ -0,0 +1,28 @@ +--- +title: On-call status and shifts +menuTitle: On-call status +description: Understand your on-call status and shifts in the Grafana OnCall mobile app. +weight: 400 +keywords: + - OnCall + - Mobile app + - Shift + - Calendar + - Schedules + - Status +canonical: https://grafana.com/docs/oncall/latest/manage/mobile-app/on-call-status-and-shifts/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/mobile-app/on-call-status-and-shifts/ + - /docs/grafana-cloud/alerting-and-irm/oncall/mobile-app/on-call-status-and-shifts/ + - ../../mobile-app/on-call-status-and-shifts/ # /docs/oncall//mobile-app/on-call-status-and-shifts/ +--- + +# On-call status and shifts + +On the **Feed** page, your avatar on top of the screen indicates whether you are oncall, will be on call soon, or not. +Tap it to open the **upcoming shifts** view. This view displays: + +- your current shift (if any), per schedule. +- your next upcoming shift (if any), per schedule. This only looks up to 31 days into the future. + + diff --git a/docs/sources/mobile-app/push-notifications/index.md b/docs/sources/manage/mobile-app/push-notifications/index.md similarity index 80% rename from docs/sources/mobile-app/push-notifications/index.md rename to docs/sources/manage/mobile-app/push-notifications/index.md index 32e25c48e6..db3777f988 100644 --- a/docs/sources/mobile-app/push-notifications/index.md +++ b/docs/sources/manage/mobile-app/push-notifications/index.md @@ -1,12 +1,20 @@ --- -canonical: https://grafana.com/docs/oncall/latest/mobile-app/push-notifications/ -keywords: - - Mobile App - - oncall - - notification - - push notification title: Push notifications +menuTitle: Push notifications +description: Learn how to receive push notifications from the Grafana OnCall mobile app. weight: 200 +keywords: + - OnCall + - Mobile app + - iOS + - Android + - Push notification + - Override +canonical: https://grafana.com/docs/oncall/latest/manage/mobile-app/push-notifications/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/mobile-app/push-notifications/ + - /docs/grafana-cloud/alerting-and-irm/oncall/mobile-app/push-notifications/ + - ../../mobile-app/push-notifications/ # /docs/oncall//mobile-app/push-notifications/ --- # Push notifications @@ -16,14 +24,14 @@ There are four types of push notifications for the mobile app: - **Mobile push** - Sends a typical push notification to your mobile device. Intended for all types of alerts. - **Mobile push important** - Sends a push notification for important alerts. We recommend (and default) to louder notifications. - **On-call shift notifications** - Sends announcements for upcoming shifts (optional). -- **Shift swap notifications** - Sends announcements for [shift swap requests][shift-swaps] (optional). +- **Shift swap notifications** - Sends announcements for [Shift swap requests][] (optional). ## Add mobile app to notification policies To receive push notifications from the Grafana OnCall mobile app, you must add them to your notification policy steps. **Important notifications** should include **Mobile push important** and **Default notifications** should include **Mobile push**. -In the **Settings** tab of the mobile app, tap on **Notification policies** to review, reorder, remove, add or change steps. +In the **Settings** tab of the mobile app, tap on **Notification policies** to review, reorder, remove, add or change steps. Alternatively, you can do the same on desktop. From Grafana OnCall, navigate to the **Users** page, click **View my profile** and navigate to the **User Info** tab. @@ -87,23 +95,13 @@ To enable or disable on-call shift notifications, use the **info notifications** ### Shift swap notifications -Shift swap notifications are generated when a [shift swap][shift-swaps] is requested, +Shift swap notifications are generated when a shift swap is requested, informing all users in the on-call schedule (except the initiator) about it. To enable or disable shift swap notifications and their follow-ups, use the **info notifications** section in the **Push notifications** settings. -## Templating of alert notifications - -It is possible to modify the title and body (or subtitle), for push notifications related to alert escalations. For -more information on how to do this see the [docs on Appearance templates][templating]. - - - {{% docs/reference %}} -[shift-swaps]: "/docs/oncall/ -> /docs/oncall//on-call-schedules/shift-swaps" -[shift-swaps]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/on-call-schedules/shift-swaps" - -[templating]: "/docs/oncall/ -> /docs/oncall//jinja2-templating#appearance-templates" -[templating]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/jinja2-templating#appearance-templates" +[Shift swap requests]: "/docs/oncall/ -> /docs/oncall//manage/on-call-schedules#shift-swap-requests" +[Shift swap requests]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/on-call-schedules#shift-swap-requests" {{% /docs/reference %}} diff --git a/docs/sources/notify/_index.md b/docs/sources/manage/notify/_index.md similarity index 65% rename from docs/sources/notify/_index.md rename to docs/sources/manage/notify/_index.md index 7c234d4b2c..d4f8e8c511 100644 --- a/docs/sources/notify/_index.md +++ b/docs/sources/manage/notify/_index.md @@ -1,27 +1,30 @@ --- -aliases: - - ../notify/ - - /docs/oncall/latest/notify/ -canonical: https://grafana.com/docs/oncall/latest/notify/ +title: Notifications +menuTitle: Notifications +description: Configure notifications and ChatOps integrations for Grafana OnCall. +weight: 200 keywords: - - Grafana Cloud - - Alerts + - OnCall - Notifications - - on-call - - amixr - - oncall - - slack -title: Notify people -weight: 800 + - ChatOps + - Slack + - MS Teams + - Telegram + - Phone +canonical: https://grafana.com/docs/oncall/latest/manage/notify/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/notify/ + - /docs/grafana-cloud/alerting-and-irm/oncall/notify/ + - ../notify/ # /docs/oncall//notify/ --- -# Notify people +# Notifications Grafana OnCall directly supports the export of alert notifications to some popular messaging applications like Slack and -Telegram. You can use [outgoing webhooks][outgoing-webhooks] for applications that aren't directly -supported. +Telegram. +You can use [Outgoing webhooks][] for applications that aren't directly supported. -To configure supported messaging apps, see the following topics: +To configure supported messaging apps, refer to the following topics: {{< section >}} @@ -51,6 +54,6 @@ To configure a users notification policy: are listed. {{% docs/reference %}} -[outgoing-webhooks]: "/docs/oncall/ -> /docs/oncall//outgoing-webhooks" -[outgoing-webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/outgoing-webhooks" +[Outgoing webhooks]: "/docs/oncall/ -> /docs/oncall//configure/outgoing-webhooks" +[Outgoing webhooks]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/outgoing-webhooks" {{% /docs/reference %}} diff --git a/docs/sources/manage/notify/mattermost/index.md b/docs/sources/manage/notify/mattermost/index.md new file mode 100644 index 0000000000..7bdae427a6 --- /dev/null +++ b/docs/sources/manage/notify/mattermost/index.md @@ -0,0 +1,23 @@ +--- +title: Mattermost +menuTitle: Mattermost +description: Explains that a Mattermost integration is not implemented yet. +weight: 900 +keywords: + - OnCall + - Notifications + - ChatOps + - Mattermost +canonical: https://grafana.com/docs/oncall/latest/manage/notify/mattermost/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/notify/mattermost/ + - /docs/grafana-cloud/alerting-and-irm/oncall/notify/mattermost/ + - ../../chat-options/configure-mattermost +--- + +# Mattermost + +Mattermost support is not implemented yet. + +Please join [GitHub Issue](https://github.com/grafana/oncall/issues/96) or +check [PR](https://github.com/grafana/oncall/pull/606). diff --git a/docs/sources/notify/ms-teams/index.md b/docs/sources/manage/notify/ms-teams/index.md similarity index 83% rename from docs/sources/notify/ms-teams/index.md rename to docs/sources/manage/notify/ms-teams/index.md index 7cf5b17689..e1baabaab2 100644 --- a/docs/sources/notify/ms-teams/index.md +++ b/docs/sources/manage/notify/ms-teams/index.md @@ -1,21 +1,24 @@ --- -aliases: - - ../../chat-options/configure-teams/ -canonical: https://grafana.com/docs/oncall/latest/notify/ms-teams/ +title: MS Teams integration for Grafana OnCall +menuTitle: Microsoft Teams +description: Learn more about the Microsoft Teams integration for Grafana OnCall. +weight: 500 keywords: - - Grafana Cloud - - Alerts + - OnCall - Notifications - - on-call - - amixr - - oncall - - MS Team + - ChatOps + - MS Teams - Microsoft -title: Microsoft Teams -weight: 500 + - Channels +canonical: https://grafana.com/docs/oncall/latest/manage/notify/ms-teams/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/notify/ms-teams/ + - /docs/grafana-cloud/alerting-and-irm/oncall/notify/ms-teams + - ../../chat-options/configure-teams/ # /docs/oncall//chat-options/configure-teams/ + - ../../notify/ms-teams/ # /docs/oncall//notify/ms-teams/ --- -# Microsoft Teams integration for Grafana OnCall +# MS Teams integration for Grafana OnCall The Microsoft Teams integration for Grafana OnCall embeds your MS Teams channels directly into your incident response workflow to help your team focus on alert resolution. diff --git a/docs/sources/manage/notify/phone-calls-sms/index.md b/docs/sources/manage/notify/phone-calls-sms/index.md new file mode 100644 index 0000000000..5c11d45602 --- /dev/null +++ b/docs/sources/manage/notify/phone-calls-sms/index.md @@ -0,0 +1,53 @@ +--- +title: Phone calls and SMS notifications +menuTitle: Phone and SMS +description: Learn more about Phone calls and SMS notifications for Grafana OnCall. +weight: 100 +keywords: + - OnCall + - Notifications + - SMS + - Phone + - Rate Limits +canonical: https://grafana.com/docs/oncall/latest/manage/notify/phone-calls-sms/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/notify/phone-calls-sms/ + - /docs/grafana-cloud/alerting-and-irm/oncall/notify/phone-calls-sms/ + - ../../notify/phone-sms/ # /docs/oncall//notify/phone-sms/ + - ../../notify/phone-calls-sms/ # /docs/oncall//notify/phone-calls-sms/ +--- + +# Phone calls and SMS notifications + +Grafana OnCall Cloud includes SMS and Phone notifications, OSS users can use the [Grafana OSS-Cloud Setup][] as a relay or configure other providers like Twilio. + +## Are there additional costs for outgoing calls/sms? + +No, there are no additional costs for outgoing calls/sms. + +## Are there rate-limits for calls/sms? + +There are no specific limits, but we reserve the right to stop sending sms/calls in case of abnormal volume. + +## Route incoming calls to the engineer who is on-call + +Grafana OnCall does not provide a phone number for routing incoming requests. [GH Issue.](https://github.com/grafana/oncall/issues/1459) + +## Is there a list of pre-defined phone numbers? + +In order to learn the phone number used by OnCall, make a test call at the "Phone Verification" tab. + +## Phone calls or SMS does not work for me + +There are cases when OnCall is not able to make phone calls or send SMS to certain regions or specific phone numbers. +We're working hard to fix such cases, but kindly asking to test your personal notification chain to make sure OnCall +is able to notify you. Also we suggest to back up Phone Calls and SMS with other notification methods such as +[Mobile app][]. + +{{% docs/reference %}} +[Mobile app]: "/docs/oncall/ -> /docs/oncall//manage/mobile-app" +[Mobile app]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/mobile-app" + +[Grafana OSS-Cloud Setup]: "/docs/oncall/ -> /docs/oncall//set-up/open-source#grafana-oss-cloud-setup" +[Grafana OSS-Cloud Setup]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/set-up/open-source#grafana-oss-cloud-setup" +{{% /docs/reference %}} diff --git a/docs/sources/notify/slack/index.md b/docs/sources/manage/notify/slack/index.md similarity index 89% rename from docs/sources/notify/slack/index.md rename to docs/sources/manage/notify/slack/index.md index 4850ba28a4..b89468de3b 100644 --- a/docs/sources/notify/slack/index.md +++ b/docs/sources/manage/notify/slack/index.md @@ -1,17 +1,20 @@ --- -aliases: - - ../../chat-options/configure-slack/ -canonical: https://grafana.com/docs/oncall/latest/notify/slack/ +title: Slack integration for Grafana OnCall +menuTitle: Slack +description: Learn more about Slack integration for Grafana OnCall. +weight: 300 keywords: - - Grafana Cloud - - Alerts + - OnCall - Notifications - - on-call - - amixr - - oncall - - slack -title: Slack -weight: 100 + - ChatOps + - Slack + - Channels +canonical: https://grafana.com/docs/oncall/latest/manage/notify/slack/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/notify/slack/ + - /docs/grafana-cloud/alerting-and-irm/oncall/notify/slack/ + - ../../chat-options/configure-slack/ # /docs/oncall//chat-options/configure-slack/ + - ../../notify/slack/ # /docs/oncall//notify/slack/ --- # Slack integration for Grafana OnCall @@ -28,8 +31,7 @@ can take directly from Slack, including acknowledge, resolve, add resolution not To install the Slack integration, you must have Admin permissions in your Grafana instance as well as the Slack workspace that you’d like to integrate with. -For Open Source Grafana OnCall Slack installation guidance, refer to -[Open Source Grafana OnCall][open-source]. +For Open Source Grafana OnCall Slack installation guidance, refer to [Slack setup][]. ## Install Slack integration for Grafana OnCall @@ -166,7 +168,8 @@ Use `/escalate` to page a team (and additional responders) directly from Slack. 1. Once the Grafana OnCall app sends a Slack message with the newly created alert, the alert group is open and firing. It's also possible to page additional responders for an existing alert group. To do so, use the "Responders" button -in the alert group message. [Learn more about paging people manually.][integrations-manual] +in the alert group message. +To manually page people, refer to [Page people manually][]. ### Slack `/oncall` command @@ -190,9 +193,9 @@ Use message shortcuts to add resolution notes directly from Slack. Message short 1. The Grafana OnCall app will react to the message in Slack with the memo emoji and add the message to the alert group timeline. {{% docs/reference %}} -[open-source]: "/docs/oncall/ -> /docs/oncall//open-source" -[open-source]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/open-source" +[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" -[integrations-manual]: "/docs/oncall/ -> /docs/oncall//integrations/manual" -[integrations-manual]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/manual" +[Page people manually]: "/docs/oncall/ -> /docs/oncall//integrations/manual" +[Page people manually]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/manual" {{% /docs/reference %}} diff --git a/docs/sources/notify/telegram/index.md b/docs/sources/manage/notify/telegram/index.md similarity index 80% rename from docs/sources/notify/telegram/index.md rename to docs/sources/manage/notify/telegram/index.md index 49a38ddd88..55d90f785b 100644 --- a/docs/sources/notify/telegram/index.md +++ b/docs/sources/manage/notify/telegram/index.md @@ -1,17 +1,20 @@ --- -aliases: - - ../../chat-options/configure-telegram/ -canonical: https://grafana.com/docs/oncall/latest/notify/telegram/ +title: Telegram integration for Grafana OnCall +menuTitle: Telegram +description: Learn more about the Telegram integration for Grafana OnCall. +weight: 700 keywords: - - Grafana Cloud - - Alerts + - OnCall - Notifications - - on-call - - amixr - - oncall - - telegram -title: Telegram -weight: 300 + - ChatOps + - Telegram + - Channels +canonical: https://grafana.com/docs/oncall/latest/manage/notify/telegram/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/notify/telegram/ + - /docs/grafana-cloud/alerting-and-irm/oncall/notify/telegram/ + - ../../chat-options/configure-telegram/ # /docs/oncall//chat-options/configure-telegram/ + - ../../notify/telegram/ # /docs/oncall//notify/telegram/ --- # Telegram integration for Grafana OnCall diff --git a/docs/sources/on-call-schedules/_index.md b/docs/sources/manage/on-call-schedules/_index.md similarity index 52% rename from docs/sources/on-call-schedules/_index.md rename to docs/sources/manage/on-call-schedules/_index.md index d408aa57bc..626309ef23 100644 --- a/docs/sources/on-call-schedules/_index.md +++ b/docs/sources/manage/on-call-schedules/_index.md @@ -1,16 +1,20 @@ --- title: On-call schedules -aliases: - - /docs/oncall/latest/on-call-schedules/ -canonical: https://grafana.com/docs/oncall/latest/on-call-schedules/ -description: "Learn more about on-call schedules" +menuTitle: On-call schedules +description: Learn more about on-call schedules. +weight: 300 keywords: - - Grafana - - oncall - - on-call - - schedule - - calendar -weight: 700 + - On-call + - Schedules + - Rotation + - Calendar + - Shift + - Scheduler +canonical: https://grafana.com/docs/oncall/latest/manage/on-call-schedules/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/on-call-schedules/ + - /docs/grafana-cloud/alerting-and-irm/oncall/on-call-schedules/ + - ../on-call-schedules # /docs/oncall//on-call-schedules/ --- ## Before you begin @@ -18,15 +22,14 @@ weight: 700 - Users with Admin or Editor roles can create, edit and delete schedules. - Users with Viewer role cannot receive alert notifications, therefore, cannot be on-call. -For more information about permissions, refer to -[Manage users and teams for Grafana OnCall][user-and-team-management] +For more information about permissions, refer to [Manage users and teams for Grafana OnCall][] ### Web-based schedule Configure and manage on-call schedules directly in the Grafana OnCall plugin. Easily configure and preview rotations, see teammates' time zones, and add overrides. -Learn more about [Web-based schedules][web-schedule] +For more information, refer to [Web-based on-call schedules][]. ### iCal import @@ -34,7 +37,7 @@ Use any calendar service that uses the iCal format to manage and customize on-ca shifts from your calendar app to Grafana OnCall for widely accessible scheduling. iCal imports appear in Grafana OnCall as read-only schedules but can be leveraged similarly to a web-based schedule. -Learn more about [iCal import schedules][ical-schedules] +For more information, refer top [Import on-call schedules][]. ### Terraform @@ -62,18 +65,18 @@ Sometimes you may need someone to cover your scheduled on-call shifts (e.g. you for a couple of weeks). You can then create a shift swap request, which will let your teammates know about this as well as allowing them to volunteer and take your affected shifts for that period. -Learn more about [Shift swap requests][shift-swaps] +For more information, refer to [Shift swap requests][]. {{% docs/reference %}} -[ical-schedules]: "/docs/oncall/ -> /docs/oncall//on-call-schedules/ical-schedules" -[ical-schedules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/on-call-schedules/ical-schedules" +[Import on-call schedules]: "/docs/oncall/ -> /docs/oncall//manage/on-call-schedules/ical-schedules" +[Import on-call schedules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/on-call-schedules/ical-schedules" -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[Manage users and teams for Grafana OnCall]: "/docs/oncall/ -> /docs/oncall//manage/user-and-team-management/" +[Manage users and teams for Grafana OnCall]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/user-and-team-management" -[web-schedule]: "/docs/oncall/ -> /docs/oncall//on-call-schedules/web-schedule" -[web-schedule]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/on-call-schedules/web-schedule" +[Web-based on-call schedules]: "/docs/oncall/ -> /docs/oncall//manage/on-call-schedules/web-schedule" +[Web-based on-call schedules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/on-call-schedules/web-schedule" -[shift-swaps]: "/docs/oncall/ -> /docs/oncall//on-call-schedules/shift-swaps" -[shift-swaps]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/on-call-schedules/shift-swaps" +[Shift swap requests]: "/docs/oncall/ -> /docs/oncall//manage/on-call-schedules/shift-swaps" +[Shift swap requests]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/on-call-schedules/shift-swaps" {{% /docs/reference %}} diff --git a/docs/sources/manage/on-call-schedules/api-terraform-schedule/index.md b/docs/sources/manage/on-call-schedules/api-terraform-schedule/index.md new file mode 100644 index 0000000000..afb4e2ced4 --- /dev/null +++ b/docs/sources/manage/on-call-schedules/api-terraform-schedule/index.md @@ -0,0 +1,32 @@ +--- +title: API & Terraform schedules +menuTitle: API & Terraform schedules +description: Learn how to use API and Terraform to manage on-call schedules. +weight: 100 +keywords: + - On-call + - Schedules + - Rotation + - Calendar + - Terraform + - as-code +canonical: https://grafana.com/docs/oncall/latest/manage/on-call-schedules/api-terraform-schedule/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/on-call-schedules/api-terraform-schedules/ + - /docs/grafana-cloud/alerting-and-irm/oncall/on-call-schedules/api-terraform-schedules/ + - ../../on-call-schedules/api-terraform-schedule/ # /docs/oncall//on-call-schedules/api-terraform-schedule/ +--- + +# API & Terraform schedules + +If your schedules became comprehensive, or you would like to distribute the same scheduling patterns through multiple +teams in the org, we suggest considering storing schedules as code. + +- [Get started with Grafana OnCall and Terraform (blogpost)](https://grafana.com/blog/2022/08/29/get-started-with-grafana-oncall-and-terraform/) +- [Grafana Terraform provider reference (OnCall resources are managed using this provider)](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/oncall_schedule) +- [OnCall API][] + +{{% docs/reference %}} +[OnCall API]: "/docs/oncall/ -> /docs/oncall//oncall-api-reference" +[OnCall API]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/oncall-api-reference" +{{% /docs/reference %}} diff --git a/docs/sources/on-call-schedules/ical-schedules/index.md b/docs/sources/manage/on-call-schedules/ical-schedules/index.md similarity index 85% rename from docs/sources/on-call-schedules/ical-schedules/index.md rename to docs/sources/manage/on-call-schedules/ical-schedules/index.md index d8a79c693e..8e2e1735ff 100644 --- a/docs/sources/on-call-schedules/ical-schedules/index.md +++ b/docs/sources/manage/on-call-schedules/ical-schedules/index.md @@ -1,14 +1,20 @@ --- -title: iCal on-call schedules -canonical: https://grafana.com/docs/oncall/latest/on-call-schedules/ical-schedules/ -description: "Learn how to manage on-call schedules with iCal import" -keywords: - - Grafana - - oncall - - on-call - - calendar title: Import on-call schedules -weight: 300 +menuTitle: Import on-call schedules +description: Learn how to import on-call schedules with iCal import. +weight: 500 +keywords: + - On-call + - Schedules + - Rotation + - Calendar + - iCal + - Import +canonical: https://grafana.com/docs/oncall/latest/manage/on-call-schedules/ical-schedules/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/on-call-schedules/ical-schedules/ + - /docs/grafana-cloud/alerting-and-irm/oncall/on-call-schedules/ical-schedules/ + - ../../on-call-schedules/ical-schedules/ # /docs/oncall//on-call-schedules/ical-schedules/ --- # Import on-call schedules @@ -20,7 +26,7 @@ OnCall as read-only schedules but can be leveraged similarly to a web-based sche > Unfortunately there is a known limitation with Google Calendar import and export. > Google may take up to 24h to import OnCall's calendar (OnCall -> Google) and sometimes our customers report delay in > exporting (Google Calendar -> OnCall). If actual calendar is critical for you, we suggest checking -> [web-based scheduling] +> [Web-based on-call schedules][] ## Before you begin @@ -101,6 +107,6 @@ contact. The calendar events titles would be `[L1] BobGrafana` and `[L0] AliceGr maintains the default [L0] status, and would not receive notifications during the overlapping time with BobGrafana. {{% docs/reference %}} -[web-schedule]: "/docs/oncall/ -> /docs/oncall//on-call-schedules/web-schedule" -[web-schedule]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/on-call-schedules/web-schedule" +[Web-based on-call schedules]: "/docs/oncall/ -> /docs/oncall//manage/on-call-schedules/web-schedule" +[Web-based on-call schedules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/on-call-schedules/web-schedule" {{% /docs/reference %}} diff --git a/docs/sources/on-call-schedules/shift-swaps/_index.md b/docs/sources/manage/on-call-schedules/shift-swaps/index.md similarity index 73% rename from docs/sources/on-call-schedules/shift-swaps/_index.md rename to docs/sources/manage/on-call-schedules/shift-swaps/index.md index 03340a09bc..a867dbc8e7 100644 --- a/docs/sources/on-call-schedules/shift-swaps/_index.md +++ b/docs/sources/manage/on-call-schedules/shift-swaps/index.md @@ -1,14 +1,20 @@ --- title: Shift swaps -canonical: https://grafana.com/docs/oncall/latest/on-call-schedules/shift-swaps/ -description: "Learn more about Grafana OnCall shift swaps" +menuTitle: Shift swaps +description: Learn more about Grafana OnCall shift swaps. +weight: 700 keywords: - - Grafana - - oncall - - schedule - - swap -title: Shift swaps -weight: 400 + - On-call + - Schedules + - Rotation + - Calendar + - Shift + - Swap +canonical: https://grafana.com/docs/oncall/latest/manage/on-call-schedules/shift-swaps/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/on-call-schedules/shift-swaps/ + - /docs/grafana-cloud/alerting-and-irm/oncall/on-call-schedules/shift-swaps/ + - ../../on-call-schedules/shift-swaps/ # /docs/oncall//on-call-schedules/shift-swaps/ --- # Shift swaps @@ -40,7 +46,7 @@ of a schedule, or clicking the button shown when hovering on a particular shift > consider creating a higher level layer rotation with the desired updates. Upon submitting the request, a Slack notification will be sent to the channel associated to the correspondent -schedule, if there is one. A [mobile push notification][shift-swap-notifications] will be sent to team members who +schedule, if there is one. A [mobile push notification][] will be sent to team members who participate in the schedule and have the notifications enabled. @@ -64,7 +70,7 @@ The follow-up notifications will be sent at the following intervals before the s You can delete the swap request at any time. If the swap has been taken, it will automatically be undone upon removal. -> **Note**: if [RBAC][rbac] is enabled, a user is required to have the `SCHEDULES_WRITE` permission to create, +> **Note**: if [RBAC][] is enabled, a user is required to have the `SCHEDULES_WRITE` permission to create, > update, take or delete a swap request. `SCHEDULES_READ` will be enough to get details about existing requests. ## Check existing swap requests @@ -93,6 +99,9 @@ You can also check (and take) a swap request details in the web UI. Once a swap is taken, the affected rotations and the final schedule will reflect the changes. {{% docs/reference %}} -[shift-swap-notifications]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/mobile-app/push-notifications#shift-swap-notifications" -[rbac]: "/docs/oncall/ -> /docs/oncall/latest/user-and-team-management/#role-based-access-control-rbac" +[mobile push notification]: "/docs/oncall/ -> /docs/oncall//manage/mobile-app/push-notifications#shift-swap-notifications" +[mobile push notification]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/mobile-app/push-notifications#shift-swap-notifications" + +[RBAC]: "/docs/oncall/ -> /docs/oncall//manage/user-and-team-management#role-based-access-control-rbac" +[RBAC]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/manage/user-and-team-management#role-based-access-control-rbac" {{% /docs/reference %}} diff --git a/docs/sources/on-call-schedules/web-schedule/_index.md b/docs/sources/manage/on-call-schedules/web-schedule/index.md similarity index 83% rename from docs/sources/on-call-schedules/web-schedule/_index.md rename to docs/sources/manage/on-call-schedules/web-schedule/index.md index d77104ef67..b6eeb1407e 100644 --- a/docs/sources/on-call-schedules/web-schedule/_index.md +++ b/docs/sources/manage/on-call-schedules/web-schedule/index.md @@ -1,14 +1,18 @@ --- title: Web-based on-call schedules -canonical: https://grafana.com/docs/oncall/latest/on-call-schedules/web-schedule/ -description: "Learn more about Grafana OnCalls built in schedule tool" +menuTitle: Web-based schedules +description: Learn more about Grafana OnCalls built-in schedule management. +weight: 300 keywords: - - Grafana - - oncall - - schedule - - calendar -title: Web-based schedules -weight: 100 + - On-call + - Schedules + - Rotation + - Calendar +canonical: https://grafana.com/docs/oncall/latest/manage/on-call-schedules/web-schedule/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/on-call-schedules/web-schedule/ + - /docs/grafana-cloud/alerting-and-irm/oncall/on-call-schedules/web-schedule/ + - ../../on-call-schedules/web-schedule/ # /docs/oncall//on-call-schedules/web-schedule/ --- # Web-based on-call schedules @@ -51,7 +55,7 @@ on this calendar will take precedence over the rotations calendar. ## Schedule quality report -The schedule view features a quality report that provides a score for your schedule based on rotations, overrides and [shift swaps][shift-swaps]. +The schedule view features a quality report that provides a score for your schedule based on rotations, overrides and [shift swaps][]. It's calculated based on these key factors: - Gaps (amount of time when no one is on-call) @@ -87,6 +91,6 @@ Export on-call schedules from Grafana OnCall to your preferred calendar app with schedule export allows you to view on-call shifts alongside the rest of your schedule. {{% docs/reference %}} -[shift-swaps]: "/docs/oncall/ -> /docs/oncall//on-call-schedules/shift-swaps" -[shift-swaps]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/on-call-schedules/shift-swaps" +[shift swaps]: "/docs/oncall/ -> /docs/oncall//manage/on-call-schedules/shift-swaps" +[shift swaps]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/on-call-schedules/shift-swaps" {{% /docs/reference %}} diff --git a/docs/sources/user-and-team-management/_index.md b/docs/sources/manage/user-and-team-management/_index.md similarity index 98% rename from docs/sources/user-and-team-management/_index.md rename to docs/sources/manage/user-and-team-management/_index.md index 5c7610e479..32e7c7c397 100644 --- a/docs/sources/user-and-team-management/_index.md +++ b/docs/sources/manage/user-and-team-management/_index.md @@ -1,11 +1,19 @@ --- -title: User and team management +title: Manage users and teams for Grafana OnCall +menuTitle: Users and teams +description: Manage users and teams for Grafana OnCall. +weight: 100 keywords: - - oncall + - OnCall + - Notifications - RBAC - - permissions - - notification -weight: 1300 + - Permissions + - Roles +canonical: https://grafana.com/docs/oncall/latest/manage/user-and-team-management/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/manage/user-and-team-management/ + - /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management/ + - ../user-and-team-management/ # /docs/oncall//user-and-team-management/ --- # Manage users and teams for Grafana OnCall @@ -47,7 +55,7 @@ For example, a user with the basic `Viewer` role at the organization level needs To learn more about RBAC for Grafana OnCall, refer to the following documentation: -- [Manage RBAC roles](https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/access-control/manage-rbac-roles/#update-basic-role-permissions) +- [Manage RBAC roles](https://grafana.com/docs/grafana//administration/roles-and-permissions/access-control/manage-rbac-roles/#update-basic-role-permissions) - [RBAC permissions, actions, and scopes](https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/) - [RBAC role definitions](https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/#grafana-oncall-roles-beta) @@ -55,8 +63,8 @@ To learn more about RBAC for Grafana OnCall, refer to the following documentatio **Note**: granting any of the following roles will also grant the user the `plugins.app:access` action with a scope of `plugins:id:grafana-oncall-app` (ie. granting the user the ability to access the plugin). Additionally, all of the -following RBAC roles do not currently support scopes. Consider using Grafana teams to further control which Grafana OnCall -objects specific groups of users can see (see ["Manage Teams in Grafana OnCall"](#manage-teams-in-grafana-oncall)). +following RBAC roles do not currently support scopes. +To further control which Grafana OnCall objects specific groups of users can view, refer to [Manage Teams in Grafana OnCall](#manage-teams-in-grafana-oncall). diff --git a/docs/sources/user-and-team-management/convert_plugin_json_rbac_roles_into_markdown_table.py b/docs/sources/manage/user-and-team-management/convert_plugin_json_rbac_roles_into_markdown_table.py similarity index 100% rename from docs/sources/user-and-team-management/convert_plugin_json_rbac_roles_into_markdown_table.py rename to docs/sources/manage/user-and-team-management/convert_plugin_json_rbac_roles_into_markdown_table.py diff --git a/docs/sources/migration-from-other-tools/_index.md b/docs/sources/migration-from-other-tools/_index.md deleted file mode 100644 index faeed7c8a0..0000000000 --- a/docs/sources/migration-from-other-tools/_index.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Migration from other tools -aliases: - - /docs/oncall/latest/migration-from-other-tools/ -keywords: - - Mobile App - - oncall - - notification - - push notification -weight: 1400 ---- - -# Migration from other tools - -## Migration from PagerDuty to Grafana OnCall - -Migration from PagerDuty to Grafana OnCall could be performed in automated way using -[OSS Migrator](https://github.com/grafana/oncall/tree/dev/tools/pagerduty-migrator). diff --git a/docs/sources/mobile-app/on-call-status-and-shifts/index.md b/docs/sources/mobile-app/on-call-status-and-shifts/index.md deleted file mode 100644 index 359f5f2f5b..0000000000 --- a/docs/sources/mobile-app/on-call-status-and-shifts/index.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -canonical: https://grafana.com/docs/oncall/latest/mobile-app/on-call-status-and-shifts/ -keywords: - - Mobile App - - oncall - - notification - - on-call status - - on-call shift -title: On-call status and shifts -weight: 500 ---- - -# On-call status and shifts - -On the **Feed** page, your avatar on top of the screen indicates whether you are oncall, will be on call soon, or not. -Tap it to open the **upcoming shifts** view. This view displays: - -- your current shift (if any), per schedule. -- your next upcoming shift (if any), per schedule. This only looks up to 31 days into the future. - - diff --git a/docs/sources/notify/mattermost/index.md b/docs/sources/notify/mattermost/index.md deleted file mode 100644 index e2938be4d2..0000000000 --- a/docs/sources/notify/mattermost/index.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -aliases: - - ../../notify/mattermost - - /docs/oncall/latest/notify/mattermost/ -canonical: https://grafana.com/docs/oncall/latest/notify/mattermost/ -keywords: - - Grafana Cloud - - Alerts - - Notifications - - on-call - - amixr - - oncall - - slack -title: Mattermost -weight: 100 ---- - -# Mattermost - -Mattermost support is not implemented yet. - -Please join [GitHub Issue](https://github.com/grafana/oncall/issues/96) or -check [PR](https://github.com/grafana/oncall/pull/606). diff --git a/docs/sources/notify/phone-calls-sms/index.md b/docs/sources/notify/phone-calls-sms/index.md deleted file mode 100644 index c38fbe67d2..0000000000 --- a/docs/sources/notify/phone-calls-sms/index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -aliases: - - ../../notify/phone-sms - - /docs/oncall/latest/notify/phone-sms/ -canonical: https://grafana.com/docs/oncall/latest/notify/phone-sms/ -keywords: - - Grafana Cloud - - Alerts - - Notifications - - on-call - - amixr - - oncall - - slack -title: Phone calls and SMS -weight: 100 ---- - -# Phone Calls and SMS notifications - -Grafana OnCall Cloud includes SMS and Phone notifications, OSS users [could leverage][open-source] Grafana Cloud as a relay or -configure other providers like Twilio. - -## Are there additional costs for outgoing calls/sms? - -No, there are no additional costs for outgoing calls/sms. - -## Are there rate-limits for calls/sms? - -There are no specific limits, but we reserve the right to stop sending sms/calls in case of abnormal volume. - -## Route incoming calls to the engineer who is on-call - -Grafana OnCall does not provide a phone number for routing incoming requests. [GH Issue.](https://github.com/grafana/oncall/issues/1459) - -## Is there a list of pre-defined phone numbers? - -In order to learn the phone number used by OnCall, make a test call at the "Phone Verification" tab. - -## Phone calls or SMS does not work for me - -There are cases when OnCall is not able to make phone calls or send SMS to certain regions or specific phone numbers. -We're working hard to fix such cases, but kindly asking to test your personal notification chain to make sure OnCall -is able to notify you. Also we suggest to back up Phone Calls and SMS with other notification methods such as -[Mobile App][mobile-app]. - -{{% docs/reference %}} -[mobile-app]: "/docs/oncall/ -> /docs/oncall//mobile-app" -[mobile-app]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/mobile-app" - -[open-source]: "/docs/oncall/ -> /docs/oncall//open-source" -[open-source]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/open-source/" -{{% /docs/reference %}} diff --git a/docs/sources/on-call-schedules/api-terraform-schedule/_index.md b/docs/sources/on-call-schedules/api-terraform-schedule/_index.md deleted file mode 100644 index 69c5e63732..0000000000 --- a/docs/sources/on-call-schedules/api-terraform-schedule/_index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: API & Terraform schedules -aliases: - - /docs/oncall/latest/on-call-schedules/api-terraform-schedules/ -canonical: https://grafana.com/docs/oncall/latest/on-call-schedules/api-terraform-schedules/ -keywords: - - Grafana - - oncall - - schedule - - calendar -weight: 100 ---- - -# API & Terraform schedules - -If your schedules became comprehensive, or you would like to distribute the same scheduling patterns through multiple -teams in the org, we suggest considering storing schedules as code. - -- [Get started with Grafana OnCall and Terraform (blogpost)](https://grafana.com/blog/2022/08/29/get-started-with-grafana-oncall-and-terraform/) -- [Grafana Terraform provider reference (OnCall resources are managed using this provider)](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/oncall_schedule) -- [OnCall API][oncall-api-reference] - -{{% docs/reference %}} -[oncall-api-reference]: "/docs/oncall/ -> /docs/oncall//oncall-api-reference" -[oncall-api-reference]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/oncall-api-reference" -{{% /docs/reference %}} diff --git a/docs/sources/oncall-api-reference/_index.md b/docs/sources/oncall-api-reference/_index.md index b4f8987bea..b3df820adb 100644 --- a/docs/sources/oncall-api-reference/_index.md +++ b/docs/sources/oncall-api-reference/_index.md @@ -1,7 +1,16 @@ --- -canonical: https://grafana.com/docs/oncall/latest/oncall-api-reference/ title: Grafana OnCall HTTP API reference -weight: 1500 +menuTitle: API reference +description: Reference material for Grafana OnCall API. +weight: 900 +keywords: + - OnCall + - API + - HTTP + - API key +canonical: https://grafana.com/docs/oncall/latest/oncall-api-reference/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/oncall-api-reference/ --- # HTTP API Reference diff --git a/docs/sources/oncall-api-reference/integrations.md b/docs/sources/oncall-api-reference/integrations.md index b09cbfdd0d..7f663aefc1 100644 --- a/docs/sources/oncall-api-reference/integrations.md +++ b/docs/sources/oncall-api-reference/integrations.md @@ -73,8 +73,7 @@ The above command returns JSON structured in the following way: ``` Integrations are sources of alerts and alert groups for Grafana OnCall. -For example, to learn how to integrate Grafana OnCall with Alertmanager see -[Alertmanager][alertmanager]. +For example, to learn how to integrate Grafana OnCall with Alertmanager refer to [Alertmanager][]. **HTTP request** @@ -319,6 +318,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//integrations/alertmanager" +[Alertmanager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/alertmanager" {{% /docs/reference %}} diff --git a/docs/sources/oncall-api-reference/on_call_shifts.md b/docs/sources/oncall-api-reference/on_call_shifts.md index 979755f349..094b2e1481 100644 --- a/docs/sources/oncall-api-reference/on_call_shifts.md +++ b/docs/sources/oncall-api-reference/on_call_shifts.md @@ -46,7 +46,7 @@ The above command returns JSON structured in the following way: | `name` | Yes | Yes | On-call shift name. | | `type` | No | Yes | One of: `single_event`, `recurrent_event`, `rolling_users`. | | `team_id` | No | ID of the team. | -| `time_zone` | No | Optional | On-call shift time zone. Default is local schedule time zone. **This field will override the schedule time zone if changed**. For more information see [time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). | +| `time_zone` | No | Optional | On-call shift time zone. Default is local schedule time zone. **This field will override the schedule time zone if changed**. For more information refer to [time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). | | `level` | No | Optional | Priority level. The higher the value, the higher the priority. If two events overlap in one schedule, Grafana OnCall will choose the event with higher level. For example: Alex is on-call from 8AM till 11AM with level 1, Bob is on-call from 9AM till 11AM with level 2. At 10AM Grafana OnCall will notify Bob. At 8AM OnCall will notify Alex. | | `start` | No | Yes | Start time of the on-call shift. This parameter takes a date format as `yyyy-MM-dd'T'HH:mm:ss` (for example "2020-09-05T08:00:00"). | | `duration` | No | Yes | Duration of the event. | @@ -61,7 +61,7 @@ The above command returns JSON structured in the following way: | `rolling_users` | No | Optional | List of lists with on-call users (for `rolling_users` event type). Grafana OnCall will iterate over lists of users for every time frame specified in `frequency`. For example: there are two lists of users in `rolling_users` : [[Alex, Bob], [Alice]] and `frequency` = `daily` . This means that the first day Alex and Bob will be notified. The next day: Alice. The day after: Alex and Bob again and so on. | | `start_rotation_from_user_index` | No | Optional | Index of the list of users in `rolling_users`, from which on-call rotation starts. By default, the start index is `0` | -Please see [RFC 5545](https://tools.ietf.org/html/rfc5545#section-3.3.10) for more information about recurrence rules. +For more information about recurrence rules, refer to [RFC 5545](https://tools.ietf.org/html/rfc5545#section-3.3.10). **HTTP request** diff --git a/docs/sources/oncall-api-reference/outgoing_webhooks.md b/docs/sources/oncall-api-reference/outgoing_webhooks.md index 88bed53a15..7e4bd114d7 100644 --- a/docs/sources/oncall-api-reference/outgoing_webhooks.md +++ b/docs/sources/oncall-api-reference/outgoing_webhooks.md @@ -10,7 +10,7 @@ weight: 700 > endpoint remains available and is compatible with previous callers but under the hood it will interact with the > new webhooks objects. It is recommended to use the /webhooks endpoint going forward which has more features. -For more details about specific fields of a webhook see [outgoing webhooks](../../outgoing-webhooks) documentation. +For more details about specific fields of a webhook, refer to [Outgoing webhooks][]. ## List webhooks @@ -105,7 +105,7 @@ curl "{{API_URL}}/api/v1/webhooks/" \ ### Trigger Types -For more detail, refer to [Event types](../../outgoing-webhooks#event-types). +For more detail, refer to [Event types][]. - `escalation` - `alert group created` @@ -232,3 +232,11 @@ The above command returns JSON structured in the following way: "total_pages": 1 } ``` + +{{% 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" + +[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" +{{% /docs/reference %}} diff --git a/docs/sources/set-up/_index.md b/docs/sources/set-up/_index.md new file mode 100644 index 0000000000..399973b41f --- /dev/null +++ b/docs/sources/set-up/_index.md @@ -0,0 +1,38 @@ +--- +title: Set up Grafana OnCall +menuTitle: Setup +description: Learn how to access and set up Grafana OnCall +weight: 300 +keywords: + - OnCall + - Get started + - Setup + - Grafana Cloud +canonical: https://grafana.com/docs/oncall/latest/set-up/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/set-up +--- + +# Set up Grafana OnCall + +This section describes how to access OnCall for the first time. Before you can access Grafana OnCall, an admin must initialize the OnCall plugin for your +Grafana Cloud stack. + +## Before you begin + +- Grafana OnCall is available on Grafana Cloud +- Ensure you have administrative privileges within your Grafana Cloud instance to enable and configure Grafana OnCall + +For OSS-specific installation, refer to the [OnCall OSS documentation](https://github.com/grafana/oncall#readme). + +## Enable Grafana OnCall + +Follow these steps to enable Grafana OnCall for your Grafana Cloud instance: + +1. In your Grafana Cloud stack, navigate to **Alerts & IRM** in the left-side menu. +1. Click **OnCall**, then click **Initialize** to enable OnCall in your Grafana Cloud instance. +1. Once enabled, Grafana OnCall is now accessible to users within your organization. + +## Next steps + +After enabling it, explore ways to configure OnCall in Grafana Cloud to enhance your monitoring and help you optimize your Grafana ecosystem. diff --git a/docs/sources/get-started/_index.md b/docs/sources/set-up/get-started/index.md similarity index 72% rename from docs/sources/get-started/_index.md rename to docs/sources/set-up/get-started/index.md index 25466b2f2c..5b6a1d413e 100644 --- a/docs/sources/get-started/_index.md +++ b/docs/sources/set-up/get-started/index.md @@ -1,13 +1,21 @@ --- -aliases: - - /getting-started/ -canonical: https://grafana.com/docs/oncall/latest/get-started/ +title: Get started with Grafana OnCall +menuTitle: Get started +description: A Guide for getting started with Grafana OnCall in Grafana Cloud +weight: 100 keywords: - Get started - - On call - - Grafana Cloud -title: Get started with Grafana OnCall -weight: 300 + - OnCall + - Configure + - Escalation chains + - Integrations + - On-call schedules +canonical: https://grafana.com/docs/oncall/latest/set-up/get-started/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/set-up/get-started/ + - /docs/grafana-cloud/alerting-and-irm/oncall//get-started/ + - ../getting-started/ # /docs/oncall//getting-started/ + - ../get-started/ # /docs/oncall//get-started/ --- # Get started with Grafana OnCall @@ -38,7 +46,7 @@ OnCall is available in Grafana Cloud automatically: 3. Choose **Alerts and IRM** from the left menu 4. Click **OnCall** to access Grafana OnCall -Otherwise you'll need to install [Open Source Grafana OnCall][open-source] on your own. +Otherwise, to install Grafaana OnCall, refer to [Install Grafana OnCall OSS][]. ## How to configure Grafana OnCall @@ -47,8 +55,7 @@ to define **when and which users to notify** * OnCall users with [Editor role][user-and-team-management] can work with Alerts Groups and set up personal settings, e.g. **how to notify**. -> **Note:** If your role is **Editor**, you can skip to [**Learn Alert Workflow**](#learn-about-the-alert-workflow) section -of this doc +> **Note:** If your role is **Editor**, you can skip to [Learn about the Alert Workflow](#learn-about-the-alert-workflow). ## Get alerts into Grafana OnCall and configure rules @@ -82,13 +89,13 @@ For more information on Grafana OnCall integrations and further configuration gu Review and customize templates to interpret monitoring alerts and minimize noise. Group alerts, enable auto-resolution, customize visualizations and notifications by extracting data from alerts. See more details in the -[Jinja2 templating][jinja2-templating] section. +[Jinja2 templating][] section. ### Configure Escalation Chains Escalation Chains are a set of steps that define who to notify, and when. -See more details in the [Escalation Chains][escalation-chains] section. +For more information, refer to [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 @@ -107,16 +114,14 @@ To configure Escalation Chains: 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][escalation-chains-and-routes] +For more information on Escalation Chains and more ways to customize them, refer to [Escalation chains][] -Routes define which messenger channels and escalation chains to use for notifications. See more details in -the [Routes][routes] section. +Routes define which messenger channels and escalation chains to use for notifications. +For more information, refer to [Routes][]. ### Learn about the Alert Workflow -* All Alerts in OnCall are grouped into Alert Groups ([read more about Grouping ID][jinja2-templating]). +* All Alerts in OnCall are grouped into Alert Groups. An Alert Group can have the following, mutually exclusive states: * **Firing:** Once Alert Group is registered, Escalation Policy associated with it is getting started. Escalation policy will work while Alert Group is in this status. @@ -177,9 +182,10 @@ To configure Slack for Grafana OnCall: 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][slack] +[Slack integration for Grafana OnCall][] -Grafana OnCall also supports other ChatOps integration like [Microsoft Teams and Telegram][notify]. +Grafana OnCall also supports other ChatOps integration like Microsoft Teams and Telegram. +For a full list of supported integrations, refer to [Notify people][]. ### Add your on-call schedule @@ -192,36 +198,36 @@ To integrate your on-call calendar with Grafana OnCall: 2. Provide a schedule name. 3. Configure the rest of the schedule settings and click Create Schedule -[More information on on-call schedules.][on-call-schedules] +For more information about OnCall schedules, refer to [On-call schedules][]. {{% docs/reference %}} -[escalation-chains-and-routes]: "/docs/oncall/ -> /docs/oncall//escalation-chains-and-routes" -[escalation-chains-and-routes]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/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" -[escalation-chains]: "/docs/oncall/ -> /docs/oncall//escalation-chains-and-routes#escalation-chains" -[escalation-chains]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/escalation-chains-and-routes#escalation-chains" +[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/oncall/ -> /docs/oncall//integrations" [integrations]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations" -[jinja2-templating]: "/docs/oncall/ -> /docs/oncall//jinja2-templating" -[jinja2-templating]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/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" -[notify]: "/docs/oncall/ -> /docs/oncall//notify" -[notify]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/notify" +[Notify people]: "/docs/oncall/ -> /docs/oncall//manage/notify" +[Notify people]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/notify" -[on-call-schedules]: "/docs/oncall/ -> /docs/oncall//on-call-schedules" -[on-call-schedules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/on-call-schedules" +[On-call schedules]: "/docs/oncall/ -> /docs/oncall//manage/on-call-schedules" +[On-call schedules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/on-call-schedules" -[open-source]: "/docs/oncall/ -> /docs/oncall//open-source" -[open-source]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/open-source" +[Install Grafana OnCall OSS]: "/docs/oncall/ -> /docs/oncall//set-up/open-source#install-grafana-oncall-oss" +[Install Grafana OnCall OSS]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/set-up/open-source#install-grafana-oncall-oss" -[routes]: "/docs/oncall/ -> /docs/oncall//escalation-chains-and-routes#routes" -[routes]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/escalation-chains-and-routes#routes" +[Routes]: "/docs/oncall/ -> /docs/oncall//configure/escalation-chains-and-routes#routes" +[Routes]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/escalation-chains-and-routes#routes" -[slack]: "/docs/oncall/ -> /docs/oncall//notify/slack" -[slack]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/notify/slack" +[Slack integration for Grafana OnCall]: "/docs/oncall/ -> /docs/oncall//manage/notify/slack" +[Slack integration for Grafana OnCall]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/manage/notify/slack" -[user-and-team-management]: "/docs/oncall/ -> /docs/oncall//user-and-team-management" -[user-and-team-management]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/user-and-team-management" +[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" {{% /docs/reference %}} diff --git a/docs/sources/set-up/migration-from-other-tools/index.md b/docs/sources/set-up/migration-from-other-tools/index.md new file mode 100644 index 0000000000..ed753b9c56 --- /dev/null +++ b/docs/sources/set-up/migration-from-other-tools/index.md @@ -0,0 +1,23 @@ +--- +title: Migration from other tools +menuTitle: Migration guide +description: Learn how to migrate to Grafana OnCall from other on-call tools +weight: 200 +keywords: + - OnCall + - Migration + - Pagerduty + - on-call tools +canonical: https://grafana.com/docs/oncall/latest/set-up/migration-from-other-tools/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/set-up/migration-from-other-tools + - /docs/grafana-cloud/alerting-and-irm/oncall/migration-from-other-tools + - ../migration-from-other-tools/ # /docs/oncall//migration-from-other-tools/ +--- + +# Migration from other tools + +## Migration from PagerDuty to Grafana OnCall + +Migration from PagerDuty to Grafana OnCall could be performed in automated way using +[OSS Migrator](https://github.com/grafana/oncall/tree/dev/tools/pagerduty-migrator). diff --git a/docs/sources/open-source/_index.md b/docs/sources/set-up/open-source/index.md similarity index 92% rename from docs/sources/open-source/_index.md rename to docs/sources/set-up/open-source/index.md index d25c35b834..b925c7b38e 100644 --- a/docs/sources/open-source/_index.md +++ b/docs/sources/set-up/open-source/index.md @@ -1,8 +1,18 @@ --- +title: Grafana OnCall open source guide +menuTitle: Open source +description: Installation and setup configuration details for open source Grafana OnCall +weight: 300 keywords: - - Open Source -title: Open Source -weight: 400 + - OnCall + - Open source + - OSS + - Install +canonical: https://grafana.com/docs/oncall/latest/set-up/open-source/ +aliases: + - /docs/grafana-cloud/alerting-and-irm/oncall/set-up/open-source/ + - /docs/grafana-cloud/alerting-and-irm/oncall/open-source/ + - ../open-source/ # /docs/oncall//open-source/ --- # Grafana OnCall open source guide @@ -254,8 +264,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 -[Inbound Email integration]({{< relref "../integrations/inbound-email" >}}). +Grafana OnCall is capable of creating alert groups from the [Inbound email integration][]. To configure Inbound Email integration for Grafana OnCall OSS populate env variables with your Email Service Provider data: @@ -283,12 +292,12 @@ Grafana OnCall OSS users can use the mobile app to receive push notifications fr Grafana OnCall OSS relies on Grafana Cloud as on relay for push notifications. You must first connect your Grafana OnCall OSS to Grafana Cloud for the mobile app to work. -Refer to [Grafana OSS-Cloud Setup]({{< relref "_index.md#grafana-oss-cloud-setup" >}}) in this document before continuing with the mobile app. +Refer to [Install Grafana OnCall OSS](#install-grafana-oncall-oss) before continuing with the mobile app. For Grafana OnCall OSS, the mobile app QR code includes an authentication token along with a backend URL. Your Grafana OnCall OSS instance should be reachable from the same network as your mobile device, preferably from the internet. -For more information, see [Grafana OnCall mobile app]({{< relref "../mobile-app" >}}) +For more information, refer to [Grafana OnCall mobile app][]. ## Alert Group Escalation Auditor @@ -318,3 +327,11 @@ To configure this feature as such: Additionally, if you prefer to disable this feature, you can set the `ESCALATION_AUDITOR_ENABLED` environment variable 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" + +[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" +{{% /docs/reference %}}