sensu / sensu.sensu_go / 1.14.0 / module / check Manage Sensu checks | "added in version" 1.0.0 of sensu.sensu_go" Authors: Paul Arthur (@flowerysong), Aljaz Kosir (@aljazkosir), Miha Plesko (@miha-plesko), Tadej Borovsak (@tadeboro) stableinterface | supported by certifiedsensu.sensu_go.check (1.14.0) — module
Install with ansible-galaxy collection install sensu.sensu_go:==1.14.0
collections: - name: sensu.sensu_go version: 1.14.0
Create, update or delete Sensu Go check.
For more information, refer to the Sensu Go documentation at U(https://docs.sensu.io/sensu-go/latest/reference/checks/).
- name: Check executing command every 30 seconds sensu.sensu_go.check: name: check command: check-cpu.sh -w 75 -c 90 subscriptions: - checks interval: 30 publish: yes
- name: Check executing command with cron scheduler sensu.sensu_go.check: name: check command: check-cpu.sh -w 75 -c 90 subscriptions: - systems handlers: - slack cron: "* * * * *" publish: yes
- name: Ad-hoc scheduling sensu.sensu_go.check: name: check command: check-cpu.sh -w 75 -c 90 subscriptions: - systems handlers: - slack interval: 60 publish: no
- name: Report events under proxy entity name instead of agent entity sensu.sensu_go.check: name: check command: http_check.sh https://sensu.io subscriptions: - proxy handlers: - slack interval: 60 proxy_entity_name: sensu-site round_robin: yes publish: yes
- name: Event that triggers hooks sensu.sensu_go.check: name: check command: http_check.sh https://sensu.io subscriptions: [ proxy ] # The upstream JSON payload for the hooks below would look like this: # # "check_hooks": [ # {"0": ["passing-hook", "always-run-this-hook"]}, # {"critical": ["failing-hook", "always-run-this-hook"]} # ] # # Ansible task simplifies this structure into a simple mapping: check_hooks: "0": - passing-hook - always-run-this-hook critical: - failing-hook - always-run-this-hook
- name: Remove check sensu.sensu_go.check: name: my-check state: absent
ttl: description: - Amount of time after which a check result is considered stale. type: int auth: description: - Authentication parameters. Can define each of them with ENV as well. suboptions: api_key: description: - The API key that should be used when authenticating. If this is not set, the value of the SENSU_API_KEY environment variable will be checked. - This replaces I(auth.user) and I(auth.password) parameters. - For more information about the API key, refer to the official Sensu documentation at U(https://docs.sensu.io/sensu-go/latest/guides/use-apikey-feature/). type: str version_added: 1.3.0 version_added_collection: sensu.sensu_go ca_path: description: - Path to the CA bundle that should be used to validate the backend certificate. - If this parameter is not set, module will use the CA bundle that python is using. - It is also possible to set this parameter via the I(SENSU_CA_PATH) environment variable. type: path version_added: 1.5.0 version_added_collection: sensu.sensu_go password: default: P@ssw0rd! description: - The Sensu user's password. If this is not set the value of the SENSU_PASSWORD environment variable will be checked. - This parameter is ignored if the I(auth.api_key) parameter is set. type: str url: default: http://localhost:8080 description: - Location of the Sensu backend API. If this is not set the value of the SENSU_URL environment variable will be checked. type: str user: default: admin description: - The username to use for connecting to the Sensu API. If this is not set the value of the SENSU_USER environment variable will be checked. - This parameter is ignored if the I(auth.api_key) parameter is set. type: str verify: default: true description: - Flag that controls the certificate validation. - If you are using self-signed certificates, you can set this parameter to C(false). - ONLY USE THIS PARAMETER IN DEVELOPMENT SCENARIOS! In you use self-signed certificates in production, see the I(auth.ca_path) parameter. - It is also possible to set this parameter via the I(SENSU_VERIFY) environment variable. type: bool version_added: 1.5.0 version_added_collection: sensu.sensu_go type: dict cron: description: - Schedule check requests using crontab syntax. - Cannot be used when I(interval) option is used. type: str name: description: - The Sensu resource's name. This name (in combination with the namespace where applicable) uniquely identifies the resource that Ansible operates on. - If the resource with selected name already exists, Ansible module will update it to match the specification in the task. - Consult the I(name) metadata attribute specification in the upstream docs on U(https://docs.sensu.io/sensu-go/latest/reference/) for more details about valid names and other restrictions. required: true type: str state: choices: - present - absent default: present description: - Target state of the Sensu object. type: str stdin: description: - Enables writing of serialized JSON data to the check command's stdin. - Only usable with checks written specifically for Sensu Go. type: bool labels: default: {} description: - Custom metadata fields that can be accessed within Sensu, as key/value pairs. type: dict command: description: - Check command to run. - Required if I(state) is C(present). type: str publish: description: - Enables or disables scheduled publication of check requests. type: bool secrets: description: - List of secrets that are available to the command. elements: dict suboptions: name: description: - Variable name that will contain the sensitive data. required: true type: str version_added: 1.6.0 version_added_collection: sensu.sensu_go secret: description: - Name of the secret that contains sensitive data. required: true type: str version_added: 1.6.0 version_added_collection: sensu.sensu_go type: list version_added: 1.6.0 version_added_collection: sensu.sensu_go timeout: description: - Check execution timeout. type: int env_vars: description: - A mapping of environment variable names and values to use with command execution. type: dict handlers: description: - List of handlers which receive check results. elements: str type: list interval: description: - Check request interval. - Cannot be used when I(cron) option is used. type: int namespace: default: default description: - RBAC namespace to operate in. If this is not set the value of the SENSU_NAMESPACE environment variable will be used. type: str annotations: default: {} description: - Custom metadata fields with fewer restrictions, as key/value pairs. - These are preserved by Sensu but not accessible as tokens or identifiers, and are mainly intended for use with external tools. type: dict check_hooks: description: - A mapping of response codes to hooks which will be run by the agent when that code is returned. - Note that the structure of this parameter is a bit different from the one described at U(https://docs.sensu.io/sensu-go/latest/reference/checks/#check-hooks-attribute). - See check hooks example below for more information on exact mapping structure. type: dict round_robin: description: - An array of environment variables to use with command execution. type: bool subscriptions: description: - List of subscriptions which receive check requests. - Required if I(state) is C(present). elements: str type: list proxy_requests: description: - Allows you to assign the check to run for multiple entities according to their entity_attributes. suboptions: entity_attributes: description: - List of attribute checks for determining which proxy entities this check should be scheduled against. elements: str type: list splay: description: - Enables or disables splaying of check request scheduling. type: bool splay_coverage: description: - Percentage of the C(interval) over which to splay checks. type: int type: dict runtime_assets: description: - List of runtime assets required to run the check. elements: str type: list proxy_entity_name: description: - Entity name to associate this check with instead of the agent it ran on. type: str low_flap_threshold: description: - Low flap threshold. type: int high_flap_threshold: description: - High flap threshold. type: int output_metric_format: choices: - graphite_plaintext - influxdb_line - nagios_perfdata - opentsdb_line description: - Enable parsing of metrics in the specified format from this check's output. type: str output_metric_handlers: description: - List of handlers which receive check results. I'm not sure why this exists. elements: str type: list
object: description: Object representing Sensu check. returned: success sample: command: collect.sh handlers: - slack interval: 10 metadata: name: check_minimum namespace: default publish: true subscriptions: - system type: dict