community.general.sensu_client – Manages Sensu client configuration
Note
This plugin is part of the community.general collection (version 2.0.1).
To install it use: ansible-galaxy collection install community.general.
To use it in a playbook, specify: community.general.sensu_client.
Synopsis
- Manages Sensu client configuration.
 - For more information, refer to the Sensu documentation: https://sensuapp.org/docs/latest/reference/clients.html
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
|   address    string    |    An address to help identify and reach the client. This is only informational, usually an IP address or hostname.  If not specified it defaults to non-loopback IPv4 address as determined by Ruby Socket.ip_address_list (provided by Sensu).   |  |
|   chef    dictionary    |    The chef definition scope, used to configure the Sensu Enterprise Chef integration (Sensu Enterprise users only).   |  |
|   deregister    boolean    |   
  |    If a deregistration event should be created upon Sensu client process stop.  Default is   false. |  
|   deregistration    dictionary    |    The deregistration definition scope, used to configure automated Sensu client de-registration.   |  |
|   ec2    dictionary    |    The ec2 definition scope, used to configure the Sensu Enterprise AWS EC2 integration (Sensu Enterprise users only).   |  |
|   keepalive    dictionary    |    The keepalive definition scope, used to configure Sensu client keepalives behavior (e.g. keepalive thresholds, etc).   |  |
|   keepalives    boolean    |   
  |    If Sensu should monitor keepalives for this client.   |  
|   name    string    |    A unique name for the client. The name cannot contain special characters or spaces.  If not specified, it defaults to the system hostname as determined by Ruby Socket.gethostname (provided by Sensu).   |  |
|   puppet    dictionary    |    The puppet definition scope, used to configure the Sensu Enterprise Puppet integration (Sensu Enterprise users only).   |  |
|   redact    list / elements=string    |    Client definition attributes to redact (values) when logging and sending client keepalives.   |  |
|   registration    dictionary    |    The registration definition scope, used to configure Sensu registration event handlers.   |  |
|   safe_mode    boolean    |   
  |    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    dictionary    |    The servicenow definition scope, used to configure the Sensu Enterprise ServiceNow integration (Sensu Enterprise users only).   |  |
|   socket    dictionary    |    The socket definition scope, used to configure the Sensu client socket.   |  |
|   state    string    |   
  |    Whether the client should be present or not   |  
|   subscriptions    list / elements=string    |    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.   |  
Notes
Note
- Check mode is supported
 
Examples
# Minimum possible configuration
- name: Configure Sensu client
  community.general.sensu_client:
    subscriptions:
      - default
# With customization
- name: Configure Sensu client
  community.general.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
  ansible.builtin.file:
    path: "{{ client['file'] }}"
    owner: "sensu"
    group: "sensu"
    mode: "0600"
- name: Delete the Sensu client configuration
  community.general.sensu_client:
    state: "absent"
   Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
|   config    dictionary    |  success |   Effective client configuration, when state is present  Sample:  {'name': 'client', 'subscriptions': ['default']}   |  
|   file    string    |  success |   Path to the client configuration file  Sample:  /etc/sensu/conf.d/client.json   |  
Authors
- David Moreau Simard (@dmsimard)
 
    © 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.11/collections/community/general/sensu_client_module.html