• AnsibleFest
  • Products
  • Community
  • Webinars & Training
  • Blog
Ansible Logo
Documentation
Ansible
2.9

Installation, Upgrade & Configuration

  • Installation Guide
  • Ansible Porting Guides

Using Ansible

  • User Guide

Contributing to Ansible

  • Ansible Community Guide

Extending Ansible

  • Developer Guide

Common Ansible Scenarios

  • Public Cloud Guides
  • Network Technology Guides
  • Virtualization and Containerization Guides

Ansible for Network Automation

  • Ansible for Network Automation

Ansible Galaxy

  • Galaxy User Guide
  • Galaxy Developer Guide

Reference & Appendices

  • Module Index
  • Playbook Keywords
  • Return Values
  • Ansible Configuration Settings
  • Controlling how Ansible behaves: precedence rules
  • YAML Syntax
  • Python 3 Support
  • Interpreter Discovery
  • Release and maintenance
  • Testing Strategies
  • Sanity Tests
  • Frequently Asked Questions
  • Glossary
  • Ansible Reference: Module Utilities
  • Special Variables
  • Red Hat Ansible Tower
  • Logging Ansible output

Roadmaps

  • Ansible Roadmap




Ansible
  • Docs »
  • nagios – Perform common tasks in Nagios related to downtime and notifications


For community users, you are reading an unmaintained version of the Ansible documentation. Unmaintained Ansible versions can contain unfixed security vulnerabilities (CVE). Please upgrade to a maintained version. See the latest Ansible community documentation . For Red Hat customers, see the Red Hat AAP platform lifecycle.

nagios – Perform common tasks in Nagios related to downtime and notifications¶

  • Synopsis

  • Parameters

  • Examples

  • Status

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.

Parameters¶

Parameter Choices/Defaults Comments
action
- / required
    Choices:
  • 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
-
Default:
"Ansible"
Author to leave downtime comments as. Only usable with the downtime action.
cmdfile
-
Default:
"auto-detected"
Path to the nagios command file (FIFO pipe). Only required if auto-detection fails.
command
- / required
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
-
Default:
"Scheduling downtime"
Comment for downtime action.
host
-
Host to operate on in Nagios.
minutes
integer
Default:
30
Minutes to schedule downtime for.
Only usable with the downtime action.
servicegroup
-
The Servicegroup we want to set downtimes/alerts for. Required option when using the servicegroup_service_downtime amd servicegroup_host_downtime.
services
- / required
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: Rebuilding machine

# 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

Status¶

  • This module is not guaranteed to have a backwards compatible interface. [preview]

  • This module is maintained by the Ansible Community. [community]

Authors¶

  • Tim Bielawa (@tbielawa)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.


© Copyright 2019 Red Hat, Inc. Last updated on May 27, 2022.

OSZAR »