logo

CALLGOOSE

Dotcom-Monitor

Overview

This document provides a detailed guide to integrating Dotcom-Monitor with Callgoose SQIBS for real-time Incident Management, Incident Auto Remediation, Event-Driven Automation, and other automation purposes. The integration enables automatic creation, updating, and resolution of incidents in Callgoose SQIBS based on alerts triggered in Dotcom-Monitor. The guide includes steps for setting up alerts in Dotcom-Monitor, configuring webhook notifications, creating API filters in Callgoose SQIBS, and troubleshooting.

Prerequisites

  • Dotcom-Monitor Account: Access to Dotcom-Monitor for creating alerts and managing notifications.
  • Callgoose SQIBS Account: With valid privileges to set up API filters and receive notifications.
  • Webhook/API Endpoint: Available in Callgoose SQIBS to receive alerts from Dotcom-Monitor.

1. Obtain API Token and Endpoint Details

To integrate with Callgoose SQIBS, you first need to obtain an API token and find the API endpoint details.

2. Debugging and Troubleshooting

You can enable debugging in the API tokens used with Dotcom-Monitor notifications for troubleshooting purposes.

  • Enable Debugging:
  • You can update the debug value when adding or updating an API token.
  • When API tracking is enabled, logs are stored in the API log section for your review. The debugging option will automatically disable after 48 hours.
  • When API tracking is turned off, no logs are saved in the API log.
  • Using API Log for Troubleshooting:
  • The API log provides detailed information on all API calls made to Callgoose SQIBS.
  • You can check the JSON values in each API log entry for troubleshooting purposes.
  • Use the information in the API log to create or refine API filters to ensure incidents are created correctly based on the API payloads received.
  • Callgoose SQIBS creates incidents according to your API filter configuration, giving you full control over how alerts from different services trigger incidents and alerts for your support team or automation processes.

3. Configuring Dotcom-Monitor to Send JSON Payloads

Follow these steps to set up monitoring, alerts, and webhook integrations in Dotcom-Monitor, ensuring that the JSON payloads generated match the required format for Callgoose SQIBS.

3.1 Setting Up Dotcom-Monitor Device

  • Configure Dotcom-Monitor Device
  • Log in to Dotcom-Monitor with your credentials.
  • Go to New Device to start setting up monitoring.
  • Select Monitoring Type:
  • Choose the type of monitoring, e.g., HTTP/S.
  • Configure Device Settings:
  • Enter the URL you want to monitor.
  • Configure details such as Location, Monitoring Interval, etc.
  • Set Alert Options:
  • Go to Alert Settings and click on Select Groups.
  • Choose the Default Group and click Done.
  • Enable Uptime Alert:
  • Ensure Uptime Alert is enabled.
  • Create Device:
  • After configuring the settings, click on Create Device.

3.2 Setting Up Custom Alert Template

  • Go to Manage and click on Custom Alert Templates.
  • Create a New Template:
  • Click on New Template.
  • Change the format from HTML to JSON.
  • Define the Payload Format:
  • Paste the following custom JSON payload:
{
"MonitorName": "@Model.RootResponse.Monitor.Name",
"MonitoringTime": "@Model.Monitor_DateTime",
"ErrorDetails": @if (Model.FirstErrorResponse != null && Model.FirstErrorResponse.AllErrors != null && Model.FirstErrorResponse.AllErrors.Any())
{
var error = Model.FirstErrorResponse.AllErrors.FirstOrDefault();
<text>"Error Type: @error?.ErrorType; Error Code: @error?.ErrorCode; Reason: @error?.Reason"</text>
}
else
{
<text>"Error: No errors found"</text>
},
"RecentResponse": {
"Status": "@(Model.LastXResponses.FirstOrDefault()?.IsFail == true ? "Error" : "Ok")",
"Start": "@Model.LastXResponses.FirstOrDefault()?.Start",
"DetailsUrl": "@Model.WaterFallLink?id=@Model.LastXResponses.FirstOrDefault()?.ID&StartTime=@Model.LastXResponses.FirstOrDefault()?.StartTimeJson"
},
"PlatformType": "@Model.RootResponse.Device.PlatformType",
"DeviceName": "@Model.RootResponse.Device.Name",
"Tags": [
@if (Model.RootResponse.Device.Tags != null && Model.RootResponse.Device.Tags.Any())
{
foreach (var tag in Model.RootResponse.Device.Tags)
{
<text>
{
"Name": "@tag.Name",
"Color": "@tag.Color"
}@if(tag != Model.RootResponse.Device.Tags.Last()){ <text>,</text> }
</text>
}
}
else
{
<text>"[]"</text> // If no tags exist, return an empty array.
}
],
"DeviceReportingUrl": "@Model.OnlineReportLink?CUID=@Model.OnlineReportCUID"
}

  • Customize Payload (Optional):
  • You can customize the template using JSON snippets like Monitor, Device, etc., according to your needs.
  • Validate and Preview:
  • Click Validate to check for any syntax errors.
  • Click Preview to view example payloads for different states (alert state and OK state).
  • Save Template:
  • Click Create Template after finalizing your custom payload.

3.3 Setting Up Delivery Address for Webhook to Callgoose SQIBS

  • Configure Delivery Address
  • Go to Manage and click on Delivery Address Groups.
  • Select Default Group.
  • Add New Address:
  • Click on New Address and select Webhook.
  • Enter Endpoint URL:
  • Paste the Callgoose SQIBS endpoint URL. (Refer to API documentation for the correct URL format.)
  • Set Request Type and Data Type:
  • Request Type: Select POST.
  • Data Type: Choose Raw.
  • Content Type: Select JSON.
  • Configure Body:
  • In the Body section, choose Alert Template as the source for the payload.
  • Save Settings:
  • Click Done to finalize the webhook settings.
