AlertOps and Azure Logic Apps

AlertOps’ alert management system can be integrated with Logic Apps to receive and respond to (predefined status mappings) alerts/notifications 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 Logic Apps reports or notifies users of a problem or a recovery (any event for that matter).

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 Azure Logic Apps’ monitoring, connecting, notifications/alerting capabilities.

AlertOps Inbound Integration

You can define an inbound integration in AlertOps to receive the event/alert information from the Webhook that you will define. The next section will show you how to create a generic Webhook/HTTP Action Connector in the Logic App workflow to send out notifications.

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.

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 events from the connector in the Logic App 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. You will have to create a HTTP Action Connector in the Logic App to send event information.

To configure an Inbound Integration in AlertOps to receive events from Azure Logic Apps,

  • To configure an Inbound Integration in AlertOps to receive events from Azure Logic Apps.

  • To configure an Inbound Integration in AlertOps to receive events from Azure Logic Apps.

  • 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 which acts as the access point and needs to be configured at the source (in this case the connector in the Logic App), to send events. 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 response obtained from the API call, filters for the incoming JSON payload etc.

  • AlertOps will open an alert when the ‘triggeroutput^statusCode’ field from the JSON payload received (mapped to Source Status field), contains the failure status codes. You can similarly define URL mappings as you want, owing to the flexibility provided by AlertOps’ Open API integrations. You can provide other filters and match with regex as well. You can also test the generated URL.

With Logic Apps, various workflows can be created with different payloads/scenarios. It is entirely up to the user to determine, based on the payload sent from Logic Apps to map accordingly. AlertOps provides you with the flexibility to map incoming information in any way possible

Configuration of Azure Logic Apps for AlertOps Integration

In Logic Apps you can generate automated workflows (custom or through the various templates available). A cool thing about Logic Apps is that when you create a HTTP Connector, you can configure the JSON payload body on your own. You can format the body of the JSON payload, as and how you want dynamically with in-built functions or with custom values

To send event information to AlertOps, you need to add a HTTP ‘Action’ step in your workflow of the Logic App you design/create

  • Once you have defined a trigger in your Logic App Designer to start the workflow, you need to create a HTTP connector as the next step.

  • Click “+ New Step”, Under “All” and under "Actions” select “HTTP”. Alternatively, you can also select “HTTP Webhook

  • Give method as ‘POST’ and paste the URL which you generated when configuring the Inbound Integration with AlertOps.

  • Under ‘Body’, you can format your JSON payload with dynamic content. Dynamic content involves inbuilt functions that return related information from the inbuilt connectors. You can also specify expressions to do basic things like access, convert, compare, and return related values. You can basically encode any kind of information in the JSON payload as you want. Make sure you include "triggerOutput" field and value in the json payload as per the screenshot below.

We can think of many other ways to map variables in AlertOps' URL Mapping, owing to its flexibility and OpenAPI configuration. This integration serves to open and close alerts based on the status codes contained in the triggerOutput variable of the JSON payload.

Thats it! You have defined an action that will send out payload based on the trigger you would have defined for the workflow.

You can view the payload/information in the “Inbound Log” (or ‘Alerts’ tab) in AlertOps.

Alert Triggering Information:

AlertOps will automatically create an incident when a new alert is received from Azure Logic Apps when the triggeroutput^statusCode status field contains “400”,”401”,”403” or “500”.

If an alert with statuses “400”,”401”,”403” or “500” 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 triggeroutput^statusCode status contains “200”.


Did this answer your question?