VMware Data Services Manager uses database status as a criteria to reflect the availability of the database, to identify an in-progress operation or to notify a critical operation that failed. The status of a database is also affected by alerts that VMware Data Services Manager may trigger for the database.

These alerts can be sent as email notifications or as other notifications to any customised application, such as Slack channels or ServiceNow. VMware Data Services Manager uses Webhooks to connect to an external application and send alert notifications for databases provisioned in VMware Data Services Manager.

Only a Provider Administrator can configure and update Webhooks in VMware Data Services Manager. An Organization Administrator can associate or dissociate Webhooks for the databases that is part of that organization. An Organization User can associate or dissociate Webhooks for the databases that it has created.

Creating Webhooks

As a Provider Administrator, you can create Webhooks that can be associated with the databases created in VMware Data Services Manager.

Prerequisites

Before you try to configure a Webhook, if the endpoint of the Webhook is configured with a self-signed certificate, then please refer Managing Certificates on the Provider to add the trusted certificates.

Note: Email Alert Webhooks are created after you configure SMTP settings.

Perform the following steps to create a Webhook:

  1. Select Settings from the left navigation pane.

    Information pane appears in the Settings view.

  2. Click Webhook Settings tab.

    The Webhook Setting List appears.

  3. Click NEW WEBHOOK SETTINGS on the right side of Webhook Setting List.

    The Create New Webhook form appears.

  4. In the Name and Destination tab of the Create New Webhook form, set the following properties:

    Property Description
    Endpoint Type Select Slack, ServiceNow, or Custom as the endpoint application from the dropdown list. You can select Custom if you want to configure any other application as the endpoint type other than Slack or ServiceNow.
    Webhook Name Enter a unique name of the Webhook.
    Destination URL Enter the destination URL of the endpoint application.
    HTTP Request Method Select POST or PUT from the dropdown list.
    Authorization User Enter the authorization username for the Webhook.
    Authorization Password Enter the authorization password for the Webhook.
    Custom Headers Enter the Header Name and Header Value for the custom header of the Webhook. Click + to add more custom headers and - to remove custom headers.
    Note: If you select Slack as the Endpoint Type, you need not provide Authorization User, Authorization Password*, and Custom Headers because authorization token is provided in the Webhook URL that is generated for Slack.
  5. Click NEXT.

  6. In the DB Status Change Payload tab of the Create New Webhook form, set the following properties:

    Property Description
    Content Type From the dropdown list, select JSON or XML as the content type of the Webhook for any change of database status. You can only choose JSON if you have selected Slack as the Endpoint Type in the Name and Destination tab because Slack doesn't support XML as an option for Content Type.
    Webhook Payload Use the payload as-is or update the Webhook's payload, as required. VMware Data Services Manager supports only the parameters listed in the Parameters box to be included in the payload. For more information, see Webhook Payloads.
    Note: You can click TEST below the left side of the Parameters box to test the payload that is triggered by the Webhook due to change of status of database. Click TEST to send the payload to the configured endpoint URL.
  7. Click NEXT.

  8. In the DB Operation Failure Payload tab of the Create New Webhook form, set the following properties:

    Property Description
    Content Type From the dropdown list, select JSON or XML as the content type of the Webhook for any database operation failure. You can only choose JSON if you have selected Slack as the Endpoint Type in the Name and Destination tab because Slack doesn't support XML as an option for Content Type.
    Webhook Payload Use the payload as-is or update the Webhook's payload, as required. VMware Data Services Manager supports only the parameters listed in the Parameters box to be included in the payload.
    Note: You can click TEST below the left side of the Parameters box to test the payload that is triggered by the Webhook due to database operation failure. Click TEST to send the payload to the configured endpoint URL.
  9. Click CREATE.

Webhook Payloads

VMware Data Services Manager supports JSON and XML payloads for Slack, ServiceNow, and Custom Webhooks. You can edit the payloads using the supported parameters, as required. When VMware Data Services Manager sends the database alerts, the string values of the parameters are automatically replaced by values of the Webhook that you configure. However, you need to enter the static values of the parameters when you configure a Webhook.

Example of a JSON Webhook's payload for Slack is as follows:

{
    "attachments": [
        {
            "author_name": "VMware Data Services Manager",
            "title": "Alert Triggered : Database Status Change",
            "title_link": "${url}",
            "fields": [
                {
                    "title": "At Time",
                    "value": "${TriggeredAt}"
                },
                {
                    "title": "Instance Name",
                    "value": "${TargetName}"
                },
                {
                    "title": "Instance Owner Email",
                    "value": "${OwnerEmail}"
                },
                {
                    "title": "Previous Status",
                    "value": "${PreviousStatus}"
                },
                {
                    "title": "Current Status",
                    "value": "${CurrentStatus}"
                },
                {
                    "title": "Crtitical Alerts",
                    "value": "${CriticalAlerts}"
                },
                {
                    "title": "Warning Alerts",
                    "value": "${WarningAlerts}"
                },
                {
                    "title": "CreatedAt",
                    "value": "${CreatedTime}"
                },
                {
                    "title": "Description",
                    "value": "Static Content"
                }
            ],
            "color": "#008ab1"
        }
    ]
}

