community.general.sensu_handler – Manages Sensu handler configuration

Note

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

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

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

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

Synopsis

Parameters

Parameter Choices/Defaults Comments
command
string
The handler command to be executed.
The event data is passed to the process via STDIN.
NOTE: the command attribute is only required for Pipe handlers (i.e. handlers configured with "type": "pipe").
filter
string
The Sensu event filter (name) to use when filtering events for the handler.
filters
list / elements=string
An array of Sensu event filters (names) to use when filtering events for the handler.
Each array item must be a string.
handle_flapping
boolean
    Choices:
  • no ←
  • yes
If events in the flapping state should be handled.
handle_silenced
boolean
    Choices:
  • no ←
  • yes
If events matching one or more silence entries should be handled.
handlers
list / elements=string
An array of Sensu event handlers (names) to use for events using the handler set.
NOTE: the handlers attribute is only required for handler sets (i.e. handlers configured with "type": "set").
mutator
string
The Sensu event mutator (name) to use to mutate event data for the handler.
name
string / required
A unique name for the handler. The name cannot contain special characters or spaces.
pipe
dictionary
The pipe definition scope, used to configure the Sensu transport pipe.
NOTE: the pipe attribute is only required for Transport handlers (i.e. handlers configured with "type": "transport").
severities
list / elements=string
An array of check result severities the handler will handle.
NOTE: event resolution bypasses this filtering.
Example: [ 'warning', 'critical', 'unknown' ].
socket
dictionary
The socket definition scope, used to configure the TCP/UDP handler socket.
NOTE: the socket attribute is only required for TCP/UDP handlers (i.e. handlers configured with "type": "tcp" or "type": "udp").
state
string
    Choices:
  • present ←
  • absent
Whether the handler should be present or not
timeout
integer
Default:
10
The handler execution duration timeout in seconds (hard stop).
Only used by pipe and tcp handler types.
type
string
    Choices:
  • pipe
  • tcp
  • udp
  • transport
  • set
The handler type

Notes

Note

  • Check mode is supported

Examples

# Configure a handler that sends event data as STDIN (pipe)
- name: Configure IRC Sensu handler
  community.general.sensu_handler:
    name: "irc_handler"
    type: "pipe"
    command: "/usr/local/bin/notify-irc.sh"
    severities:
      - "ok"
      - "critical"
      - "warning"
      - "unknown"
    timeout: 15
  notify:
    - Restart sensu-client
    - Restart sensu-server

# Delete a handler
- name: Delete IRC Sensu handler
  community.general.sensu_handler:
    name: "irc_handler"
    state: "absent"

# Example of a TCP handler
- name: Configure TCP Sensu handler
  community.general.sensu_handler:
    name: "tcp_handler"
    type: "tcp"
    timeout: 30
    socket:
      host: "10.0.1.99"
      port: 4444
  register: handler
  notify:
    - Restart sensu-client
    - Restart sensu-server

- name: Secure Sensu handler configuration file
  ansible.builtin.file:
    path: "{{ handler['file'] }}"
    owner: "sensu"
    group: "sensu"
    mode: "0600"

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
config
dictionary
success
Effective handler configuration, when state is present

Sample:
{'command': '/usr/local/bin/notify-irc.sh', 'name': 'irc', 'type': 'pipe'}
file
string
success
Path to the handler configuration file

Sample:
/etc/sensu/conf.d/handlers/irc.json
name
string
success
Name of the handler

Sample:
irc


Authors

  • David Moreau Simard (@dmsimard)