community.general.sensu_client – Manages Sensu client configuration
Note
This plugin is part of the community.general collection (version 3.8.3).
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_client
.
Synopsis
Manages Sensu client configuration.
For more information, refer to the Sensu documentation: https://sensuapp.org/docs/latest/reference/clients.html
Parameters
Parameter |
Comments |
---|---|
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). |
|
The chef definition scope, used to configure the Sensu Enterprise Chef integration (Sensu Enterprise users only). |
|
If a deregistration event should be created upon Sensu client process stop. Default is Choices:
|
|
The deregistration definition scope, used to configure automated Sensu client de-registration. |
|
The ec2 definition scope, used to configure the Sensu Enterprise AWS EC2 integration (Sensu Enterprise users only). |
|
The keepalive definition scope, used to configure Sensu client keepalives behavior (e.g. keepalive thresholds, etc). |
|
If Sensu should monitor keepalives for this client. Choices:
|
|
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). |
|
The puppet definition scope, used to configure the Sensu Enterprise Puppet integration (Sensu Enterprise users only). |
|
Client definition attributes to redact (values) when logging and sending client keepalives. |
|
The registration definition scope, used to configure Sensu registration event handlers. |
|
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. Choices:
|
|
The servicenow definition scope, used to configure the Sensu Enterprise ServiceNow integration (Sensu Enterprise users only). |
|
The socket definition scope, used to configure the Sensu client socket. |
|
Whether the client should be present or not Choices:
|
|
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
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 |
Description |
---|---|
Effective client configuration, when state is present Returned: success Sample: {“name”: “client”, “subscriptions”: [“default”]} |
|
Path to the client configuration file Returned: success Sample: “/etc/sensu/conf.d/client.json” |
Authors
David Moreau Simard (@dmsimard)