sensu_client - Manages Sensu client configuration

New in version 2.4.

Synopsis

Options

parameter required default choices comments
address
no Non-loopback IPv4 address as determined by Ruby Socket.ip_address_list (provided by Sensu)
An address to help identify and reach the client. This is only informational, usually an IP address or hostname.
chef
no
The chef definition scope, used to configure the Sensu Enterprise Chef integration (Sensu Enterprise users only).
deregister
no
  • true
  • false
If a deregistration event should be created upon Sensu client process stop.
deregistration
no
The deregistration definition scope, used to configure automated Sensu client de-registration.
ec2
no
The ec2 definition scope, used to configure the Sensu Enterprise AWS EC2 integration (Sensu Enterprise users only).
keepalive
no
The keepalive definition scope, used to configure Sensu client keepalives behavior (e.g. keepalive thresholds, etc).
keepalives
no True
  • true
  • false
If Sensu should monitor keepalives for this client.
name
no System hostname as determined by Ruby Socket.gethostname (provided by Sensu)
A unique name for the client. The name cannot contain special characters or spaces.
puppet
no
The puppet definition scope, used to configure the Sensu Enterprise Puppet integration (Sensu Enterprise users only).
redact
no
Client definition attributes to redact (values) when logging and sending client keepalives.
registration
no
The registration definition scope, used to configure Sensu registration event handlers.
safe_mode
no
  • true
  • false
If safe mode is enabled for the client. Safe mode requires local check definitions in order to accept a check request and execute the check.
servicenow
no
The servicenow definition scope, used to configure the Sensu Enterprise ServiceNow integration (Sensu Enterprise users only).
socket
no
The socket definition scope, used to configure the Sensu client socket.
state
no present
  • present
  • absent
Whether the client should be present or not
subscriptions
yes
An array of client subscriptions, a list of roles and/or responsibilities assigned to the system (e.g. webserver).
These subscriptions determine which monitoring checks are executed by the client, as check requests are sent to subscriptions.
The subscriptions array items must be strings.

Examples

# Minimum possible configuration
- name: Configure Sensu client
  sensu_client:
    subscriptions:
      - default

# With customization
- name: Configure Sensu client
  sensu_client:
    name: "{{ ansible_fqdn }}"
    address: "{{ ansible_default_ipv4['address'] }}"
    subscriptions:
      - default
      - webserver
    redact:
      - password
    socket:
      bind: 127.0.0.1
      port: 3030
    keepalive:
      thresholds:
        warning: 180
        critical: 300
      handlers:
        - email
      custom:
        - broadcast: irc
      occurrences: 3
  register: client
  notify:
    - Restart sensu-client

- name: Secure Sensu client configuration file
  file:
    path: "{{ client['file'] }}"
    owner: "sensu"
    group: "sensu"
    mode: "0600"

- name: Delete the Sensu client configuration
  sensu_client:
    state: "absent"

Return Values

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

name description returned type sample
config
Effective client configuration, when state is present
success dict {'name': 'client', 'subscriptions': ['default']}
file
Path to the client configuration file
success string /etc/sensu/conf.d/client.json

Notes

Note

  • Check mode is supported

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/sensu_client_module.html