community.general.sensu_silence – Manage Sensu silence entries

Note

This plugin is part of the community.general collection (version 3.6.0).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.sensu_silence.

Synopsis

  • Create and clear (delete) a silence entries via the Sensu API for subscriptions and checks.

Parameters

Parameter Choices/Defaults Comments
check
string
Specifies the check which the silence entry applies to.
creator
string
Specifies the entity responsible for this entry.
expire
integer
If specified, the silence entry will be automatically cleared after this number of seconds.
expire_on_resolve
boolean
    Choices:
  • no
  • yes
If specified as true, the silence entry will be automatically cleared once the condition it is silencing is resolved.
reason
string
If specified, this free-form string is used to provide context or rationale for the reason this silence entry was created.
state
string
    Choices:
  • present ←
  • absent
Specifies to create or clear (delete) a silence entry via the Sensu API
subscription
string / required
Specifies the subscription which the silence entry applies to.
To create a silence entry for a client prepend client: to client name. Example - client:server1.example.dev
url
string
Default:
"http://127.0.01:4567"
Specifies the URL of the Sensu monitoring host server.

Examples

# Silence ALL checks for a given client
- name: Silence server1.example.dev
  community.general.sensu_silence:
    subscription: client:server1.example.dev
    creator: "{{ ansible_user_id }}"
    reason: Performing maintenance

# Silence specific check for a client
- name: Silence CPU_Usage check for server1.example.dev
  community.general.sensu_silence:
    subscription: client:server1.example.dev
    check: CPU_Usage
    creator: "{{ ansible_user_id }}"
    reason: Investigation alert issue

# Silence multiple clients from a dict
  silence:
    server1.example.dev:
      reason: 'Deployment in progress'
    server2.example.dev:
      reason: 'Deployment in progress'

- name: Silence several clients from a dict
  community.general.sensu_silence:
    subscription: "client:{{ item.key }}"
    reason: "{{ item.value.reason }}"
    creator: "{{ ansible_user_id }}"
  with_dict: "{{ silence }}"

Authors

  • Steven Bambling (@smbambling)