Skip to content

Commit

Permalink
Add initial Pager Duty platform docs
Browse files Browse the repository at this point in the history
  • Loading branch information
mszostok committed May 14, 2024
1 parent 2928fc5 commit 72a5084
Show file tree
Hide file tree
Showing 11 changed files with 126 additions and 3,614 deletions.
File renamed without changes
1 change: 1 addition & 0 deletions docs/installation/assets/undraw_under_construction.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 5 additions & 4 deletions docs/installation/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ Compare our bidirectional integrations:

Compare our unidirectional integrations:

| Feature | Elasticsearch | Webhook |
| -------------------------------------------------------------- | ------------------ | ------------------ |
| Source plugins support (e.g. `kubernetes`, `prometheus`, etc.) | :heavy_check_mark: | :heavy_check_mark: |
| Multi-cluster support | :heavy_check_mark: | :heavy_check_mark: |
| Feature | Elasticsearch | Webhook | Pager Duty |
| -------------------------------------------------------------- | ------------------ | ------------------ | ------------------ |
| Source plugins support (e.g. `kubernetes`, `prometheus`, etc.) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Multi-cluster support | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |

## Integrations

Expand All @@ -48,6 +48,7 @@ Compare our unidirectional integrations:
{ name: "Discord", image: "/images/integrations/discord.svg", link: "installation/discord" },
{ name: "Teams", image: "/images/integrations/msteams.svg", link: "installation/teams" },
{ name: "Elasticsearch", image: "/images/integrations/elasticsearch.svg", link: "installation/elasticsearch" },
{ name: "Pager Duty", image: "/images/integrations/pager-duty.svg", link: "installation/pagerduty" },
{ name: "Webhook", image: "/images/integrations/webhooks.svg", link: "installation/webhook" },
]}
/>
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
116 changes: 116 additions & 0 deletions docs/installation/pager-duty/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
---
id: pagerduty
title: "Pager Duty"
sidebar_position: 6
---

## Botkube Cloud Pager Duty

The Botkube Cloud Pager Duty integration ensure timely reactions to both alerts and changes in your system.

<!-- Action Item: Ask @Blair to provide Pager Duty description -->

You can directly try Botkube Cloud Microsoft Teams app for free by creating an account in the [Botkube Web App](https://app.botkube.io). Follow the steps below to install the app.

## Prerequisites

- A Botkube Cloud account.

You can try out the Botkube Cloud Microsoft Teams app for free by creating an account in the [Botkube Cloud app](https://app.botkube.io).

## Create a Botkube Cloud Instance with Pager Duty

### Connect Botkube Cloud to your Kubernetes cluster

1. Go to Botkube Cloud [Web App](https://app.botkube.io/) and click on `New Instance` button.

![New Instance](../assets/cloud_new_instance.png "Create new instance")

2. Install Botkube Agent on your Kubernetes cluster by following the instructions on the page.

![Install Agent](../assets/cloud_install.png "Install Agent")

3. Click `Add platform` dropdown, and select `Pager Duty` option.

![Platform Select](../assets/undraw_under_construction.svg "Select Pager Duty platform")

Proceed with the next section.

### Create a Pager Duty Service

:::note
For a detailed guide, navigate to PagerDuty's support page [Services and Integrations](https://support.pagerduty.com/docs/services-and-integrations#create-a-service).
:::

To create a service in the Pager Duty web app:

1. Go to **Services** -> **Service Directory** and click **New Service**. On the next screen you will be guided through several steps.
1. Enter **Name**. We suggest to put a cluster name, for example: "Production EU".
2. Click **Next** to continue.
2. Select Escalation Policy that suits you best. Click **Next** to continue.
3. Select the **Events API V2** integration.

![pager_duty_integration.png](assets/pager_duty_integration.png)

4. Click **Create Service**.
5. Now you will be in the service’s Integrations tab, where you’ll find the **integration key**.
6. Copy the **integration key**.

Proceed with the next section.

### Finalize Botkube Cloud instance configuration

Go back to the Botkube Cloud instance creation.

1. In step 2, specify configuration details:

- **Integration key:** The integration key generated by Pager Duty in the previous section.

![Botkube Cloud Instance Configuration](../assets/undraw_under_construction.svg "Botkube Cloud Instance configuration")

2. Add source plugins you want to enable in your Botkube instance and click `Next` button.

![Source Plugins](../assets/undraw_under_construction.svg "Source plugins")

3. Click `Apply Changes` button to update Botkube Cloud instance.

![Cloud Instance Create](../assets/undraw_under_construction.svg "Cloud Instance create")

## Using Botkube Cloud with PagerDuty Integration

From now on, all events emitted by enabled sources are routed directly to created PagerDuty service using the [Events API v2](https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgw-events-api-v2-overview). Botkube follows the best practices by recognizing different event types and sending them to PagerDuty accordingly.

### Alerts

An [alert](https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgx-send-an-alert-event) indicates a problem within a monitored system. Botkube forwards the following types of alerts to PagerDuty:

- [Kubernetes'](../../configuration/source/kubernetes.md) error and warning events.
- All configured [Prometheus](../../configuration/source/prometheus.md) alerts.
- [ArgoCD](../../configuration/source/argocd.md) alerts (details to be specified).

### Changes

A [change](https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgy-send-a-change-event) indicates a non-problematic update within a system. Botkube forwards the following types of change events to PagerDuty:

- [Kubernetes'](../../configuration/source/kubernetes.md) create, delete, and update events.
- [ArgoCD](../../configuration/source/argocd.md) changes (details to be specified).

## Instance Cleanup

1. Go to Botkube Cloud instances page and click `Manage` button of the instance you want to remove.

![Cloud Instance Manage](../assets/undraw_under_construction.svg "Cloud Instance manage")

2. Click `Delete instance` button, type instance name in the popup and click `Delete instance`.

:::caution
Remember to execute the displayed command to completely remove Botkube and related resources from your cluster.
:::

![Cloud Instance Delete](../assets/cloud_instance_delete.png "Cloud Instance delete")

## Limitations

Botkube Cloud Microsoft Teams App currently doesn't support the following features:

- Botkube doesn't send a follow-up events to acknowledge or resolve triggered alert.
6 changes: 3 additions & 3 deletions docs/installation/teams/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ You can directly try Botkube Cloud Microsoft Teams app for free by creating an a

1. Go to Botkube Cloud [Web App](https://app.botkube.io/) and click on `New Instance` button.

![New Instance](assets/cloud_teams_new_instance.png "Create new instance")
![New Instance](../assets/cloud_new_instance.png "Create new instance")

1. Install Botkube Agent on your Kubernetes cluster by following the instructions on the page.

![Install Agent](assets/cloud_teams_install.png "Install Agent")
![Install Agent](../assets/cloud_install.png "Install Agent")

1. Click `Add platform` dropdown, and select `Teams` option.

Expand Down Expand Up @@ -172,7 +172,7 @@ After this point, all of your commands will be executed on the default instance.
Remember to execute the displayed command to completely remove Botkube and related resources from your cluster.
:::

![Cloud Teams Instance Delete](assets/cloud_teams_instance_delete.png "Cloud Microsoft Teams instances delete")
![Cloud Teams Instance Delete](../assets/cloud_instance_delete.png "Cloud Microsoft Teams instances delete")

## Caveats

Expand Down
Binary file removed static/images/botkube_multicluster.png
Binary file not shown.
Loading

0 comments on commit 72a5084

Please sign in to comment.