Integrations
DigitalOcean
Overview
This document provides a detailed guide to integrating DigitalOcean Monitoring with Callgoose SQIBS for real-time Incident Management, Droplet resource alerting, and automated incident resolution.
The integration utilizes DigitalOcean’s Slack/Webhook notification capability to send alert event payloads to Callgoose. Callgoose API Filters then process these payloads to automatically create and resolve incidents based on Droplet health.
Prerequisites
Before beginning, ensure you have the following:
- A Callgoose SQIBS account with permissions to create API Filters and access the integration endpoint.
- A DigitalOcean account with active Droplets and the DigitalOcean Agent installed (required for memory/disk metrics).
- A valid Callgoose API token and Api endpoint URL
1. Prepare Callgoose: Obtain Endpoint and Token
1.1 Retrieve Callgoose API Endpoint
Generate or locate your Callgoose process endpoint:
https://****.callgoose.com/v1/process?from=DigitalOcean&token=xxxx
store the API token securely.you will need this url when configuring the slack /webhook destination in digital ocean
2. Configure DigitalOcean Alert Webhook
2.1 Navigate to Monitoring Alerts
- Log in to the DigitalOcean Control Panel.
- In the left sidebar, click Monitoring.
- Navigate to the Alerts tab (or Uptime if configuring Uptime Checks).
2.2 Create a Resource Alert
- Click Create Resource Alert.
- Select Metric: Choose the metric you wish to monitor (e.g., CPU Utilization, Memory Utilization, or Disk Usage).
- Set the Rule: Define your threshold (e.g., Is Above 90%) and the duration (e.g., for 5 minutes).
- Assign Resources: Select specific Droplets or use Tags to apply the alert to multiple resources.
2.3 Configure Notification Method
- Under Select alert notification method, check the Slack option.
- Click Add additional Slack connections (DigitalOcean uses Slack-compatible webhook formats for generic webhooks).
- Enter your Callgoose API Endpoint URL from Step 1.
- Give the alert a name and click Create Resource Alert.
3. Example DigitalOcean Payloads
DigitalOcean sends payloads in a format compatible with notification services. Below are the key fields used for Callgoose mapping.
Triggering State ("Firing")
JSON
{
"text": "Alert: CPU usage on Droplet 'prod-web-01' is above 90% (Value: 94.2%)",
"status": "firing",
"alert_name": "High CPU Usage",
"droplet_id": "12345678",
"metric": "cpu_utilization_percent",
"value": 94.2
}
Resolved State
JSON
{
"text": "Resolved: CPU usage on Droplet 'prod-web-01' is back to normal.",
"status": "resolved",
"alert_name": "High CPU Usage",
"droplet_id": "12345678"
}
4. Create API Filters in Callgoose SQIBS
Callgoose API Filters convert the incoming DigitalOcean JSON into actionable incidents.
4.1 Trigger Filter — Create Incident
- Payload JSON Key: status
- Key Value Contains: firing
- Map Incident With: droplet_id (or alert_name)
- Incident Title: alert_name
- Incident Description: text
4.2 Resolve Filter — Auto-Resolve Incident
- Payload JSON Key: status
- Key Value Contains: resolved
- Incident Mapped With: droplet_id (must match the ID used in the trigger filter).
Refer to the API Filter Instructions and FAQ for more details.
5. Verify and Test the Integration
- Test Initial Delivery: Use the "Send Test Alert" feature in DigitalOcean if available, or manually lower a threshold on a test Droplet to trigger an alert.
- View Exact Payload: Check the API Logs in the Callgoose SQIBS dashboard to see the raw JSON received.
- Final Verification: Trigger a real alert → Incident should appear in Callgoose.
- Normalize the Droplet metric → Incident should automatically mark as Resolved.
6. Troubleshooting
- No Incident Created: Check if the DigitalOcean Agent is running (service do-agent status). Without the agent, memory and disk metrics will not trigger webhooks.
- Connectivity: Ensure your Callgoose endpoint is reachable from the public internet (DigitalOcean's cloud).
- Payload Mismatch: DigitalOcean sometimes updates its JSON schema; always use the Callgoose API Log to verify current field names before finalizing filters.
7. Conclusion
Integrating DigitalOcean with Callgoose SQIBS ensures that critical infrastructure spikes are immediately escalated to your on-call team. By leveraging the auto-resolution feature, your team only spends time on active issues, while cleared alerts are archived automatically.
- Callgoose SQIBS API Token Documentation
- Callgoose SQIBS API Endpoint Documentation
- API Filter Instructions and FAQ
- How to Send API
- digitalocean documentation
