Fix This Page
Navigation
You were redirected from a different version of the documentation. Click here to go back.

Create an Alert Configuration

Base URL: https://<ops-manager-host>

Syntax

POST /api/public/v1.0/groups/{GROUP-ID}/alertConfigs

Request Path Parameters

Parameter Required/Optional Description
GROUP-ID Required Group identifier.

Request Query Parameters

Field Required/Optional Description
pageNum Optional. The page to return.
itemsPerPage Optional. Maximum number of items to return per page. Default is 100.
envelope Optional. A boolean that specifies whether or not to wrap the response in an envelope.

Request Body Parameters

Note

Alert configurations vary. An alert configuration may only include a subset of these elements.

Name Type Description
eventTypeName string

Required. The type of event that will trigger an alert.

  • Host alerts support these values:
    • HOST_DOWN
    • HOST_RECOVERING
    • VERSION_BEHIND
    • HOST_EXPOSED
    • OUTSIDE_METRIC_THRESHOLD
  • Agent alerts support these values:
    • MONITORING_AGENT_DOWN
    • MONITORING_AGENT_VERSION_BEHIND
    • BACKUP_AGENT_DOWN
    • BACKUP_AGENT_VERSION_BEHIND
    • BACKUP_AGENT_CONF_CALL_FAILURE
  • Backup alerts support these values:
    • OPLOG_BEHIND
    • CLUSTER_MONGOS_IS_MISSING
    • RESYNC_REQUIRED
    • BAD_CLUSTERSHOTS
    • RS_BIND_ERROR (x alerts only)
    • BACKUP_TOO_MANY_RETRIES (global alerts only)
    • BACKUP_IN_UNEXPECTED_STATE (global alerts only)
    • LATE_SNAPSHOT (global alerts only)
    • SYNC_SLICE_HAS_NOT_PROGRESSED (global alerts only)
    • BACKUP_JOB_TOO_BUSY (global alerts only)
    • GROUP_TAGS_CHANGED (global alerts only)
  • Group alerts support these values:
    • USERS_AWAITING_APPROVAL
    • USERS_WITHOUT_MULTI_FACTOR_AUTH
  • Replica set alerts support these values:
    • CONFIGURATION_CHANGED
    • PRIMARY_ELECTED
    • TOO_FEW_HEALTHY_MEMBERS
    • TOO_MANY_UNHEALTHY_MEMBERS
    • NO_PRIMARY
  • Sharded cluster alerts support this value:
    • CLUSTER_MONGOS_IS_MISSING
  • User alerts support these values:
    • JOINED_GROUP
    • REMOVED_FROM_GROUP
enabled boolean If omitted, the configuration is disabled.
matchers object array

Rules to apply when matching an object against this alert configuration. Only entities that match all these rules will be checked for an alert condition.

You can filter using the matchers array only when the eventTypeName specifies an event for a host, replica set, or sharded cluster.

matchers.fieldName string

The name of the field in the target object to match on.

  • Host alerts support these fields:
    • HOSTNAME
    • PORT
    • HOSTNAME_AND_PORT
    • REPLICA_SET_NAME
    • TYPE_NAME
  • Replica set alerts support these fields:
    • REPLICA_SET_NAME
    • SHARD_NAME
    • CLUSTER_NAME
  • Sharded cluster alerts support these fields:
    • CLUSTER_NAME
    • SHARD_NAME

All other types of alerts do not support matchers.

matchers.operator string

The operator to test the field’s value. Possible values are:

  • EQUALS
  • NOT_EQUALS
  • CONTAINS
  • NOT_CONTAINS
  • STARTS_WITH
  • ENDS_WITH
  • REGEX
matchers.value string

The value to test with the specified operator.

If matchers.fieldName is set to TYPE_NAME, you can match on the following values:

  • PRIMARY
  • SECONDARY
  • STANDALONE
  • CONFIG
  • MONGOS
notifications object array Required. Notifications to send when an alert condition is detected.
notifications.typeName string

The type of alert notification. Possible values are:

  • GROUP
  • USER
  • SNMP
  • EMAIL
  • SMS (Twilio integration must be configured)
  • HIPCHAT
  • SLACK
  • FLOWDOCK
  • PAGER_DUTY
  • WEBHOOK
