- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# sensu_handler – Manages Sensu handler configuration

New in version 2.4.

- Synopsis
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- Manages Sensu handler configuration
- For more information, refer to the Sensu documentation: https://sensuapp.org/docs/latest/reference/handlers.html

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
command - |  | 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 - |  | The Sensu event filter (name) to use when filtering events for the handler.
filters - |  | 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 - |  | 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 - |  | The Sensu event mutator (name) to use to mutate event data for the handler.
name - / required |  | A unique name for the handler. The name cannot contain special characters or spaces.
pipe - |  | 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 - | Choices: warning critical unknown | An array of check result severities the handler will handle. NOTE: event resolution bypasses this filtering.
socket - |  | 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 - | Choices: present ← absent | Whether the handler should be present or not
timeout - | Default: 10 | The handler execution duration timeout in seconds (hard stop). Only used by pipe and tcp handler types.
type - / required | 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
      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
      sensu_handler:
        name: "irc_handler"
        state: "absent"

    # Example of a TCP handler
    - name: Configure TCP Sensu handler
      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
      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: {'name': 'irc', 'type': 'pipe', 'command': '/usr/local/bin/notify-irc.sh'}
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

## Status

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

### Authors

- David Moreau Simard (@dmsimard)

Hint

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