check_dependencies
ENTERPRISE: Built-in filters are available for Sensu Enterprise users only.
Reference documentation
Overview
The check_dependencies
enterprise filter is used to filter events when an
event already exists for a defined check dependency, enabling the user to reduce
notification noise and only be notified for the “root cause” of a given failure.
Check dependencies can be defined in the check definition, using dependencies
,
an array of checks (e.g. check_app
) or Sensu client/check pairs (e.g.
db-01/check_mysql
).
Configuration
Example(s)
The following is an example of how to configure a check dependency for a check. The example check monitors a web application API and has a dependency on another check that monitors the local MySQL database.
{
"checks": {
"web_application_api": {
"command": "check-http.rb -u https://localhost:8080/api/v1/health",
"subscribers": [
"web_application"
],
"interval": 20,
"dependencies": [
"mysql"
]
}
}
}
The web_application_api
check could depend on a check executed by another
Sensu client, in this example a Sensu client named db-01
.
{
"checks": {
"web_application_api": {
"command": "check-http.rb -u https://localhost:8080/api/v1/health",
"subscribers": [
"web_application"
],
"interval": 20,
"dependencies": [
"db-01/mysql"
]
}
}
}
The following is an example of how to apply the check_dependencies
enterprise
filter to a standard Sensu pipe
handler.
{
"handlers": {
"custom_mailer": {
"type": "pipe",
"command": "custom_mailer.rb",
"filter": "check_dependencies"
}
}
}
Filter specification
CHECK
attributes
The following attributes are configured within the {"checks": { "CHECK": {} } }
configuration scope.
dependencies | |
---|---|
description | An array of check dependencies. Events for the check will not be handled if events exist for one or more of the check dependencies. A check dependency can be a check executed by the same Sensu client (eg. check_app ), or a client/check pair (eg.db-01/check_mysql ). |
required | false |
type | Array |
example |
|