notifications.intervalMin number The number of minutes to wait between successive notifications for unacknowledged alerts that are not resolved.
notifications.delayMin number The number of minutes to wait after an alert condition is detected before sending out the first notification.
notifications.emailEnabled boolean Determines if email notifications should be sent. For notifications of type GROUP and USER.
notifications.smsEnabled boolean Determines if SMS notifications should be sent. For notifications of type GROUP and USER.
notifications.username string The name of an Ops Manager user to which to send notifications. Specify a user in the group that owns the alert configuration. For notifications of type USER.
notifications.snmpAddress string Hostname and port to send SNMP traps to. At this time Ops Manager is only able to send SNMP traps to the standard SNMP port (162). For SNMP notifications. Ops Manager uses SNMP v2c.
notifications.emailAddress string The email address to which to send notification. For notifications of type EMAIL.
notifications.notificationToken string A HipChat API token. For notifications of type HIP_CHAT. If the token later becomes invalid, Ops Manager sends an email to the group owner and eventually removes the token.
notifications.roomName string HipChat room name. For notifications of type HIP_CHAT.
notifications.channelName string The Slack channel name.For SLACK notifications.
notifications.apiToken string The Slack API token or Bot token. For SLACK notifications. If the token later becomes invalid, Ops Manager sends an email to the group owner and eventually removes the token.
notifications.orgName string The Flowdock organization name in lower-case letters. This is the name that appears after www.flowdock.com/app/ in the URL string. For FLOWDOCK notifications.
notifications.flowName string

The flow name, in lower-case letters.For FLOWDOCK notifications. The flow name appears after the organization name in the URL string:

www.flowdock.com/app/<organization-name>/<flow-name>.

notifications.flowdockApiToken string The Flowdock “personal API token.” For FLOWDOCK notifications. If the token later becomes invalid, Ops Manager sends an email to the group owner and eventually removes the token.
notifications.serviceKey string PagerDuty service key. For PAGER_DUTY notifications. If the key later becomes invalid, Ops Manager sends an email to the group owner and eventually removes the key.
metricThreshold object The threshold that will cause an alert to be triggered. Required if eventTypeName is set to OUTSIDE_METRIC_THRESHOLD.
metricThreshold.metricName string The name of the metric to check. Supports the same values as the metricName field of the alerts resource.
metricThreshold.operator string

The operator to apply when checking the current metric value against the threshold value. Possible values are:

  • GREATER_THAN
  • LESS_THAN
metricThreshold.threshold number The threshold value outside of which an alert will be triggered.
metricThreshold.units string

The units for the threshold value. Depends on the type of metric. For example, a metric that measures memory consumption would have a byte measurement, while a metric that measures time would have a time unit. Possible values are:

  • RAW
  • BITS
  • BYTES
  • KILOBITS
  • KILOBYTES
  • MEGABITS
  • MEGABYTES
  • GIGABITS
  • GIGABYTES
  • TERABYTES
  • PETABYTES
  • MILLISECONDS
  • SECONDS
  • MINUTES
  • HOURS
  • DAYS
metricThreshold.mode string Set to AVERAGE to compute the current metric value as an average.
threshold object

The threshold that will cause an alert to be triggered. Required if eventTypeName is set to one of the following:

  • TOO_FEW_HEALTHY_MEMBERS
  • TOO_MANY_UNHEALTHY_MEMBERS
threshold.operator string

The operator to apply when checking the current metric value against the threshold value.

  • GREATER_THAN
  • LESS_THAN
threshold.threshold number The threshold value outside of which an alert will be triggered.

Response Elements

The response includes the alert configuration details:

Note

Alert configurations vary. An alert configuration may only include a subset of these elements.

Name Type Description
id string Unique identifier.
groupId string ID of the group that owns this alert configuration.
eventTypeName string

