W3cubDocs

/Ansible

nagios - Perform common tasks in Nagios related to downtime and notifications.

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 {{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 for the host itself, e.g., service=host. This keyword may not be given with other services at the same time. Setting alerts/downtime for a host does not affect alerts/downtime 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 the delegate_to parameter.

Options

parameter required default choices comments
action
yes
  • downtime
  • delete_downtime
  • enable_alerts
  • disable_alerts
  • silence
  • unsilence
  • silence_nagios
  • unsilence_nagios
  • command
  • servicegroup_service_downtime
  • servicegroup_host_downtime
Action to take.
servicegroup options were added in 2.0.
delete_downtime options were added in 2.2.
author
no Ansible
Author to leave downtime comments as. Only usable with the downtime action.
cmdfile
no auto-detected
Path to the nagios command file (FIFO pipe). Only required if auto-detection fails.
command
yes
The raw command to send to nagios, which should not include the submitted time header or the line-feed Required option when using the command action.
comment
(added in 2.0)
no Scheduling downtime
Comment for downtime action.
host
no
Host to operate on in Nagios.
minutes
no 30
Minutes to schedule downtime for.
Only usable with the downtime action.
servicegroup
(added in 2.0)
no
The Servicegroup we want to set downtimes/alerts for. Required option when using the servicegroup_service_downtime amd servicegroup_host_downtime.
services
yes
What to manage downtime/alerts for. Separate multiple services with commas. service is an alias for services. Required option when using the downtime, enable_alerts, and disable_alerts actions.
aliases: service

Examples

# set 30 minutes of apache downtime
- nagios: action=downtime minutes=30 service=httpd host={{ inventory_hostname }}

# schedule an hour of HOST downtime
- nagios: action=downtime minutes=60 service=host host={{ inventory_hostname }}

# schedule an hour of HOST downtime, with a comment describing the reason
- nagios: action=downtime minutes=60 service=host host={{ inventory_hostname }}
          comment='This host needs disciplined'

# schedule downtime for ALL services on HOST
- nagios: action=downtime minutes=45 service=all host={{ inventory_hostname }}

# schedule downtime for a few services
- nagios: action=downtime services=frob,foobar,qeuz host={{ inventory_hostname }}

# set 30 minutes downtime for all services in servicegroup foo
- nagios: action=servicegroup_service_downtime minutes=30 servicegroup=foo host={{ inventory_hostname }}

# set 30 minutes downtime for all host in servicegroup foo
- nagios: action=servicegroup_host_downtime minutes=30 servicegroup=foo host={{ inventory_hostname }}

# delete all downtime for a given host
- nagios: action=delete_downtime host={{ inventory_hostname }} service=all

# delete all downtime for HOST with a particular comment
- nagios: action=delete_downtime host={{ inventory_hostname }} service=host comment="Planned maintenance"

# enable SMART disk alerts
- nagios: action=enable_alerts service=smart host={{ inventory_hostname }}

# "two services at once: disable httpd and nfs alerts"
- nagios: action=disable_alerts service=httpd,nfs host={{ inventory_hostname }}

# disable HOST alerts
- nagios: action=disable_alerts service=host host={{ inventory_hostname }}

# silence ALL alerts
- nagios: action=silence host={{ inventory_hostname }}

# unsilence all alerts
- nagios: action=unsilence host={{ inventory_hostname }}

# SHUT UP NAGIOS
- nagios: action=silence_nagios

# ANNOY ME NAGIOS
- nagios: action=unsilence_nagios

# command something
- nagios: action=command command='DISABLE_FAILURE_PREDICTION'

This is an Extras Module

For more information on what this means please read Extras Modules

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, developing_test_pr and Developing Modules.

© 2012–2016 Michael DeHaan
© 2016 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/nagios_module.html