PacktLib: Nagios Core Administration Cookbook

Nagios Core Administration Cookbook


About the Author

About the Reviewers


Understanding Hosts, Services, and Contacts


Creating a new network host

Creating a new HTTP service

Creating a new e-mail contact

Verifying configuration

Creating a new hostgroup

Creating a new servicegroup

Creating a new contactgroup

Creating a new time period

Running a service on all hosts in a group

Working with Commands and Plugins


Finding a plugin

Installing a plugin

Removing a plugin

Creating a new command

Customizing an existing command

Using an alternative check command for hosts

Writing a new plugin from scratch

Working with Checks and States


Specifying how frequently to check a host or service

Changing thresholds for PING RTT and packet loss

Changing thresholds for disk usage

Scheduling downtime for a host or service

Managing brief outages with flapping

Adjusting flapping percentage thresholds for a service

Configuring Notifications


Configuring notification periods

Configuring notification for groups

Specifying which states to be notified about

Tolerating a certain number of failed checks

Automating contact rotation

Defining an escalation for repeated notifications

Defining a custom notification method

Monitoring Methods


Monitoring PING for any host

Monitoring SSH for any host

Checking an alternative SSH port

Monitoring mail services

Monitoring web services

Checking that a website returns a given string

Monitoring database services

Monitoring the output of an SNMP query

Monitoring a RAID or other hardware device

Creating an SNMP OID to monitor

Enabling Remote Execution


Monitoring local services on a remote machine with NRPE

Setting the listening address for NRPE

Setting allowed client hosts for NRPE

Creating new NRPE command definitions securely

Giving limited sudo privileges to NRPE

Using check_by_ssh with key authentication instead of NRPE

Using the Web Interface


Using the Tactical Overview

Viewing and interpreting availability reports

Viewing and interpreting trends

Viewing and interpreting notification history

Adding comments on hosts or services in the web interface

Viewing configuration in the web interface

Scheduling checks from the web interface

Acknowledging a problem via the web interface

Managing Network Layout


Creating a network host hierarchy

Using the network map

Choosing icons for hosts

Establishing a host dependency

Establishing a service dependency

Monitoring individual nodes in a cluster

Using the network map as an overlay

Managing Configuration


Grouping configuration files in directories

Keeping configuration under version control

Configuring host roles using groups

Building groups using regular expressions

Using inheritance to simplify configuration

Defining macros in a resource file

Dynamically building host definitions

Security and Performance


Requiring authentication for the web interface

Using authenticated contacts

Writing debugging information to a Nagios log file

Monitoring Nagios performance with Nagiostats

Improving startup times with pre-cached object files

Setting up a redundant monitoring host

Automating and Extending Nagios Core


Allowing and submitting passive checks

Submitting passive checks from a remote host with NSCA

Submitting passive checks in response to SNMP traps

Setting up an event handler script

Tracking host and service states with Nagiosgraph

Reading status into a MySQL database with NDOUtils

Writing customized Nagios Core reports

Getting extra visualizations with NagVis