The type of event that will trigger an alert.

  • Host alerts support these values:
    • HOST_DOWN
    • HOST_RECOVERING
    • VERSION_BEHIND
    • HOST_EXPOSED
    • OUTSIDE_METRIC_THRESHOLD
  • Agent alerts support these values:
    • MONITORING_AGENT_DOWN
    • MONITORING_AGENT_VERSION_BEHIND
    • BACKUP_AGENT_DOWN
    • BACKUP_AGENT_VERSION_BEHIND
    • BACKUP_AGENT_CONF_CALL_FAILURE
  • Backup alerts support these values:
    • OPLOG_BEHIND
    • CLUSTER_MONGOS_IS_MISSING
    • RESYNC_REQUIRED
    • BAD_CLUSTERSHOTS
    • RS_BIND_ERROR (x alerts only)
    • BACKUP_TOO_MANY_RETRIES (global alerts only)
    • BACKUP_IN_UNEXPECTED_STATE (global alerts only)
    • LATE_SNAPSHOT (global alerts only)
    • SYNC_SLICE_HAS_NOT_PROGRESSED (global alerts only)
    • BACKUP_JOB_TOO_BUSY (global alerts only)
    • GROUP_TAGS_CHANGED (global alerts only)
  • Group alerts support these values:
    • USERS_AWAITING_APPROVAL
    • USERS_WITHOUT_MULTI_FACTOR_AUTH
  • Replica set alerts support these values:
    • CONFIGURATION_CHANGED
    • PRIMARY_ELECTED
    • TOO_FEW_HEALTHY_MEMBERS
    • TOO_MANY_UNHEALTHY_MEMBERS
    • NO_PRIMARY
  • Sharded cluster alerts support this value:
    • CLUSTER_MONGOS_IS_MISSING
  • User alerts support these values:
    • JOINED_GROUP
    • REMOVED_FROM_GROUP
typeName string This field is deprecated and will be ignored.
created date When this alert configuration was created.
updated date When this alert configuration was last updated.
enabled boolean Is this alert configuration enabled?
matchers object array

Rules to apply when matching an object against this alert configuration. Only entities that match all these rules will be checked for an alert condition.

You can filter using the matchers array only when the eventTypeName specifies an event for a host, replica set, or sharded cluster.

matchers.fieldName string

The name of the field in the target object to match on.

  • Host alerts support these fields:
    • HOSTNAME
    • PORT
    • HOSTNAME_AND_PORT
    • REPLICA_SET_NAME
    • TYPE_NAME
  • Replica set alerts support these fields:
    • REPLICA_SET_NAME
    • SHARD_NAME
    • CLUSTER_NAME
  • Sharded cluster alerts support these fields:
    • CLUSTER_NAME
    • SHARD_NAME

All other types of alerts do not support matchers.

matchers.operator string

The operator to test the field’s value. Possible values are:

  • EQUALS
  • NOT_EQUALS
  • CONTAINS
  • NOT_CONTAINS
  • STARTS_WITH
  • ENDS_WITH
  • REGEX
matchers.value string

The value to test with the specified operator.

If matchers.fieldName is set to TYPE_NAME, you can match on the following values:

  • PRIMARY
  • SECONDARY
  • STANDALONE
  • CONFIG
  • MONGOS
notifications object array Notifications to send when an alert condition is detected.
notifications.typeName string

The type of alert notification. Possible values are:

  • GROUP
  • USER
  • SNMP
  • EMAIL
  • SMS (Twilio integration must be configured)
  • HIPCHAT
  • SLACK
  • FLOWDOCK
  • PAGER_DUTY
  • WEBHOOK
