Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Downdetector integration (ECOINT-43) #2601

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions downdetector/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# CHANGELOG - downdetector

## 1.0.0 / 2025-02-10

_**Added**_:

* Initial Release
29 changes: 29 additions & 0 deletions downdetector/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Downdetector

## Overview

This Datadog API integration provides real-time Downdetector outage alerts, enabling you to visualize and correlate data with your stack. It provides incident start and end notifications, along with details on the affected service, current measurements, baseline, top indicators, cities, and providers.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This Datadog API integration provides real-time Downdetector outage alerts, enabling you to visualize and correlate data with your stack. It provides incident start and end notifications, along with details on the affected service, current measurements, baseline, top indicators, cities, and providers.
[Insert quick overview of Downdetector in 1-2 sentences]
This integration provides real-time Downdetector outage alerts as events in Datadog, enabling you to visualize and correlate service disruptions with your stack. It provides incident start and end notifications, along with details on the affected service, current measurements, baseline, top indicators, cities, and providers


## Setup

1. Log in to your [Downdetector account][1] or [sign up][2].
2. Navigate to **Alerts** > **Integrations** and click the "+" in the top right.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. Navigate to **Alerts** > **Integrations** and click the "+" in the top right.
2. Navigate to **Alerts** > **Integrations** and click the **+** in the top right.

3. Select "Add Datadog" and authorize Downdetector access in Datadog.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
3. Select "Add Datadog" and authorize Downdetector access in Datadog.
3. Select **Add Datadog** and complete the authorization in Datadog. Once authorized, you’ll be redirected back to Downdetector.

4. After authorization, you'll be redirected back to Downdetector.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
4. After authorization, you'll be redirected back to Downdetector.

5. Go to **Alerts** > **Manage** to edit existing monitors or click "+" to create a new one.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
5. Go to **Alerts** > **Manage** to edit existing monitors or click "+" to create a new one.
4. Navigate to **Alerts** > **Manage** to edit existing monitors or click **+** to create a new one.

6. In the monitor creation modal, select required integrations under the "Alert Settings" tab.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
6. In the monitor creation modal, select required integrations under the "Alert Settings" tab.
5. In the monitor creation modal, select required integrations under the **Alert Settings** tab.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you able to be more descriptive here? It's unclear what "select the required integrations" refers to.


## Uninstallation

1. Go to **Alerts** and go to **Integrations**
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Go to **Alerts** and go to **Integrations**
1. Navigate to **Alerts** > **Integrations** in Downdetector.

2. Click the "trash" icon
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. Click the "trash" icon
2. Click the trash icon next to the Datadog integration.