Example of a JSON Webhook's payload for ServiceNow is as follows:

{
    "description": "Alert: ${AlertName} with level: ${AlertLevel} triggered on instance: ${InstanceName} owned by ${OwnerEmail}. Status of instance changed from ${PreviousStatus} to ${CurrentStatus}",
    "short_description": "DB Status Change",
    "close_code": "NO_RESOLUTION_PROVIDED",
    "close_notes": "STATIC CONTENT"
}

Slack does not support XML payloads to configure Webhooks. Example of an XML payload for ServiceNow is as follows:

<?xml version="1.0" encoding="UTF-8"?>
<request>
   <entry>
      <close_notes>notes</close_notes>
      <short_description>description</short_description>
      <impact>1</impact>
      <sys_updated_by>updated by name</sys_updated_by>
   </entry>
</request>

The different parameters that you can configure in a payload of a Webhook for the change of status of a database are described in the following table:

Parameter Description
TargetType Target Database VM
TargetId UUID of the database
TargetName Name of the database
OwnerEmail Email ID of the owner of the database
TriggerType Change of status of database or failure of a database operation
url Production URL of the target database
TriggeredAt The date and time at which the alert is triggered in the yyyy-MM-dd-HH:mm format
TriggeredDate The time at which the alert is triggered in the yyyy-MM-dd format
TriggeredTime The time at which the alert is triggered in the HH:mm:ss format
CreatedTime The time at which the database is created
VMName Name of the database VM
InstanceName Name of the database instance
DBName Name of the database
AlertName Name of the alert for CPU Health, Data Disk Health, System Disk Health, and so on
AlertLevel Level of the alert, that is, CRITICAL or WARNING
PreviousStatus Previous status of the database
CurrentStatus Current status of the database
CriticalAlerts List of critical alerts for the database
WarningAlerts List of warning alerts for the database

The different parameters that you can configure in a payload of a Webhook for the failure of a database operation are described in the following table:

Parameter Description
TargetType Target Database VM
TargetId UUID of the database
TargetName Name of the database
OwnerEmail Email ID of the owner of the database
TriggerType Change of status of database or failure of a database operation
url Product URL of the target database
TriggeredAt The date and time at which the alert is triggered in the yyyy-MM-dd-HH:mm format
TriggeredDate The time at which the alert is triggered in the yyyy-MM-dd format
TriggeredTime The time at which the alert is triggered in the HH:mm:ss format
CreatedTime The time at which the database is created
VMName Name of the database VM
InstanceName Name of the database instance
DBName Name of the database
TriggeredUserEmail Email ID of the user who triggers the database operation
OperationType Name of the operation that triggers the notification

Editing Webhooks

After creating a Webhook, you may need to update the payload to add, modify, or remove parameters of the payloads. Else, you may need to update a Webhook's name, authorization credentials, and so on. For all such purposes, as a Provider Administrator, you can edit Webhooks that you have created.

