community.general.sensu_handler – Manages Sensu handler configuration

Note

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

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.
Each array item must be a string.
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)