3. Remove API keys associated with Downdetector in the [API keys][3] page in Datadog.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
3. Remove API keys associated with Downdetector in the [API keys][3] page in Datadog.
3. In Datadog, navigate to the [Downdetector](https://app.datadoghq.com/integrations/downdetector) integration tile and click **Uninstall**. After you uninstall this integration, any previous authorizations are revoked.
4. Additionally, ensure that all API keys associated with this integration have been disabled by searching for the integration name on the [API Keys management page](https://app.datadoghq.com/organization-settings/api-keys?filter=Downdetector).


## Support

Email [email protected]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Email [email protected]
Contact [email protected] for support requests.



[1]: https://enterprise.downdetector.com/
[2]: https://downdetector.com/for-business/
[3]: https://app.datadoghq.com/organization-settings/api-keys
161 changes: 161 additions & 0 deletions downdetector/assets/dashboards/downdetector_dashboard.json
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Update tile from “Downdetector Dashboard” to just “Downdetector”
  • Add description (shown when hovering over dashboard title)
  • Add title to list widget querying source:downdetector
  • Properly capitalize widget tiles:
    • “Current outages” > “Current Outages”
    • “Outage list” > “Outage List”
  • Follow dashboard template as much as possible (where it makes sense)
    • Move logo to the left side
    • Provide overview blurb
    • Add grouping header(s) with color

Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
{
"title": "Downdetector Dashboard",
"description": "[[suggested_dashboards]]",
"widgets": [
{
"id": 7998092961513330,
"definition": {
"title": "",
"title_size": "16",
"title_align": "left",
"requests": [
{
"response_format": "event_list",
"query": {
"query_string": "source:downdetector",
"data_source": "event_stream",
"event_size": "l"
},
"columns": []
}
],
"type": "list_stream"
},
"layout": {
"x": 0,
"y": 0,
"width": 9,
"height": 5
}
},
{
"id": 3616480667402272,
"definition": {
"type": "image",
"url": "https://cdn2.downdetector.com/logo-dark.svg",
"sizing": "contain",
"has_background": false,
"has_border": false,
"vertical_align": "center",
"horizontal_align": "center"
},
"layout": {
"x": 9,
"y": 0,
"width": 3,
"height": 2
}
},
{
"id": 2252714542318974,
"definition": {
"title": "Current outages",
"title_size": "16",
"title_align": "left",
"type": "check_status",
"check": "downdetector",
"grouping": "cluster",
"group_by": [
"company"
],
"tags": []
},
"layout": {
"x": 9,
"y": 2,
"width": 3,
"height": 2
}
},
{
"id": 6372417587982684,
"definition": {
"title": "Outage list",
"title_size": "16",
"title_align": "left",
"type": "toplist",
"requests": [
{
"queries": [
{
"data_source": "events",
"name": "query1",
"indexes": [
"*"
],
"compute": {
"aggregation": "count"
},
"group_by": [
{
"facet": "@title",
"limit": 10,
"sort": {
"order": "desc",
"aggregation": "count"
}
}
],
"search": {
"query": "source:downdetector status:error"
}
}
],
"response_format": "scalar",
"conditional_formats": [
{
"comparator": ">=",
"value": 25,
"palette": "white_on_red"
},
{
"comparator": ">",
"value": 15,
"palette": "white_on_yellow"
},
{
"comparator": "<",
"value": 15,
"palette": "white_on_green"
}
],
"formulas": [
{
"formula": "query1"
}
],
"sort": {
"count": 50,
"order_by": [
{
"type": "formula",
"index": 0,
"order": "desc"
}
]
}
}
],
"style": {
"display": {
"type": "stacked",
"legend": "automatic"
},
"palette": "dog_classic",
"scaling": "relative"
}
},
"layout": {
"x": 0,
"y": 5,
"width": 9,
"height": 3
}
}
],
"template_variables": [],
"layout_type": "ordered",
"notify_list": [],
"reflow_type": "fixed",
"tags": []
}
9 changes: 9 additions & 0 deletions downdetector/assets/logo.svg
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please replace it with a wordmark logo.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"version": 2,
"title": "Outage detected at monitored company",
"tags": [
"integration:downdetector"
],
"created_at": "2025-02-10",
"last_updated_at": "2025-02-10",
"description": "When Downdetector detects an outage, a check status is provided to Datadog for monitors to alert on.",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"description": "When Downdetector detects an outage, a check status is provided to Datadog for monitors to alert on.",
"description": "Receive an alert when Downdetector detects an outage for a specific company.",

"definition": {
"id": 163638104,
"name": "Outage detected at {{company.name}}",
"type": "service check",
"query": "\"downdetector\".over(\"*\").by(\"company\").last(2).count_by_status()",
"message": "Example",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add more context in place of “Example” placeholder

"tags": [],
"options": {
"thresholds": {
"critical": 1,
"warning": 1,
"ok": 1
},
"notify_audit": false,
"notify_no_data": false,
"renotify_interval": 0,
"timeout_h": 0,
"threshold_windows": null,
"include_tags": true,
"new_group_delay": 60,
"silenced": {}
},
"priority": null,
"restricted_roles": null
}
}
17 changes: 17 additions & 0 deletions downdetector/assets/oauth_clients.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"integration": {
"name": "Downdetector",
"description": "Downdetector Datadog connector",
"client_role": "integration",
"onboarding_url": "https://enterprise.downdetector.com",
"redirect_uris": [
"https://enterprise.downdetector.com/api/v3/integrations/datadog/callback",
"https://enterprise-beta.downdetector.dev/api/v3/integrations/datadog/callback",
"https://localhost.dev:8002/api/v3/integrations/datadog/callback"
],
"scopes": [
"api_keys_write"
],
"id": "1f9fb47c-e7c8-11ef-984d-da7ad0900002"
}
}
1 change: 1 addition & 0 deletions downdetector/assets/service_checks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[]
Binary file added downdetector/images/DDE screenshot 16_9.png
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Images should focus on integration and platform features. Please remove the “DDE screenshot” as it is more promotional. We recommend adding a minimum of 3 screenshots. Can also be screenshots from your platform.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
63 changes: 63 additions & 0 deletions downdetector/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
{
"app_id": "downdetector",
"app_uuid": "0193da66-1a4a-7d09-b520-469edb80cf24",
"manifest_version": "2.0.0",
"display_on_public_website": true,
"tile": {
"title": "Downdetector",
"description": "A Datadog app for Downdetector delivering real-time outage alerts",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"description": "A Datadog app for Downdetector delivering real-time outage alerts",
"description": "Monitor service disruptions with real-time outage alerts from Downdetector",

"overview": "README.md#Overview",
"configuration": "README.md#Setup",
"uninstallation": "README.md#Uninstallation",
"support": "README.md#Support",
"changelog": "CHANGELOG.md",
"media": [
{
"media_type": "image",
"caption": "Downdetector Explorer overview",
"image_url": "images/DDE screenshot 16_9.png"
},
{
"media_type": "image",
"caption": "Datadog dashboard for Downdetector",
"image_url": "images/Screenshot on 2025-02-07 at 15-52-31.png"
}
],
"classifier_tags": [
"Category::Alerting",
"Category::Incidents",
"Category::Notifications",
"Offering::Integration",
"Supported OS::Linux",
"Supported OS::Windows",
"Supported OS::macOS",
"Submitted Data Type::Events"
]
},
"oauth": {},
"author": {
"support_email": "[email protected]",
"name": "Ookla",
"homepage": "https://downdetector.com/for-business/",
"sales_email": "[email protected]",
"vendor_id": "ookla"
},
"assets": {
"dashboards": {
"Downdetector Dashboard": "assets/dashboards/downdetector_dashboard.json"
},
"monitors": {
"Outage detected at monitored company": "assets/monitors/outage_detected_at_monitored_company.json"
},
"integration": {
"source_type_name": "downdetector",
"auto_install": true,
"process_signatures": [],
"service_checks": {
"metadata_path": "assets/service_checks.json"
},
"source_type_id": 39203326
},
"oauth": "assets/oauth_clients.json"
}
}
Loading