Perform the following steps to create a Webhook:

  1. Select Settings from the left navigation pane.

    Information pane appears in the Settings view.

  2. Click Webhook Settings tab.

    The Webhook Setting List appears.

  3. From the table in the Webhook Setting List, identify the Webhook that you want to update click the three vertical dots in the Actions column of that Webhook, and then click Edit Webhook from the pop-up menu.

    The Edit Webhook form appears.

  4. In the Name and Destination tab of the Create New Webhook form, update the following properties, as required:

    Property Description
    Endpoint Type Select Slack, ServiceNow, or Custom as the endpoint application from the dropdown list. You can select Custom if you want to configure any other application as the endpoint type other than Slack or ServiceNow.
    Webhook Name Update the name of the Webhook with a unique name.
    Destination URL Update the destination URL of the endpoint application.
    HTTP Request Method Select POST or PUT from the dropdown list.
    Authorization User Update the authorization username for the Webhook.
    Authorization Password Update the authorization password for the Webhook.
    Custom Headers Update the Header Name and Header Value for the custom header of the Webhook. Click + to add more custom headers and - to remove custom headers.
    Note: If you select Slack as the Endpoint Type, you need not provide Authorization User, Authorization Password, and Custom Headers because authorization token is provided in the Webhook URL that is generated for Slack.
  5. Click NEXT.

  6. In the DB Status Change Payload tab of the Create New Webhook form, update the following properties:

    Property Description
    Content Type From the dropdown list, select JSON or XML as the content type of the Webhook for any change of database status. You can only choose JSON if you have selected Slack as the Endpoint Type in the Name and Destination tab because Slack doesn't support XML as an option for Content Type.
    Webhook Payload Use the payload as-is or update the Webhook's payload, as required. VMware Data Services Manager supports only the parameters listed in the Parameters box to be included in the payload.
    Note: You can click TEST below the left side of the Parameters box to test the payload that is triggered by the Webhook due to change of status of database. Click TEST to send the payload to the configured endpoint URL.
  7. Click NEXT.

  8. In the DB Operation Failure Payload tab of the Create New Webhook form, set the following properties:

    Property Description
    Content Type From the dropdown list, select JSON or XML as the content type of the Webhook for any database operation failure. You can only choose JSON if you have selected Slack as the Endpoint Type in the Name and Destination tab because Slack doesn't support XML as an option for Content Type.
    Webhook Payload Use the payload as-is or update the Webhook's payload, as required. VMware Data Services Manager supports only the parameters listed in the Parameters box to be included in the payload.
    Note: You can click TEST below the left side of the Parameters box to test the payload that is triggered by the Webhook due to database operation failure. Click TEST to send the payload to the configured endpoint URL.
  9. Click UPDATE.

Publishing and Unpublishing Webhooks

The status of a Webhook can either be Published or Unpublished. Notifications of database status change or operation failure are only sent to the published Webhooks. When you create a Webhook, the status of the Webhook is Published. However, you can change the status of a Webhook from Published to Unpublished and vice-versa, as required. If an unpublished Webhook is already associated with a database, that webhook is listed using red font in the Alert Settings tab of that database.

Perform the following steps to change the status of a Webhook:

  1. Select Settings from the left navigation pane.

    Information pane appears in the Settings view.

  2. Click Webhook Settings tab.

    The Webhook Setting List appears.

  3. From the table in the Webhook Setting List, identify the Webhook whose status you want to change, click the three vertical dots in the Actions column of that Webhook, and then click Unpublish Webhook or Publish Webhook, as required, from the pop-up menu.

    Either the Unpublish Webhook dialog box appears or the status of the Webhook changes to Published.

  4. If the Unpublish Webhook dialog box appears, click CONFIRM.

    The status of the Webhook changes to Unpublished.

Associating and Dissociating Webhooks

Alerts for status change and operation failure of a database are sent to the published Webhooks associated with a database. You can activate or deactivate these alerts and you can associate or dissociate the Webhooks from a database during the creation of the database.

After you have created a database, you can still activate or deactivate database alerts and you can associate or dissociate the Webhooks from a database.

Perform the following steps to activate or deactivate database alerts and you can associate or dissociate the Webhooks from a database after you have created the database:

  1. Select Databases from the left navigation pane.

    The list of created databases appears in the Databases view.

  2. From the list of created databases in the Database view, click the database for which you want to activate or deactivate database alerts and associate or dissociate Webhooks.

    The Details tab of the database appears.

  3. Click the Alerts Settings tab, and click EDIT in the Email/Webhook Configuration section.

    The Edit Alerts Configuration dialog box appears.

  4. In the Edit Alerts Configuration dialog box, select or deselect Enable Alerts for DB Status Change to activate or deactivate alerts for change in status of the database. If you activate this alert, you can scroll through the drop-down list of Enable Alerts for DB Status Change, and then select Webhooks to be associated with the database, as required. Else, you can cross out the selected Webhooks to dissociate them from the database.

  5. In the Edit Alerts Configuration dialog box, select or deselect Enable Alerts for DB Operation Failure to activate or deactivate alerts for failure of database operations. If you activate this alert, you can scroll through the drop-down list of Enable Alerts for DB Operation Failure, and then select Webhooks to be associated with the database, as required. Else, you can cross out the selected Webhooks to dissociate them from the database.

  6. Click CONFIRM.

Deleting Webhooks

You can also delete Webhooks that are no longer required.

Note: You cannot delete a Webhook that is associated with a database. If you want to delete such a Webhook, ensure that it is dissociated from all databases, and then try to delete it.

Perform the following steps to delete a Webhook:

  1. Select Settings from the left navigation pane.

    Information pane appears in the Settings view.

  2. Click Webhook Settings tab.

    The Webhook Setting List appears.

  3. From the table in the Webhook Setting List, identify the Webhook that you want to delete, click the three vertical dots in the Actions column of that Webhook, and then click Delete Webhook from the pop-up menu.

check-circle-line exclamation-circle-line close-line
Scroll to top icon