Skip to content

ServiceNow

Although a turnkey integration is available for email based notifications, organizations may wish to send notifications to other platforms in use internally. This recipe documents how organizations can customize the "Alert Manager" system add-on configuration and send the alerts to ServiceNow.

sequenceDiagram
    AlertManager->>+ServiceNow: Alert on cluster

Watch a video of this in action


Before you begin

  • Ensure that the Event Management Connectors (sn_em_connector) plugin is installed on the Now Platform instance. They get installed as part of Event Management
  • Verify Configuration Items for the hosts managed by Prometheus exist in ServiceNow. These CIs can be physical or virtual, and can be either manually created or discovered using IP discovery or Cloud discovery. For this exercise, Cloud discovery was used to populate the ServiceNow CMDB
  • Role required: evt_mgmt_integration

Step 1: Configure ServiceNow

The first step in setting up the integration is to create a Push Connector Instance which uses the provided Prometheus Push Connector.

  • Go to your ServiceNow instance and navigate to Event Management -> Push Connector Instances and select New to create a new record
  • Enter a name, description, and select Prometheus Push Connector for the Push Connector Definition
  • Click on Submit

servicenow

  • Copy the URL for the newly created connector, we will use this later as the receiver for Prometheus alerts

servicenow

  • Navigate to User Administration -> Users and select New to create a new record
  • Enter a User ID, First name, Last name, Title, etc.
  • Web service access only and Active should be selected
  • Assign the evt_mgmt_integration role to the new User
  • Click on Set Password to set the password and record for use later
  • Click on Update to update the record

servicenow

Step 2: Configure Alert Manager Add-on

Follow the below steps to create a customized "Alert Manager" System Add-on

  • Navigate to Infrastructure -> Add-ons
  • Create a new add-on using the Customize System Add-On option

servicenow

  • Create a new version for the custom system Alert Manager add-on

servicenow

  • Download the default configuration manifest (alertmanager-configuration.yaml)

servicenow

  • Add another webhook config under the receivers section of the downloaded configuration as shown below
  • Add the username and password of the User account we created in ServiceNow
  • Add the URL for the Push Connector Instance we created in ServiceNow
receivers:
- name: default-receiver
- name: rafay-webhook
  webhook_configs:
  - http_config:
      tls_config:
        ca_file: /etc/config/certs/ca.crt
        cert_file: /etc/config/certs/client.crt
        insecure_skip_verify: true
        key_file: /etc/config/certs/client.key
        server_name: '{{{ .V2EventFrameworkFQDN }}}'
    url: https://{{{ .V2EventFrameworkFQDN }}}/event/v1/alert/raise
- name: servicenow-webhook
  webhook_configs:
  - http_config:
      basic_auth:
        password: 0=2cC$+[3bi$_ITuUI
        username: rafayprometheus
    url: https://dev113070.service-now.com/api/sn_em_connector/em/inbound_event?source=prometheus&sys_id=99884718470c315088f5c561236d430a
  • Next add the custom receiver for Prometheus alerts to the routes configuration in "route" section
route:
  group_interval: 5m
  group_wait: 10s
  receiver: rafay-webhook
  repeat_interval: 3h
  routes:
  - continue: true
    match_re:
      severity: .*
    receiver: rafay-webhook
  - continue: true
    match_re:
      severity: .*
    receiver: servicenow-webhook
  • Upload the modified configuration to the add-on
  • Save the custom Alert Manager add-on version

servicenow

Step 3: Update Cluster Blueprint

Follow the below steps to deploy the customized Alert Manager configuration for ServiceNow notifications

  • Go to Infrastructure > Blueprints and click on New Blueprint
  • Give the Blueprint a name and click on Save

servicenow

  • Give the newly created Blueprint a Version Name
  • Add the custom Alert Manager add-on to the custom blueprint and save changes

servicenow

servicenow

  • Update the cluster with the new blueprint version that includes the alert-manager add-ons
  • Click on Save and Publish

servicenow

servicenow

Step 4: Verify Configuration

Once the alerts are generated in the clusters, you will receive notifications in the Alerts section of your ServiceNow instance. An illustrative example is shown below.

servicenow