URL Mapping
The URL Mapping section contains the control configuration for the alerts. There is quite a bit of flexibility. The example below uses the JSON body in the sample data box.
At a minimum, you must configure the Source, Source Name, Status Field, and Status Control actions (Open, Close, and Update Alert).
Mapping AlertOps will match each incoming alert to previous alerts using the following: Source + Source Name.
Optionally, AlertOps will include the Source ID (if provided) in the alert matching algorithm.
Source is a static field which is used both for mapping and grouping. You can also use Source for reporting purposes.
Source Name can either be a static value or it can be a dynamic value using data from the inbound alert. (A more detailed discussion of Source Name along with examples is provided below.)
The Status field will be used to determine what action should be taken: whether to open a new alert or close an existing alert that is not closed.
The API URL is the endpoint for the integration, use this to configure the web hook endpoint in your source system.
Sample Data can be used to store a sample JSON body for reference. You can also use the Sample Data to test your configuration.
Nested Objects
If you are mapping a field that is composed of nested object data, such as in the following example:
“issue” : {“id”: “31999”, “key”: “ABC31999”}
You can map the id field using the following syntax:
issue^id
likewise, you can map the key as follows:
issue^key.
Arrays
Map Individual Index:
If you are mapping an individual field from an arrays, such as in the following example:
{"evalMatches":[{"value":183910,"metric":"rabbit_mq_disk_space_free_total","tags":null}],"message":"Disk Space for server in UAT is above below 19GB testing","ruleId":12,"ruleName":"Server Disk space full in UAT","ruleUrl":"http://localhost:3000/dashboard/db/axon-blackbox-uat-infra-metrics?fullscreen\u0026edit\u0026tab=alert\u0026panelId=8","state":"alerting","title":"[Alerting] Server Disk space full in UAT"}
You can map the metric field using the following syntax: evalMatches_0^metric
evalMatches_0^metric returns rabbit_mq_disk_space_free_total
Map Arrays as Strings:
In the case you'd like to map the entire Array as a String and not just a specific index of the array. For example if your JSON is presented in the same format as below:
{"id":123, "status":"Open","Array":[1,2,3,4,5,6,7,8]}
In order to capture the entire field "Array" as a string, you'd map it as a normal field. For example in this example above, it would simply be Array. It would map the value
"[1,2,3,4,5,6,7,8]".
In the case of a nested array, you'd reference it the same as a normal string field. In the JSON that follows, the field Array is nested inside the field Parent:
{"id":123, "status":"Open","Parent":{"Array":[1,2,3,4,5,6,7,8]}}
The mapping to capture the Array field as a string would be Parent^Array.
Sample Data and API URL
The API URL is the endpoint for the integration, use this to configure the web hook endpoint in your source system.
Sample Data can be used to store a sample JSON body for reference. You can also use the Sample Data to test your configuration.
The Sample Data box allows you to store a sample of the JSON data used in this integration. Use this both as a reference and also for testing purposes. You can test your configuration using the Test URL button along with the sample data.
If the value for Source changes, the API URL must be updated. To do this, click on GENERATE URL under URL Mapping after the source name has been changed and update the integration.
Refer to the Web API Testing and Troubleshooting section for details on how to test the Web API Integration.
Short Text and Long Text Fields
The Short Text and long text fields are not required, but it is recommended that you configure each of these.
The Short Text field allows you to set the field which maps to the AlertOps Short Message property.
*The Short Text / Short Message is the message used in SMS and voice notifications.
*You can also customize the Short Message using a combination of static and dynamic text. Refer to the Advanced Options link below.
If there is no Short Text field configured, AlertOps will use the Long Text field in its place. If there is no long text, AlertOps will use the entire JSON body as the Short Message text.
The Long Text field allows you to set the field which maps to the AlertOps Long message property.
*The Long Text / Long Message is the message used in Email and Push notifications.
*You can also customize the Long Message using a combination of static and dynamic text. Refer to the Advanced Options link below.
If there is no long text, AlertOps will use the entire JSON body as the Short Message text.
The API URL is the endpoint for the integration, use this to configure the web hook endpoint in your source system.
Sample Data can be used to store a sample JSON body for reference. You can also use the Sample Data to test your configuration.
Method Setting Options
The Method dropdown under URL Mapping has the GET and POST methods to perform HTTP requests.
Content Setting Options
The Content dropdown under URL Mapping has JSON, URL Encoded, and FORM DATA options for the format of the content sent via the selected Method.
Source Name field – Static vs. Dynamic
AlertOps will match each incoming alert to previous alerts using the following:
Source + Source Name.
The Status field will be used to determine what action should be taken, whether to open a new alert or close and existing alert that is not closed.
The Source Name field can either be static or it can be dynamic.
For Static values, check the Static box and a static value needs to be provided in the Source Name field.
For Dynamic values, the inbound JSON/Form field needs to be provided in the Source Name field. Static checkbox needs to be unchecked and the value must be left blank for matching with any inbound field value. If it is not left blank, the value is then used to match with inbound data.
With a dynamic Source Name field you can set up multiple integrations using a single end point. Each of these integrations can then use different processing rules, such as assignment to different groups, or different escalations using Escalation Rules.
Example: Open Alert – Static Source Name
The Source is ‘Grafana’ and the Source Name is static ‘Custom’.
AlertOps next looks at the Status to determine what actions should be taken.
Status is 'Open'
There are no alerts in the system with a matching combination of Source + Source Name.
A new alert is opened. You can view this message to the alert in the Inbound Log. You can view the alert itself in the Alerts tab of the main menu.
Example: Close Alert – Static Source Name
The Source is ‘Grafana’ and the Source Name is static ‘Custom’.
AlertOps next looks at the Status to determine what actions should be taken.
Status is 'Close'
There is an alert in the system with a matching combination of Source + Source Name.
A alert in the system is closed.
Example: Update Alert – Static Source Name
The Source is ‘Grafana’ and the Source Name is static ‘Custom’.
AlertOps next looks at the Status to determine what actions should be taken.
Status is Update
There is an alert in the system with a matching combination of Source + Source Name.
The alert is updated and a new message is added to the alert message thread.
Example: Open Alert – Dynamic Source Name
The Source is ‘ConnectWise Manage’ and the Source Name field contains the key 'ComapnyId'.
AlertOps next looks at the Status to determine what actions should be taken.
Status is 'New' or 'Open'
There are no alerts in the system with a matching combination of Source + Source Name.
A new alert is opened.
Example: Close Alert – Dynamic Source Name
The Source is ‘ConnectWise Manage’ and the Source Name field contains the key 'ComapnyId'.
AlertOps next looks at the Status to determine what actions should be taken.
Status is 'Finished' or 'Closed'
There is an alert in the system with a matching combination of Source + Source Name.
A alert in the system is closed.
Example: Update Alert – Dynamic Source Name
The Source is ‘ConnectWise Manage’ and the Source Name field contains the key 'ComapnyId'.
AlertOps next looks at the Status to determine what actions should be taken.
Status is 'Update'
There is an alert in the system with a matching combination of Source + Source Name.
The alert is updated and a new message is added to the alert message thread.