Alarm webhooks

About alarm webhooks

In addition to sending standard alert emails to your alarm recipient groups, Exoprise let's you create alarm webhooks as well. HTTPS/TLS is required because a webhook sends an HTTPS post request to the URL you choose so that you can integrate your Exoprise alerts with other systems. For more information about webhooks, refer to this Wikipedia page.

Configuration

In Exoprise, navigate to Alarms > Settings > Web Hooks. Click Add to create a new webhook. Provide a name and a target URL, then choose what kind of authorization you would like to use, and specify any custom headers you need.

Webhook elements

  • Name: Give each webhook a unique name. The name typically indicates where the notifications are sent.

  • Target URL: Webhooks are sent to a destination URL. Exoprise webhooks require HTTPS connections.

  • Request method: Select either POST or GET as the request method.

  • Content Type: Choose either JSON or plain text. JSON must be valid.

  • Enable Basic Authorization: Many webhooks utilize basic authorization. Select this checkbox and supply the credentials if your webhook requires it.

  • Custom Headers: Webhook implementations often rely on headers. Supply them here. Use the format Header-Name: Header-Value and put one header per line.

  • Enable Ring Event: Alarms are rung and resolved. If alarm generation is desired, select this checkbox.

  • Enable Resolve Event: When the alarm condition is resolved, the webhook can be notified if this is selected. Optional ring and resolved events enable flexible handling to separate webhooks.

  • Message Body: Refer to Message bodies below. Both the alarm ring event and alarm resolve event can be enabled and can have their own message bodies.

Message bodies

When an alarm is generated, or the alarm rings, it will use the template body to send, in a POST, to the webhook's destination URL. Each event generation, ring or resolved, has a separate template for the configuration. The template is a body of text that will be sent to the webhook's target URL after variable substitution. For more information, refer to Alarm hook templates.

Troubleshooting

If a webhook returns an error, the two most likely causes are authorization or formatting. Make sure that any credentials or other authorization or authentication information provided is correct. Also make sure that the message bodies are in the format required. Some endpoints require specific formatting, some just require valid JSON. JSON validation tools are useful to ensure the message body is correct. Sending a test request to your endpoint is also useful. This can be done by clicking the gear icon in the edit column and then clicking Send Test.