- 11 May 2023
- 3 Minutes to read
- Print
- DarkLight
- PDF
Healthchecks.io
- Updated on 11 May 2023
- 3 Minutes to read
- Print
- DarkLight
- PDF
AlertOps and Healthchecks.io
AlertOps’ alert management system can be integrated with Healthchecks.io to receive and respond to critical (predefined status mappings) alerts through email, SMS, push notification or phone alerts. AlertOps would ensure that the alert would reach the appropriate team by using proper workflows, escalation policies and schedules. Based on your ruleset, incidents can be automatically opened and closed, depending on whether Healthchecks.io reports a ping as working (up) or not responding properly (down).
The above scenario and scope for integration is since AlertOps has a very flexible and simple API/Webhook configuration feature that can be leveraged with Healthchecks.io’s monitoring and alerting capabilities.
AlertOps - Inbound Integrations
We can define rulesets in AlertOps so that Healthchecks.io can send out notifications to the AlertOps platform. AlertOps would ensure based on these notifications received, that it would always reach out and assign to the correct person/team by utilizing its escalation policies, schedules, and workflow features.
AlertOps provides Inbound Integrations to integrate with numerous monitoring, chat and ITSM tools. You can configure an inbound integration for Healthchecks.io incidents.
At a high level this is how the flow looks like, you define an API integration in the AlertOps platform by defining settings like Integration Name, Escalation rules, recipient users/groups. Once an integration is defined, a unique API URL is generated. This acts as webhook or the gateway through which notifications from Healthchecks.io reach AlertOps and thus an incident/alert is created correspondingly. The API can be defined with various settings like URL mappings, filters, escalations etc. as required.
Configure Inbound Integration in AlertOps
- Navigate to Configuration àIntegrations àAdd API Integration à API Integration Detail page
- Select Healthchecks.io
Once you select the integration, you can then specify basic settings like the integration name, escalation policy, names of the recipients/groups for which the alerts must be assigned to.
- Once you click save, the API Integration will be created, and you will be given a unique URL. You can find the integration you just created, and you can give advanced settings and define various configurations for the alerts to be received and processed. For example, you can define when to open and close alerts based on the payload obtained from the API call, filters etc.
Make a note of the API URL, which will be used in Healthchecks.io, so it calls a HTTP POST request to this URL with the body in JSON format containing the alert specific information. AlertOps automatically creates an alert when the status variable (STATUS) is ‘down’. The incident will also be closed automatically when the status ‘ok’ or ‘up’ is received.
You can similarly define URL mappings as you want, owing to the flexibility provided by AlertOps’ OpenAPI integrations. You can provide other filters and match with regex expressions as well. You can also test the generated URL.
Configuration of Healthchecks.io AlertOps Integration
Healthchecks.io alerts allow you to set configurable alerting policies that enable you to get notified about ping statuses coming from the scheduled/cron jobs.
To setup a Webhook to send out alerts to AlertOps
- Select your project > In the tabs above, select ‘Integrations’
- Under ‘Add More’, Webhook, click ‘Add Integration’
- Give a Name, and for both triggers – when a check goes ‘down’ and when a check goes ‘up’, give the API URL which you obtained in the previous section. Select Request type as ‘POST’
- Define the Request Body (for both triggers) as shown below, you can define request headers if any. Save.
The request body should be like this:
{<br style="box-sizing: inherit;">"NAME":"$NAME",<br style="box-sizing: inherit;">"UUID":"$CODE",<br style="box-sizing: inherit;">"TIMESTAMP:"$NOW",<br style="box-sizing: inherit;">"STATUS":"$STATUS",<br style="box-sizing: inherit;">"TAGS":"$TAGS"<br style="box-sizing: inherit;">}
Now go back to your checks page, select your check configuration (A Check in Healthchecks.io represents a single service that you would want to monitor. In an ideal application, you have multiple checks for multiple cron jobs that are monitored). Under Notification methods, make sure your Integration is selected and toggled on.
That’s it! You have created a Notification Hook and an Alert Rule that would send out notifications to AlertOps when the alert condition is triggered (when the ping status changes). To simulate this there are various examples that are given in the docs. Refer to the links in the Reference section.
Alerts in AlertOps can be seen in the ‘Inbound Log’ or the ‘Alerts’ section. You can select the Alert ID to view more details on the alert.
Alert Triggering Information:
AlertOps will automatically create an incident when a new alert is received from Healthchecks.io when the STATUS field contains “down”.
If an alert with status “down” matches an existing Open Alert, AlertOps will recognize the new alert as a duplicate and ignore the alert. The alert will be recorded in the Inbound Messages table as “Mapped Appended.”
AlertOps will automatically close the same incident when an alert with a STATUS contains “ok” or “up”.
References