diff --git a/generated/routes.json b/generated/routes.json index f78135a1..42eea76b 100644 --- a/generated/routes.json +++ b/generated/routes.json @@ -201,23 +201,23 @@ }, "/plural-features/flows": { "relPath": "/plural-features/flows/index.md", - "lastmod": "2025-04-18T18:20:24.042Z" + "lastmod": "2025-04-21T22:55:16.000Z" }, "/plural-features/flows/create-a-flow": { "relPath": "/plural-features/flows/create-a-flow.md", - "lastmod": "2025-04-18T18:20:24.061Z" + "lastmod": "2025-04-18T18:30:29.000Z" }, "/plural-features/flows/flow-ai": { "relPath": "/plural-features/flows/flow-ai.md", - "lastmod": "2025-04-18T18:20:24.084Z" + "lastmod": "2025-04-18T18:30:29.000Z" }, "/plural-features/flows/mcp": { "relPath": "/plural-features/flows/mcp.md", - "lastmod": "2025-04-18T18:20:24.108Z" + "lastmod": "2025-04-18T18:30:29.000Z" }, "/plural-features/observability": { "relPath": "/plural-features/observability/index.md", - "lastmod": "2025-04-15T01:53:12.000Z" + "lastmod": "2025-04-30T21:17:22.000Z" }, "/plural-features/observability/prometheus": { "relPath": "/plural-features/observability/prometheus.md", @@ -231,6 +231,18 @@ "relPath": "/plural-features/observability/cost.md", "lastmod": "2025-03-25T13:31:40.000Z" }, + "/plural-features/observability/observability-webhooks": { + "relPath": null, + "lastmod": null + }, + "/plural-features/observability/observability-webhooks/datadog": { + "relPath": "/plural-features/observability/observability-webhooks/datadog.md", + "lastmod": "2025-04-30T21:17:22.000Z" + }, + "/plural-features/observability/observability-webhooks/grafana": { + "relPath": "/plural-features/observability/observability-webhooks/grafana.md", + "lastmod": "2025-04-30T21:17:22.000Z" + }, "/plural-features/pr-automation": { "relPath": "/plural-features/pr-automation/index.md", "lastmod": "2025-03-12T14:59:41.000Z" diff --git a/pages/plural-features/observability/index.md b/pages/plural-features/observability/index.md index 1cb27480..9995b56f 100644 --- a/pages/plural-features/observability/index.md +++ b/pages/plural-features/observability/index.md @@ -73,4 +73,13 @@ spec: passwordSecretRef: name: basic-auth-prom key: password -``` \ No newline at end of file +``` + +## Observability Webhooks + +Plural supports integrations with third-party alerting and monitoring tools via webhooks, allowing you to establish connections to popular observability platforms. These are configured through the Plural UI. + +### Supported Integrations + +* **Datadog** - Forward metrics, logs, and alerts from Datadog to the Plural Console. +* **Grafana** - Forward alerts from Grafana to the Plural Console for centralized monitoring and incident management. diff --git a/pages/plural-features/observability/observability-webhooks/datadog.md b/pages/plural-features/observability/observability-webhooks/datadog.md new file mode 100644 index 00000000..60e830e6 --- /dev/null +++ b/pages/plural-features/observability/observability-webhooks/datadog.md @@ -0,0 +1,21 @@ +--- +title: Datadog Observability Webhook Integration +description: Configure Datadog webhook to view metrics, logs, and alerts inside the Plural Console. +--- + +## Quick Setup + +To install the Datadog Observability Webhook, navigate to the `Settings` tab in the Console sidebar. Go to `Global Settings > Observability > Webhooks`. + +![](/assets/observability/observability-webhooks-tab.png) + +Click `Add webhook`. Give your Datadog Observability Webhook a name and fill in your `base64 encoded` Datadog `basic auth` token. + +![](/assets/observability/datadog-webhook-config.png) + +Take the `URL` that is generated and configure your Datadog webhook (in your Datadog UI) to point to it. + +![](/assets/observability/datadog-webhook-url.png) + +You will then be able to see metrics, logs, and alerts from Datadog as they appear in your Plural Console Logs. + diff --git a/pages/plural-features/observability/observability-webhooks/grafana.md b/pages/plural-features/observability/observability-webhooks/grafana.md new file mode 100644 index 00000000..12b3eaaf --- /dev/null +++ b/pages/plural-features/observability/observability-webhooks/grafana.md @@ -0,0 +1,20 @@ +--- +title: Grafana Observability Webhook Integration +description: Configure Grafana webhook to view alerts and incidents inside the Plural Console. +--- + +## Quick Setup + +To install the Grafana Observability Webhook, navigate to the `Settings` tab in the Console sidebar. Go to `Global Settings > Observability > Webhooks`. + +![](/assets/observability/observability-webhooks-tab.png) + +Click `Add webhook`. Give your Grafana Observability Webhook a name and fill in your `base64 encoded` Grafana `basic auth` token. + +![](/assets/observability/grafana-webhook-config.png) + +Take the `URL` that is generated and configure your Grafana webhook (in your Grafana UI) to point to it. + +![](/assets/observability/grafana-webhook-url.png) + +You will then be able to see alerts and incidents from Grafana as they appear in your Plural Console Logs. \ No newline at end of file diff --git a/public/assets/observability/datadog-webhook-config.png b/public/assets/observability/datadog-webhook-config.png new file mode 100644 index 00000000..e831c184 Binary files /dev/null and b/public/assets/observability/datadog-webhook-config.png differ diff --git a/public/assets/observability/datadog-webhook-url.png b/public/assets/observability/datadog-webhook-url.png new file mode 100644 index 00000000..91dedc55 Binary files /dev/null and b/public/assets/observability/datadog-webhook-url.png differ diff --git a/public/assets/observability/grafana-webhook-config.png b/public/assets/observability/grafana-webhook-config.png new file mode 100644 index 00000000..1e3c3907 Binary files /dev/null and b/public/assets/observability/grafana-webhook-config.png differ diff --git a/public/assets/observability/grafana-webhook-url.png b/public/assets/observability/grafana-webhook-url.png new file mode 100644 index 00000000..3821cf60 Binary files /dev/null and b/public/assets/observability/grafana-webhook-url.png differ diff --git a/public/assets/observability/observability-webhooks-tab.png b/public/assets/observability/observability-webhooks-tab.png new file mode 100644 index 00000000..d773304d Binary files /dev/null and b/public/assets/observability/observability-webhooks-tab.png differ diff --git a/src/routing/docs-structure.ts b/src/routing/docs-structure.ts index a8f0279c..ea50e331 100644 --- a/src/routing/docs-structure.ts +++ b/src/routing/docs-structure.ts @@ -146,6 +146,14 @@ export const docsStructure: DocSection[] = [ { path: 'prometheus', title: 'Prometheus' }, { path: 'logging', title: 'Log Aggregation' }, { path: 'cost', title: 'Cost Management' }, + { + path: 'observability-webhooks', + title: 'Observability Webhooks', + sections: [ + { path: 'datadog', title: 'Datadog' }, + { path: 'grafana', title: 'Grafana' }, + ], + }, ], }, {