3.4 Finalizing and Testing
  • Validate the Integration:
  • Trigger the alert condition manually if possible to verify that the correct JSON payload is sent to Callgoose SQIBS.
  • Resolve the alert to ensure the resolved state payload is also correctly sent and processed.

4. Configuring Callgoose SQIBS

4.1 Create API Filters in Callgoose SQIBS

To correctly map incidents from the Dotcom-Monitor alerts, you need to create API filters based on the JSON payloads received.

4.1.1 Example JSON Payloads from Dotcom-Monitor

Alert Triggered (Status: "Error")

json

{
"MonitorName": "Mumbai",
"MonitoringTime": "11/14/2024 2:42:35 PM",
"ErrorDetails": "Error Code: 300; Reason: Duration exceeded specified threshold. Configured threshold: 0.400 sec. Actual duration: 1.228 sec.",
"RecentResponse": {
"Status": "Error",
"Start": "11/14/2024 2:43:00 PM",
"DetailsUrl": "https://user.dotcom-monitor.com/****/DetailView.aspx?id=-****&StartTime=1731595380080"
},
"PlatformType": "WebView",
"DeviceName": "https://aquinascollege.co.in",
"Tags": [
"[]" ],
"DeviceReportingUrl": "https://user.dotcom-monitor.com/****/OnlineReporting.aspx?CUID=****="
}

Alert Resolved (status: "Ok")

json

{
"MonitorName": "Mumbai",
"MonitoringTime": "11/14/2024 2:44:09 PM",
"ErrorDetails": "Error: No errors found",
"RecentResponse": {
"Status": "Ok",
"Start": "11/14/2024 2:44:09 PM",
"DetailsUrl": "https://user.dotcom-monitor.com/C131027/DetailView.aspx?id=-****&StartTime=****"
},
"PlatformType": "WebView",
"DeviceName": "https://aquinascollege.co.in",
"Tags": [
"[]" ],
"DeviceReportingUrl": "https://user.dotcom-monitor.com/C131027/OnlineReporting.aspx?CUID=****/****="
}
4.2 Configuring API Filters
4.2.1 Integration Templates

If you see an Dotcom-Monitor integration template in the "Select Integration Template" dropdown in the API filter settings, you can use it to automatically add the necessary Trigger and Resolve filters along with other values. The values added by the template can be modified to customize the integration according to your requirements.

4.2.2 Manually Add/Edit the Filter
  • Trigger Filter (For Creating Incidents):
  • Payload JSON Key: "RecentResponse"."Status"
  • Key Value Contains: [Error]
  • Map Incident With: "DeviceName"
  • This corresponds to the unique DeviceName from the Dotcom-Monitor payload.
  • Incident Title From: "DeviceName"
  • Incident Description From: Leave this empty unless you want to use a specific key-value from the JSON payload. If a key is entered, only the value for that key will be used as the Incident Description instead of the full JSON. By default, the Incident Description will include the full JSON values.
  • Example: If you use the "ErrorDetails" key in the Incident Description From field, the incident description will be the value of the "Error Code: 300; Reason: Duration exceeded specified threshold. Configured threshold: 0.400 sec. Actual duration: 1.228 sec..".
  • Resolve Filter (For Resolving Incidents):
  • Payload JSON Key: "RecentResponse"."Status"
  • Key Value Contains: [Ok]
  • Incident Mapped With: "DeviceName"
  • This ensures the incident tied to the specific DeviceName is resolved when the alert status returns to normal.

Refer to the API Filter Instructions and FAQ for more details.

4.3 Finalizing Setup
  • Save the API Filters:
  • Ensure that the filters are correctly configured and saved in Callgoose SQIBS.
  • Double-check that all key mappings, incident titles, and descriptions are correctly aligned with the payload structure sent by Dotcom-Monitor.

5. Testing and Validation

5.1 Triggering Alerts
  • Simulate a Monitoring Alert:
  • Trigger a condition in Dotcom-Monitor that causes an alert (e.g., when the page load time exceeds 1000ms. on a monitored server or website).
  • Verify that an incident is created in Callgoose SQIBS with the correct information.
5.2 Resolving Alerts
  • Acknowledge and Resolve the Alert:
  • Once the issue is resolved in Dotcom-Monitor (e.g., when the page load time returns to a normal level), verify that the incident in Callgoose SQIBS is automatically marked as resolved.

6. Security Considerations

  • API Security: Ensure that the Callgoose SQIBS API endpoint is correctly configured and that the API token is securely stored and used.
  • Dotcom-Monitor Permissions: Confirm that the webhook in Dotcom-Monitor has appropriate permissions to send alerts and data to Callgoose SQIBS.

7. Troubleshooting

  • No Incident Created: If no incident is created, verify that the webhook URL in Dotcom-Monitor is correct and that the JSON payload structure matches the API filters configured in Callgoose SQIBS.
  • Incident Not Resolved: Ensure that the resolve filter in Callgoose SQIBS is correctly configured and that the JSON payload sent by Dotcom-Monitor matches the expected structure.

8. Conclusion

This guide provides a comprehensive overview of how to integrate Dotcom-Monitor with Callgoose SQIBS for effective incident management. By following the steps outlined, you can ensure that alerts from Dotcom-Monitor are automatically reflected as incidents in Callgoose SQIBS, with proper resolution tracking when the issues are resolved.

For further customization or advanced use cases, refer to the official documentation for both Dotcom-Monitor and Callgoose SQIBS:

This documentation will guide you through the integration process, ensuring that your incidents are managed effectively within Callgoose SQIBS based on real-time alerts from Dotcom-Monitor.

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

Signup for a freemium plan today &
Experience the results.

No credit card required