AlertOps and AlertSite
AlertOps’ alert management system can be integrated with AlertSite to receive and respond to all (predefined status mappings) alerts through email, SMS, push notification or phone alerts. AlertOps would ensure that the alert/job status 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 what kind of alert AlertSite reports.
The above scenario and scope for integration is due to the fact that AlertOps has a very flexible and simple API/Webhook configuration feature that can be leveraged with AlertSite's alerting capabilities.
AlertOps - Inbound Integration
We can define rulesets in AlertOps so that AlertSite can send out alerts 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 AlertSite.
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 AlertSite 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. AlertSite has to be configured with an Alert Recipient, Recipient Group, Alert Template and the Recipient Group must be attached to a monitor.
To configure an Inbound Integration in AlertOps to receive alerts from AlertSite,
Under 'Integrations' select 'Inbound Integrations', select the category 'API' and then select add 'Add API Integration'
There are numerous integration options available in AlertOps, select AlertSite
Once you selected 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 which acts as the access point and needs to be configured at the source (in this case AlertSite), to send alerts. 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 AlertSite, 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 (notify_type) contains 'error/perf_error'. The incident will also be closed automatically when the status 'clear/perf_clear' is received from AlertSite.
You can similarly define URL mappings as you want, owing to the flexibility provided by AlertOps’ OpenAPI/Plug-and-Play integrations. You can provide other filters and match with regex expressions as well. You can also test the generated URL with the sample data provided.
Configuration of AlertSite for the Integration,
In your AlertSite portal, select 'Alerts' in the navigation pane at the top, and then select 'Alert Recipients'. Click on 'New Recipient'.
Give a name, select the Method as 'Post JSON Request to Web Server'. Under 'Recipient' paste the AlertOps Inbound Integration API URL. Click on Add.
After adding the recipient, select the Edit icon (pencil icon), for the Recipient you just created and select the options as below and Save.
You can send a test notification to see if the webhook was created successfully and if AlertOps receives the alert. (you can view the alert under Integrations/Inbound Log in AlertOps)
Go to 'Template Editor' under 'Alerts' in the top navigation pane.
In the 'Alert Templates' table, search for the following Alert types,
Site Error, Site Clear, Performance Error, Performance Clear
Filter the Delivery Method as JSON
For each of the templates selected, make the following change in the Editor section on the right side,
Under 'Body' , just add another key-value pair called,
Save each template under a different Name. Do this for each of the selected types. There should be four custom templates (one each for the types mentioned above, with the status_link key-value pair added to their bodies).
Now select 'Recipient Groups' under 'Alerts' in the top navigation pane. Click on New Recipient Group
Give a name for the group, select the monitor(s) for which you want alerts, select the Recipient as the Alert Recipient which you created in the previous steps. Error Types can be default. For Custom Templates, select the four templates you had just created. Save
Finally go to your monitor, and make sure that the AlertOps Recipient Group is selected under 'Alerts' configuration of your monitor. Ensure Availability Alerts and Performance Alerts are enabled.
Thats it! You have configured an Alert Recipient, created Custom Templates, a Recipient Group and associated that with a Monitor. Any alert will be sent to AlertOps for incident management.
Message logs, alert specific information can be viewed in the “Inbound Log” section in AlertOps Dashboard. Alerts can be viewed in the ‘Alerts’ tab as well.
Alert Triggering Information:
AlertOps will automatically create an incident when a new alert is received from AlertSite when the notify_type contains "error/perf_error".
If an alert with status "error/perf_error" 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 notify_type contains "clear/perf_clear".