notifications.intervalMin number The number of minutes to wait between successive notifications for unacknowledged alerts that are not resolved.
notifications.delayMin number The number of minutes to wait after an alert condition is detected before sending out the first notification.
notifications.emailEnabled boolean Should email notifications be sent? Only present for notifications of type GROUP and USER.
notifications.smsEnabled boolean Should SMS notifications be sent? Only present for notifications of type GROUP and USER.
notifications.username string The name of an Ops Manager user to which to send notifications. Only a user in the group that owns the alert configuration is allowed here. Only present for notifications of type USER.
notifications.snmpAddress string Hostname and port to send SNMP traps to. At this time Ops Manager is only able to send SNMP traps to the standard SNMP port (162). Only present for SNMP notifications. Ops Manager uses SNMP v2c.
notifications.emailAddress string The email address to which to send notification. Only present for notifications of type EMAIL.
notifications.notificationToken string A HipChat API token. Only present for notifications of type HIP_CHAT. If the token later becomes invalid, Ops Manager sends an email to the group owner and eventually removes the token.
notifications.roomName string HipChat room name. Only present for notifications of type HIP_CHAT.
notifications.channelName string The Slack channel name. Only present for SLACK notifications.
notifications.apiToken string The Slack API token or Bot token. Only present for SLACK notifications. If the token later becomes invalid, Ops Manager sends an email to the group owner and eventually removes the token.
notifications.orgName string The Flowdock organization name in lower-case letters. This is the name that appears after www.flowdock.com/app/ in the URL string. Only present for FLOWDOCK notifications.
notifications.flowName string

The flow name, in lower-case letters. Only present for FLOWDOCK notifications. The flow name appears after the organization name in the URL string:

www.flowdock.com/app/<organization-name>/<flow-name>.

notifications.flowdockApiToken string The Flowdock “personal API token.” Only present for FLOWDOCK notifications. If the token later becomes invalid, Ops Manager sends an email to the group owner and eventually removes the token.
notifications.serviceKey string PagerDuty service key. Only present for PAGER_DUTY notifications. If the key later becomes invalid, Ops Manager sends an email to the group owner and eventually removes the key.
metricThreshold object The threshold that will cause an alert to be triggered. Only present if eventTypeName is set to OUTSIDE_METRIC_THRESHOLD.
metricThreshold.metricName string The name of the metric to check. Supports the same values as the metricName field of the alerts resource.
metricThreshold.operator string

The operator to apply when checking the current metric value against the threshold value. Possible values are:

  • GREATER_THAN
  • LESS_THAN
metricThreshold.threshold number The threshold value outside of which an alert will be triggered.
metricThreshold.units string

The units for the threshold value. Depends on the type of metric. For example, a metric that measures memory consumption would have a byte measurement, while a metric that measures time would have a time unit. Possible values are:

  • RAW
  • BITS
  • BYTES
  • KILOBITS
  • KILOBYTES
  • MEGABITS
  • MEGABYTES
  • GIGABITS
  • GIGABYTES
  • TERABYTES
  • PETABYTES
  • MILLISECONDS
  • SECONDS
  • MINUTES
  • HOURS
  • DAYS
metricThreshold.mode string This is set to AVERAGE and computes the current metric value as an average.
threshold object

The threshold that will cause an alert to be triggered. Only present if eventTypeName is set to one of the following:

  • TOO_FEW_HEALTHY_MEMBERS
  • TOO_MANY_UNHEALTHY_MEMBERS
threshold.operator string

The operator to apply when checking the current metric value against the threshold value.

  • GREATER_THAN
  • LESS_THAN
threshold.threshold number The threshold value outside of which an alert will be triggered.

Example Request

curl  -X POST -u "username:apiKey" --digest "https://<ops-manager-host>/api/public/v1.0/groups/4d1b6314e528c81a1f200e03/alertConfigs" \
   -H "Content-Type: application/json" --data '
   {
     "groupId" : "4d1b6314e528c81a1f200e03",
     "eventTypeName" : "RESYNC_REQUIRED",
     "enabled" : true,
     "notifications" : [ {
       "typeName" : "GROUP",
       "intervalMin" : 5,
       "delayMin" : 0,
       "smsEnabled" : false,
       "emailEnabled" : true
     } ]
   }'

Example Response

{
  "id" : "5357ce3e3004d83bd9c7864c",
  "groupId" : "4d1b6314e528c81a1f200e03",
  "created" : "2014-04-23T14:29:18Z",
  "updated" : "2014-04-23T14:29:18Z",
  "enabled" : true,
  "matchers" : [ ],
  "notifications" : [ {
    "typeName" : "GROUP",
    "intervalMin" : 5,
    "delayMin" : 0,
    "emailEnabled" : true,
    "smsEnabled" : false
  } ],
  "links" : [ ... ]
}