logo

CALLGOOSE

FusionReactor

Overview

This document provides a detailed guide to integrating FusionReactor with Callgoose SQIBS for real-time Incident Management, Incident Auto Remediation, and Event-Driven Automation.

This integration enables automatic creation, updating, and resolution of incidents in Callgoose SQIBS based on alerts generated in FusionReactor (APM). The guide includes steps for configuring Webhook notifications in FusionReactor, defining JSON payloads, creating API filters in Callgoose SQIBS, and troubleshooting.

Prerequisites

  • FusionReactor Account: Access to FusionReactor Cloud (or On-Premise Enterprise Dashboard) with Administrator permissions to manage Checks and Notifications.
  • Callgoose SQIBS Account: Permissions to create API filters and manage services.
  • Webhook/API Endpoint: Generated in Callgoose SQIBS.
  • API Token: From Callgoose SQIBS.

1. Obtain API Token and Endpoint Details

To integrate with Callgoose SQIBS, first obtain an API token and endpoint URL.

1.1 Generate an API Token

Follow the document: How to Create API Token in Callgoose SQIBS. Copy the generated token for later use.

1.2 Find the API Endpoint

Refer to Callgoose SQIBS API Endpoint Documentation. Your endpoint will follow the format: https://****.callgoose.com/v1/process?from=FusionReactor&token=xxxx

Note: Ensure the from parameter is set to FusionReactor to easily identify the source in logs.

2. Configuring FusionReactor to Send Alerts

FusionReactor sends alerts via Notifications attached to Checks. You will configure a Webhook notification that pushes a JSON payload to Callgoose SQIBS.

2.1 Access FusionReactor
  1. Log in to your FusionReactor Cloud portal.
  2. Ensure you have the necessary roles (Administrator) to configure alerting.
2.2 Create a Webhook Notification
  1. Navigate to AlertingNotifications.
  2. Click Create Notification.
  3. Configure the Webhook:
  • Name: Callgoose SQIBS Integration
  • Type: Select Webhook.
  • Method: POST.
  • URL: Your API Endpoint (from Step 1.2).
  • Content-Type: application/json.
2.3 Define the JSON Payload Template

FusionReactor requires you to define the structure of the data being sent. In the Body section of the notification configuration, paste the following JSON template. This uses FusionReactor variables to dynamically populate alert data.

JSON

{
  "status": "{alarm.status}",
  "incident_key": "{server.name}-{check.name}",
  "check_name": "{check.name}",
  "severity": "{alarm.severity}",
  "server": "{server.name}",
  "description": "Value: {trigger.value}. Threshold: {threshold.value}.",
  "url": "{alarm.url}",
  "timestamp": "{alarm.time}"
}
  • Save the Notification configuration.
2.4 Attach Notification to a Check
  • Navigate to AlertingChecks.
  • Select an existing Check (e.g., CpuUsage) or click Create Check.
  • Define the Check logic (e.g., CPU > 90%).
  • Scroll to the Notifications section.
  • Click Add Notification and select the Callgoose SQIBS Integration created in Step 2.2.
  • Save the Check.
2.5 Test the Webhook
  • Go to the Notification settings created in Step 2.2.
  • Click the Test button (if available) or trigger a "Test Fire" from a specific Check.
  • Verify that Callgoose SQIBS receives the test alert in the API logs.

3. Example JSON Payloads From FusionReactor

Based on the template defined in Step 2.3, FusionReactor will send payloads in the following format.

3.1 Triggered Alert Payload

When an alert is raised (Status: Alarm):

JSON

{
  "status": "alarm",
  "incident_key": "Production_Server_01-CpuUsageHigh",
  "check_name": "CpuUsageHigh",
  "severity": "critical",
  "server": "Production_Server_01",
  "description": "Value: 95%. Threshold: 90%.",
  "url": "https://api.fusionreactor.io/ui/check/12345",
  "timestamp": "2025-01-10T12:30:00Z"
}
3.2 Resolved Alert Payload

When the metric returns to normal (Status: OK):

JSON

{
  "status": "ok",
  "incident_key": "Production_Server_01-CpuUsageHigh",
  "check_name": "CpuUsageHigh",
  "severity": "info",
  "server": "Production_Server_01",
  "description": "Value: 45%. Threshold: 90%.",
  "url": "https://api.fusionreactor.io/ui/check/12345",
  "timestamp": "2025-01-10T12:45:00Z"
}

4. Configuring Callgoose SQIBS

4.1 Create API Filters

API filters are required to map incoming alert payloads to incidents. You will map the JSON fields defined in the FusionReactor template to SQIBS incident fields.

4.1.1 Trigger Filter (For Creating Incidents)
  • Payload JSON Key: status
  • Key Value Contains: alarm (Note: FusionReactor typically sends "alarm" or "warning").
  • Map Incident With: incident_key (This ensures unique identification per server/check).
  • Incident Title: check_name
  • Incident Description: description (or combine with server).
  • Additional Mapping: Map url to the incident "Link" or "Source URL" field if available.
4.1.2 Resolve Filter (For Resolving Incidents)
  • Payload JSON Key: status
  • Key Value Contains: ok
  • Incident Mapped With: incident_key (Must match the key used in the Trigger Filter).

5. Testing & Validation

5.1 Triggering Alerts
  • In FusionReactor, temporarily lower the threshold of a Check (e.g., set CPU alert to 1%) or use a script to spike the monitored metric.
  • Confirm FusionReactor sends the alarm status payload.
  • Confirm a new incident appears in Callgoose SQIBS.
5.2 Resolving Alerts
  • Revert the threshold or stop the load generation in FusionReactor.
  • FusionReactor sends an ok status payload.
  • Confirm the incident in Callgoose SQIBS auto-resolves.

6. Debugging & Troubleshooting

  • Enable Debug in the Callgoose SQIBS API Token settings.
  • Review Logs under API Log in Callgoose SQIBS.
  • FusionReactor Logs: Check the Notification Logs in FusionReactor Cloud to ensure the webhook was sent and received a 200 OK response.
  • Common Issues:
  • No incident created: Incorrect Webhook URL or the Trigger Filter is looking for "firing" instead of "alarm". Ensure the filter matches the FusionReactor template variable {alarm.status} output.
  • Incident not resolved: Mismatched incident_key between the Trigger and Resolve filters. Ensure {server.name}-{check.name} is consistent.
  • Malformed JSON: Ensure the template in FusionReactor (Step 2.3) does not contain syntax errors or trailing commas.

7. Security Considerations

  • Keep the API token private.
  • Use HTTPS endpoints only for the Webhook URL.
  • Rotate API tokens periodically in Callgoose SQIBS settings.

8. Conclusion

By following this guide, you can integrate FusionReactor with Callgoose SQIBS for seamless incident creation, updates, and resolution. This ensures your DevOps and Operations teams have real-time visibility into Application Performance issues.

For additional reference:

CALLGOOSE
SQIBS

Advanced Automation platform with effective On-Call schedule, real-time Incident Management and Incident Response capabilities that keep your organization more resilient, reliable, and always on

Callgoose SQIBS can Integrate with any applications or tools you use. It can be monitoring, ticketing, ITSM, log management, error tracking, ChatOps, collaboration tools or any applications

Callgoose providing the Plans with Unique features and advanced features for every business needs at the most affordable price.



Unique Features

  • 30+ languages supported
  • IVR for Phone call notifications
  • Dedicated caller id
  • Advanced API & Email filter
  • Tag based maintenance mode
Book a Demo

Signup for a freemium plan today &
Experience the results.

No credit card required