# sensu_check – Manage Sensu checks

- Synopsis
- Parameters
- Examples
- Status

## Synopsis

- Manage the checks that should be run on a machine by Sensu.
- Most options do not have a default and will not be added to the check definition unless specified.
- All defaults except path, state, backup and metric are not managed by this module,
- they are simply specified for your convenience.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

aggregate
boolean

Choices:
- no ←
- yes

Classifies the check as an aggregate check,
making it available via the aggregate API

backup
boolean

Choices:
- no ←
- yes

Create a backup file (if yes), including the timestamp information so
you can get the original file back if you somehow clobbered it incorrectly.

command - / required |  | Path to the sensu check to run (not required when state=absent)
custom - | Default: {} | A hash/dictionary of custom parameters for mixing to the configuration. You can't rewrite others module parameters using this
dependencies - | Default: [] | Other checks this check depends on, if dependencies fail, handling of this check will be disabled

handle
boolean

Choices:
- no
- yes ←

Whether the check should be handled or not

handlers - | Default: [] | List of handlers to notify when the check fails
high_flap_threshold - |  | The high threshold for flap detection
interval - |  | Check interval in seconds
low_flap_threshold - |  | The low threshold for flap detection

metric
boolean

Choices:
- no ←
- yes

Whether the check is a metric

name - / required |  | The name of the check This is the key that is used to determine whether a check exists
occurrences - | Default: 1 | Number of event occurrences before the handler should take action
path - | Default: "/etc/sensu/conf.d/checks.json" | Path to the json file of the check to be added/removed. Will be created if it does not exist (unless state=absent). The parent folders need to exist when state=present, otherwise an error will be thrown

publish
boolean

Choices:
- no
- yes ←

Whether the check should be scheduled at all.
You can still issue it via the sensu api

refresh - |  | Number of seconds handlers should wait before taking second action
source - |  | The check source, used to create a JIT Sensu client for an external resource (e.g. a network switch).

standalone
boolean

Choices:
- no ←
- yes

Whether the check should be scheduled by the sensu client or server
This option obviates the need for specifying the subscribers option

state
-

Choices:
- present ←
- absent

Whether the check should be present or not

subdue_begin - |  | When to disable handling of check failures
subdue_end - |  | When to enable handling of check failures
subscribers - | Default: [] | List of subscribers/channels this check should run for See sensu_subscribers to subscribe a machine to a channel
timeout - | Default: 10 | Timeout for the check
ttl - added in 2.4 |  | Time to live in seconds until the check is considered stale

## Examples

    # Fetch metrics about the CPU load every 60 seconds,
    # the sensu server has a handler called 'relay' which forwards stats to graphite
    - name: get cpu metrics
      sensu_check:
        name: cpu_load
        command: /etc/sensu/plugins/system/cpu-mpstat-metrics.rb
        metric: yes
        handlers: relay
        subscribers: common
        interval: 60

    # Check whether nginx is running
    - name: check nginx process
      sensu_check:
        name: nginx_running
        command: /etc/sensu/plugins/processes/check-procs.rb -f /var/run/nginx.pid
        handlers: default
        subscribers: nginx
        interval: 60

    # Stop monitoring the disk capacity.
    # Note that the check will still show up in the sensu dashboard,
    # to remove it completely you need to issue a DELETE request to the sensu api.
    - name: check disk
      sensu_check:
        name: check_disk_capacity
        state: absent

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Anders Ingemann (@andsens)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.