community.general.nagios – Perform common tasks in Nagios related to downtime and notifications.
Note
This plugin is part of the community.general collection (version 1.3.2).
To install it use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.nagios
.
Synopsis
- The
nagios
module has two basic functions: scheduling downtime and toggling alerts for services or hosts. - All actions require the host parameter to be given explicitly. In playbooks you can use the
Template: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
. - When using the
nagios
module you will need to specify your Nagios server using thedelegate_to
parameter.
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 |
author string |
Default: "Ansible" |
Author to leave downtime comments as. Only usable with the |
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 | |
comment string |
Default: "Scheduling downtime" |
Comment for |
host string |
Host to operate on in Nagios. | |
minutes integer |
Default: 30 |
Minutes to schedule downtime for. Only usable with the |
servicegroup string |
The Servicegroup we want to set downtimes/alerts for. Required option when using the | |
services string |
What to manage downtime/alerts for. Separate multiple services with commas.
| |
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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/nagios_module.html