community.general.nagios – Perform common tasks in Nagios related to downtime and notifications.
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.nagios.
Synopsis
- The nagiosmodule has two basic functions: scheduling downtime and toggling alerts for services or hosts.
- The nagiosmodule is not idempotent.
- All actions require the host parameter to be given explicitly. In playbooks you can use the {{inventory_hostname}}variable to refer to the host the playbook is currently running on.
- You can specify multiple services at once by separating them with commas, .e.g., services=httpd,nfs,puppet.
- When specifying what service to handle there is a special service value, host, which will handle alerts/downtime/acknowledge for the host itself, e.g., service=host. This keyword may not be given with other services at the same time. Setting alerts/downtime/acknowledge for a host does not affect alerts/downtime/acknowledge for any of the services running on it. To schedule downtime for all services on particular host use keyword “all”, e.g.,service=all.
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| action  string / required  | 
 | Action to take. servicegroup options were added in 2.0. delete_downtime options were added in 2.2. The  acknowledgeandforced_checkactions were added in community.general 1.2.0. | 
| author  string  | Default: "Ansible" | Author to leave downtime comments as. Only usable with the  downtimeandacknowledgeaction. | 
| cmdfile  string  | Path to the nagios command file (FIFO pipe). Only required if auto-detection fails. | |
| command  string  | The raw command to send to nagios, which should not include the submitted time header or the line-feed Required option when using the  commandaction. | |
| comment  string  | Default: "Scheduling downtime" | Comment for  downtimeandacknowledgeaction. | 
| host  string  | Host to operate on in Nagios. | |
| minutes  integer  | Default: 30 | Minutes to schedule downtime for. Only usable with the  downtimeaction. | 
| servicegroup  string  | The Servicegroup we want to set downtimes/alerts for. Required option when using the  servicegroup_service_downtimeamdservicegroup_host_downtime. | |
| services  string  | What to manage downtime/alerts for. Separate multiple services with commas.  serviceis an alias forservices. Required option when using thedowntime,acknowledge,forced_check,enable_alerts, anddisable_alertsactions.aliases: service | |
| start  string   added in 0.2.0 of community.general  | When downtime should start, in time_t format (epoch seconds). | 
Examples
- name: Set 30 minutes of apache downtime
  community.general.nagios:
    action: downtime
    minutes: 30
    service: httpd
    host: '{{ inventory_hostname }}'
- name: Schedule an hour of HOST downtime
  community.general.nagios:
    action: downtime
    minutes: 60
    service: host
    host: '{{ inventory_hostname }}'
- name: Schedule an hour of HOST downtime starting at 2019-04-23T02:00:00+00:00
  community.general.nagios:
    action: downtime
    start: 1555984800
    minutes: 60
    service: host
    host: '{{ inventory_hostname }}'
- name: Schedule an hour of HOST downtime, with a comment describing the reason
  community.general.nagios:
    action: downtime
    minutes: 60
    service: host
    host: '{{ inventory_hostname }}'
    comment: Rebuilding machine
- name: Schedule downtime for ALL services on HOST
  community.general.nagios:
    action: downtime
    minutes: 45
    service: all
    host: '{{ inventory_hostname }}'
- name: Schedule downtime for a few services
  community.general.nagios:
    action: downtime
    services: frob,foobar,qeuz
    host: '{{ inventory_hostname }}'
- name: Set 30 minutes downtime for all services in servicegroup foo
  community.general.nagios:
    action: servicegroup_service_downtime
    minutes: 30
    servicegroup: foo
    host: '{{ inventory_hostname }}'
- name: Set 30 minutes downtime for all host in servicegroup foo
  community.general.nagios:
    action: servicegroup_host_downtime
    minutes: 30
    servicegroup: foo
    host: '{{ inventory_hostname }}'
- name: Delete all downtime for a given host
  community.general.nagios:
    action: delete_downtime
    host: '{{ inventory_hostname }}'
    service: all
- name: Delete all downtime for HOST with a particular comment
  community.general.nagios:
    action: delete_downtime
    host: '{{ inventory_hostname }}'
    service: host
    comment: Planned maintenance
- name: Acknowledge an HOST with a particular comment
  community.general.nagios:
    action: acknowledge
    service: host
    host: '{{ inventory_hostname }}'
    comment: 'power outage - see casenr 12345'
- name: Acknowledge an active service problem for the httpd service with a particular comment
  community.general.nagios:
    action: acknowledge
    service: httpd
    host: '{{ inventory_hostname }}'
    comment: 'service crashed - see casenr 12345'
- name: Reset a passive service check for snmp trap
  community.general.nagios:
    action: forced_check
    service: snmp
    host: '{{ inventory_hostname }}'
- name: Force an active service check for the httpd service
  community.general.nagios:
    action: forced_check
    service: httpd
    host: '{{ inventory_hostname }}'
- name: Force an active service check for all services of a particular host
  community.general.nagios:
    action: forced_check
    service: all
    host: '{{ inventory_hostname }}'
- name: Force an active service check for a particular host
  community.general.nagios:
    action: forced_check
    service: host
    host: '{{ inventory_hostname }}'
- name: Enable SMART disk alerts
  community.general.nagios:
    action: enable_alerts
    service: smart
    host: '{{ inventory_hostname }}'
- name: Disable httpd and nfs alerts
  community.general.nagios:
    action: disable_alerts
    service: httpd,nfs
    host: '{{ inventory_hostname }}'
- name: Disable HOST alerts
  community.general.nagios:
    action: disable_alerts
    service: host
    host: '{{ inventory_hostname }}'
- name: Silence ALL alerts
  community.general.nagios:
    action: silence
    host: '{{ inventory_hostname }}'
- name: Unsilence all alerts
  community.general.nagios:
    action: unsilence
    host: '{{ inventory_hostname }}'
- name: Shut up nagios
  community.general.nagios:
    action: silence_nagios
- name: Annoy me negios
  community.general.nagios:
    action: unsilence_nagios
- name: Command something
  community.general.nagios:
    action: command
    command: DISABLE_FAILURE_PREDICTION
  Authors
- Tim Bielawa (@tbielawa)
    © 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/nagios_module.html