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

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

Network Automation

  • Network Getting Started
  • Network Advanced Topics
  • Network Developer Guide

Ansible Galaxy

  • Galaxy User Guide
  • Galaxy Developer Guide

Reference & Appendices

  • Collection Index
  • Indexes of all modules and plugins
  • 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
  • Ansible Automation Hub
  • Logging Ansible output

Roadmaps

  • Ansible Roadmap




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


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.6).

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

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

  • Synopsis

  • Parameters

  • Examples

Synopsis¶

  • The nagios module has two basic functions: scheduling downtime and toggling alerts for services or hosts.

  • The nagios module 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
    Choices:
  • downtime
  • delete_downtime
  • enable_alerts
  • disable_alerts
  • silence
  • unsilence
  • silence_nagios
  • unsilence_nagios
  • command
  • servicegroup_service_downtime
  • servicegroup_host_downtime
  • acknowledge
  • forced_check
Action to take.
servicegroup options were added in 2.0.
delete_downtime options were added in 2.2.
The acknowledge and forced_check actions were added in community.general 1.2.0.
author
string
Default:
"Ansible"
Author to leave downtime comments as. Only usable with the downtime and acknowledge action.
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 command action.
comment
string
Default:
"Scheduling downtime"
Comment for downtime and acknowledgeaction.
host
string
Host to operate on in Nagios.
minutes
integer
Default:
30
Minutes to schedule downtime for.
Only usable with the downtime action.
servicegroup
string
The Servicegroup we want to set downtimes/alerts for. Required option when using the servicegroup_service_downtime amd servicegroup_host_downtime.
services
string
What to manage downtime/alerts for. Separate multiple services with commas. service is an alias for services. Required option when using the downtime, acknowledge, forced_check, enable_alerts, and disable_alerts actions.

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)


© Copyright 2021 Red Hat, Inc. Last updated on Apr 26, 2021.