community.general.sensu_check – Manage Sensu checks

Note

This plugin is part of the community.general collection (version 2.5.1).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.sensu_check.

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
Default is false.
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
string
Path to the sensu check to run (not required when state=absent)
custom
dictionary
Default:
{}
A hash/dictionary of custom parameters for mixing to the configuration.
You can't rewrite others module parameters using this
dependencies
list / elements=string
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
Default is false.
handlers
list / elements=string
Default:
[]
List of handlers to notify when the check fails
high_flap_threshold
integer
The high threshold for flap detection
interval
integer
Check interval in seconds
low_flap_threshold
integer
The low threshold for flap detection
metric
boolean
    Choices:
  • no ←
  • yes
Whether the check is a metric
name
string / required
The name of the check
This is the key that is used to determine whether a check exists
occurrences
integer
Number of event occurrences before the handler should take action
If not specified, defaults to 1.
path
string
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
Default is false.
refresh
integer
Number of seconds handlers should wait before taking second action
source
string
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
Default is false.
state
string
    Choices:
  • present ←
  • absent
Whether the check should be present or not
subdue_begin
string
When to disable handling of check failures
subdue_end
string
When to enable handling of check failures
subscribers
list / elements=string
Default:
[]
List of subscribers/channels this check should run for
See sensu_subscribers to subscribe a machine to a channel
timeout
integer
Timeout for the check
If not specified, it defaults to 10.
ttl
integer
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
  community.general.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
  community.general.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
  community.general.sensu_check:
    name: check_disk_capacity
    state: absent

Authors

  • Anders Ingemann (@andsens)