You are previewing Nagios, 2nd Edition.
O'Reilly logo
Nagios, 2nd Edition

Book Description

Good system administrators recognize problems long before anyone asks, "Hey, is the Internet down?" Nagios, an open source system and network monitoring tool, has emerged as the most popular solution for sys admins in organizations of all sizes. It's robust but also complex, and Nagios: System and Network Monitoring, 2nd Edition, updated to address Nagios 3.0, will help you take full advantage of this program.

Nagios, which runs on Linux and most *nix variants, can be configured to continuously monitor network services such as SMTP, POP3, HTTP, NNTP, SSH, and FTP. It can also supervise host resources (processor load, disk and memory usage, running processes, log files, and so on) and environmental factors, such as temperature and humidity. This book is your guide to getting the most out of this versatile and powerful monitoring tool.

Inside Nagios, you'll learn how to:

  • Install and configure the Nagios core, all standard plugins, and selected third-party plugins

  • Configure the notification system to alert you of ongoing problems-and to alarm others in case of a serious crisis

  • Program event handlers to take automatic action when trouble occurs

  • Write Perl plugins to customize Nagios for your unique needs

  • Quickly understand your Nagios data using graphing and visualization tools

  • Monitor Windows servers, SAP systems, and Oracle databases

The book also includes a chapter that highlights the differences between Nagios versions 2 and 3 and gives practical migration and compatibility tips. Nagios: System and Network Monitoring, 2nd Edition is a great starting point for configuring and using Nagios in your own environment.

Table of Contents

  1. Nagios: System and Network Monitoring, 2nd Edition
    1. Foreword to the second edition
      1. What's New in the Second Edition?
      2. Information Sources on the Internet
    2. Introduction
      1. The tests
      2. The suppliers of information
      3. Keeping admins up-to-date
      4. Taking in information from outside
      5. Other tools for network monitoring
      6. About This Book
      7. Further notes on the book
      8. Note of Thanks
    3. I. From Source Code to a Running Installation
      1. 1. Installation
        1. 1.1 Preparations
          1. 1.1.1 Determining and setting up the required users
        2. 1.2 Compiling Source Code
        3. 1.3 Starting Nagios Automatically
        4. 1.4 Installing and Testing Plugins
          1. 1.4.1 Installation
          2. 1.4.2 Plugin test
        5. 1.5 Configuration of the Web Interface
          1. 1.5.1 Setting up Apache
          2. 1.5.2 SELinux
          3. 1.5.3 User authentication
      2. 2. Nagios Configuration
        1. 2.1 The Main Configuration File nagios.cfg
          1. Simple structure
            1. Simple structure
            2. A larger location
            3. Large installations with several different locations
            4. Setting the European date format
        2. 2.2 Objects—an Overview
          1. Notes on the object examples below
            1. Notes on the object examples below
        3. 2.3 Defining the Machines to Be Monitored, with host
        4. 2.4 Grouping Computers Together with hostgroup
        5. 2.5 Defining Services to Be Monitored with service
        6. 2.6 Grouping Services Together with servicegroup
        7. 2.7 Defining Addressees for Error Messages: contact
        8. 2.8 The Message Recipient: contactgroup
        9. 2.9 When Nagios Needs to Do Something: The command Object
        10. 2.10 Defining a Time Period with timeperiod
        11. 2.11 Templates
        12. 2.12 Configuration Aids for Those Too Lazy to Type
          1. 2.12.1 Defining services for several computers
          2. 2.12.2 One host group for all computers
          3. 2.12.3 Other configuration aids
        13. 2.13 CGI Configuration in cgi.cfg
        14. 2.14 The Resources File resource.cfg
      3. 3. Startup
        1. 3.1 Checking the Configuration
        2. 3.2 Getting Monitoring Started
          1. 3.2.1 Manual start
          2. 3.2.2 Making configuration changes come into effect
        3. 3.3 Overview of the Web Interface
    4. II. In More Detail...
      1. 4. Nagios Basics
        1. 4.1 Taking into Account the Network Topology
        2. 4.2 On-Demand Host Checks vs. Periodic Reachability Tests
        3. 4.3 States of Hosts and Services
      2. 5. Service Checks and How They Are Performed
        1. 5.1 Testing Network Services Directly
        2. 5.2 Running Plugins via Secure Shell on the Remote Computer
        3. 5.3 The Nagios Remote Plugin Executor
        4. 5.4 Monitoring via SNMP
        5. 5.5 The Nagios Service Check Acceptor
      3. 6. Plugins for Network Services
        1. 6.1 Standard Options
        2. 6.2 Reachability Test with Ping
          1. 6.2.1 check_icmp as a Service Check
          2. 6.2.2 check_icmp as a Host Check
        3. 6.3 Monitoring Mail Servers
          1. 6.3.1 Monitoring SMTP with check_smtp
          2. 6.3.2 POP and IMAP
        4. 6.4 Monitoring FTP and Web Servers
          1. 6.4.1 FTP services
          2. 6.4.2 Web server control via HTTP
          3. 6.4.3 Monitoring Web proxies
            1. Proxy test with check_http
            2. Proxy test with check_squid
        5. 6.5 Domain Name Server Under Control
        6. 6.5.1 DNS check with nslookup
        7. 6.5.2 Monitoring the name server with dig
        8. 6.6 Querying the Secure Shell Server
        9. 6.7 Generic Network Plugins
          1. 6.7.1 Testing TCP ports
        10. 6.7.2 Monitoring UDP ports
        11. 6.8 Monitoring Databases
          1. 6.8.1 PostgreSQL
            1. Configuring a monitor-friendly DBMS
            2. The test plugin check_pgsql
          2. 6.8.2 MySQL
            1. MySQL configuration
            2. The test plugin check_mysql
        12. 6.9 Monitoring LDAP Directory Services
        13. 6.10 Checking a DHCP Server
          1. Granting the plugin root permissions
            1. Granting the plugin root permissions
            2. Applying the plugin
        14. 6.11 Monitoring UPS with the Network UPS Tools
          1. The Network UPS Tools
            1. The Network UPS Tools
            2. The check_ups plugin
        15. 6.12 Health Check of an NTP Server with check_ntp_peer
      4. 7. Testing Local Resources
        1. 7.1 Free Hard Drive Capacity
        2. 7.2 Utilization of the Swap Space
        3. 7.3 Testing the System Load
        4. 7.4 Monitoring Processes
        5. 7.5 Checking Log Files
          1. 7.5.1 The standard plugin check.log
          2. 7.5.2 The modern variation: check_logs.pl
          3. 7.5.3 The Swiss Army knife: check_logfiles
            1. Configuration Files
        6. 7.6 Keeping Tabs on the Number of Logged-In Users
        7. 7.7 Checking the System Time
          1. 7.7.1 Checking the system time via NTP
          2. 7.7.2 Checking system time with the time protocol
        8. 7.8 Regularly Checking the Status of the Mail Queue
        9. 7.9 Keeping an Eye on the Modification Date of a File
        10. 7.10 Monitoring UPSs with apcupsd
        11. 7.11 Nagios Monitors Itself
          1. 7.11.1 Running the plugin manually with a script
        12. 7.12 Hardware Checks with LM Sensors
      5. 8. Plugins for Special Tasks
        1. 8.1 The Dummy Plugin for Tests
        2. 8.2 Negating Plugin Results
        3. 8.3 Inserting Hyperlinks with urlize
        4. 8.4 Checking Host or Service Clusters as an Entity
        5. 8.5 Summarizing Checks with check_multi
          1. 8.5.1 Multiple-line plugin output
          2. 8.5.2 Installation requirements
            1. Adjusting buffer sizes for NRPE
            2. Adjusting buffer sizes for check_by_ssh
          3. 8.5.3 Installation and testing
          4. 8.5.4 Configuration file
          5. 8.5.5 Command-line parameters
          6. 8.5.6 Performance data and PNP
          7. 8.5.7 Simple business process monitoring
      6. 9. Executing Plugins via SSH
        1. 9.1 The check_by_ssh Plugin
        2. 9.2 Configuring SSH
          1. 9.2.1 Generating SSH key pairs on the Nagios server
          2. 9.2.2 Setting up the user nagios on the target host
          3. 9.2.3 Checking the SSH connection and check_by_ssh
        3. 9.3 Nagios Configuration
      7. 10. The Nagios Remote Plugin Executor (NRPE)
        1. 10.1 Installation
          1. 10.1.1 Distribution-specific packages
          2. 10.1.2 Installation from the source code
        2. 10.2 Starting via the inet Daemon
          1. 10.2.1 xinetd configuration
          2. 10.2.2 inetd configurationt
          3. 10.2.3 Is the Inet daemon watching on the NRPE port?
        3. 10.3 NRPE Configuration on the Computer to Be Monitored
          1. 10.3.1 Passing parameters on to local plugins
        4. 10.4 NRPE Function Test
        5. 10.5 Nagios Configuration
          1. 10.5.1 NRPE without passing parameters on
          2. 10.5.2 Passing parameters on in NRPE
          3. 10.5.3 Optimizing the configuration
        6. 10.6 Indirect Checks
      8. 11. Collecting Information Relevant for Monitoring with SNMP
        1. 11.1 Introduction to SNMP
          1. 11.1.1 The Management Information Base
            1. MIB-II
          2. 11.1.2 SNMP protocol versions
        2. 11.2 NET-SNMP
          1. 11.2.1 Tools for SNMP requests
            1. Taking a graphic walk with mbrowse
          2. 11.2.2 The NET-SNMP daemon
            1. Supported Mangement Information Bases
            2. The configuration file snmpd.conf
        3. 11.3 Nagios's Own SNMP Plugins
          1. 11.3.1 The generic SNMP plugin check_snmp
            1. Testing hard drive capacity via SNMP
            2. Measuring temperature via lm-sensors
            3. Regular expressions and comparing fixed strings
            4. Monitoring network interfaces
          2. 11.3.2 Checking several interfaces simultaneously
          3. 11.3.3 Testing the operating status of individual interfaces
        4. 11.4 Other SNMP-based Plugins
          1. 11.4.1 Monitoring hard drive space and processes with nagios-snmp-plugins
          2. 11.4.2 Observing the load on network interfaces with check-iftraffic
          3. 11.4.3 The manubulon.com plugins for special application purposes
            1. Keeping checks on storage media with check_snmp_storage
            2. Testing system load with check_snmp_load
      9. 12. The Nagios Notification System
        1. 12.1 Who Should be Informed of What, When?
        2. 12.2 When Does a Message Occur?
        3. 12.3 The Message Filter
          1. 12.3.1 Switching messages on and off systemwide
          2. 12.3.2 Enabling and suppressing computer and service-related messages
            1. Taking downtimes into account
            2. What states and changes of state are worth a notification?
            3. When should Nagios send messages?
            4. Whose concern is the message?
          3. 12.3.3 Person-related filter options
            1. What should Nagios inform you about?
            2. When do messages reach the recipient?
          4. 12.3.4 Case examples
            1. Letting you know once, but doing this reliably
            2. Informing different admins at different times
        4. 12.4 External Notification Programs
          1. 12.4.1 Notification via e-mail
          2. 12.4.2 Notification via SMS
            1. Setting up smsclient
            2. Getting Nagios to work together with smsclient
        5. 12.5 Escalation Management
        6. 12.6 Accounting for Dependencies between Hosts and Services
          1. 12.6.1 The standard case: service dependencies
            1. Inheritance
            2. Other application cases
            3. Additional functions in Nagios 3.0
          2. 12.6.2 Only in exceptional cases: host dependencies
      10. 13. Passive Tests with the External Command File
        1. 13.1 The Interface for External Commands
        2. 13.2 Passive Service Checks
        3. 13.3 Passive Host Checks
        4. 13.4 Reacting to Out-of-Date Information of Passive Checks
      11. 14. The Nagios Service Check Acceptor (NSCA)
        1. 14.1 Installation
        2. 14.2 Configuring the Nagios Server
          1. 14.2.1 The configuration file nsca.cfg
          2. 14.2.2 Configuring the inet daemon
            1. xinetd configuration
            2. inetd configuration
        3. 14.3 Client-side Configuration
        4. 14.4 Sending Test Results to the Server
        5. 14.5 Application Example I: Integrating syslog and Nagios
          1. 14.5.1 Preparing syslog-ng for use with Nagios
          2. 14.5.2 Nagios configuration: volatile services
          3. 14.5.3 Resetting error states manually
        6. 14.6 Application Example II: Processing SNMP Traps
          1. 14.6.1 Receiving traps with snmptrapd
          2. 14.6.2 Passing on traps to NSCA
          3. 14.6.3 The matching service definition
      12. 15. Distributed Monitoring
        1. 15.1 Switching On the OCSP/OCHP Mechanism
        2. 15.2 Defining OCSP/OCHP Commands
        3. 15.3 Practical Scenarios
          1. 15.3.1 Avoiding redundancy in configuration files
          2. 15.3.2 Defining templates
    5. III. The Web Interface and Other Ways to Visualize Nagios Data
      1. 16. The Classical Web Interface
        1. 16.1 Recognizing and Acting On Problems
          1. 16.1.1 Comments on problematic hosts
          2. 16.1.2 Taking responsibility for problems
        2. 16.2 An Overview of the Individual CGI Programs
          1. 16.2.1 Variations in status display: status.cgi
          2. 16.2.2 Additional information and control center: extinfo.cgi
          3. 16.2.3 Interface for external commands: cmd.cgi
          4. 16.2.4 The most important things at a glance: tac.cgi
          5. 16.2.5 The topological map of the network: statusmap.cgi
          6. 16.2.6 Navigation in 3D: statuswrl.cgi
          7. 16.2.7 Querying the status with a cell phone: statuswml.cgi
          8. 16.2.8 Analyzing disrupted partial networks: outages.cgi
          9. 16.2.9 Querying the object definition with config.cgi
          10. 16.2.10 Availability statistics: avail.cgi
          11. 16.2.11 What events occur, how often?—histogram.Cgi
          12. 16.2.12 Filtering log entries after specific states: history.cgi
          13. 16.2.13 Who was told what, when?— notifications.Cgi
          14. 16.2.14 Showing all log file entries: showlog.cgi
          15. 16.2.15 Evaluating whatever you want: summary.cgi
          16. 16.2.16 Following states graphically over time: trends.Cgi
        3. 16.3 Planning Downtimes
          1. 16.3.1 Maintenance periods for hosts
          2. 16.3.2 Downtime for services
        4. 16.4 Additional Information on Hosts and Services
          1. 16.4.1 Extended host information
          2. 16.4.2 Extended service information
        5. 16.5 Configuration Changes through the Web Interfaces: the Restart Problem
        6. 16.6 Modern Layout with the Nuvola Style
      2. 17. Flexible Web Interface with the NDOUtils
        1. 17.1 The Event Broker
        2. 17.2 The Database Interface
        3. 17.3 The Installation
          1. 17.3.1 Compiling the source code
          2. 17.3.2 Preparing the MySQL database
          3. 17.3.3 Upgrading the database design
        4. 17.4 Configuration
          1. 17.4.1 Adjusting the Event Broker configuration
          2. 17.4.2 Configuring database access
          3. 17.4.3 Starting the ndo2db daemon
          4. 17.4.4 Loading the Event Broker module in Nagios
      3. 18. NagVis
        1. 18.1 Installation
          1. 18.1.1 Installing the source code
          2. 18.1.2 Initial configuration
          3. 18.1.3 User authentication
        2. 18.2 Creating NagVis Maps
          1. 18.2.1 Editing the configuration in text form
          2. 18.2.2 Adding NagVis maps to the Nagios Web interface
      4. 19. Graphic Display of Performance Data
        1. 19.1 Processing Plugin Performance Data with Nagios
          1. 19.1.1 The template mechanism
          2. 19.1.2 Using external commands to process performance data
        2. 19.2 Graphs for the Web with Nagiosgraph
          1. 19.2.1 Basic installation
          2. 19.2.2 Configuration
            1. The configuration file nagiosgraph.conf
            2. Nagios configuration
            3. Apache configuration
            4. Adjustments to the map
        3. 19.3 Preparing Performance Data for Evaluation with Perf2rrd
          1. 19.3.1 Installation
          2. 19.3.2 Nagios configuration
          3. 19.3.3 Perf2rrd in practice
            1. Perf2rrd in permanent operation
        4. 19.4 The Graphics Specialist drraw
          1. 19.4.1 Installation
          2. 19.4.2 Configuration
          3. 19.4.3 Practical application
        5. 19.5 Automated to a Large Extent: NagiosGrapher
          1. 19.5.1 Installation
          2. 19.5.2 Configuration
            1. The configuration file ngraph.ncfg
            2. Configuring the graphics—the basic principle
            3. Advanced options of graphic reprocessing
            4. Nagios configuration
        6. 19.6 Smooth Plotting with PNP
          1. 19.6.1 Installation
          2. 19.6.2 The standard configuration
            1. Adjusting the Nagios configuration
          3. 19.6.3 The PNP Web interface
            1. Integrating PNP into the Nagios Web interface
          4. 19.6.4 Bulk processing of performance data
          5. 19.6.5 How should the graphic appear?
            1. Custom Templates
        7. 19.7 Other Tools and the Limits of Graphic Evaluation
    6. IV. Part IV Special Applications
      1. 20. Monitoring Windows Servers
        1. 20.1 Agent-less Checks via WMI
        2. 20.2 Installing and Configuring the Additional Services
          1. 20.2.1 NSClient
          2. 20.2.2 NC_Net
          3. 20.2.3 NSClient++
            1. Installation
            2. Configuration
          4. 20.2.4 OpMon Agent
          5. 20.2.5 Rectifying problems with port 1248
        3. 20.3 The check_nt Plugin
          1. 20.3.1 Generally supported commands
            1. Querying the client version
            2. CPU load
            3. Main memory usage
            4. Hard drive capacity
            5. Uptime
            6. Status of services
            7. Status of processes
            8. Age of files
            9. Querying Windows counters and instances
          2. 20.3.2 Advanced functions of NC_Net
          3. 20.3.3 Installing the check_ncnet plugin
            1. Windows Performance Counter
            2. Listing processes and services
            3. Querying the Windows event log
            4. Displaying and manipulating the NC_Net configuration
            5. Other functions
        4. 20.4 NRPE for Windows
          1. 20.4.1 NRPE_NT, the classic tool
            1. Function test
          2. 20.4.2 Plugins for NRPE in Windows
            1. The Cygwin plugins
            2. Perl plugins in Windows
          3. 20.4.3 NRPE with NSClient++
          4. 20.4.4 Internal NSClient++ functions
            1. Checking file sizes with CheckFileSize
            2. Checking how full drives are with CheckDriveSize
            3. Checking CPU load with CheckCPU
            4. Determining the uptime with CheckUpTime
            5. Activity check with CheckServiceState
            6. Monitoring processes with CheckProcState
            7. Checking memory load with CheckMem
            8. Checking the performance counter with CheckCounter
            9. Evaluating log entries with CheckEventLog
            10. The debug functions CheckAlwaysOK, CheckAlwaysWARNING, and CheckAlwaysCRITICAL
            11. Summarizing several checks with CheckMultiple
      2. 21. Monitoring Room Temperature and Humidity
        1. 21.1 Sensors and Software
          1. 21.1.1 The PCMeasure software for Linux
          2. 21.1.2 The query protocol
        2. 21.2 The Nagios Plugin check_pcmeasure2.pl
      3. 22. Monitoring SAP Systems
        1. 22.1 Checking without a Login: sapinfo
          1. 22.1.1 Installation
          2. 22.1.2 First test
          3. 22.1.3 The plugin check_sap.sh
          4. 22.1.4 More up to date and written in Perl: check_sap.pl
        2. 22.2 Monitoring with SAP's Own Monitoring System CCMS
          1. 22.2.1 A short overview over the alert monitor
          2. 22.2.2 Obtaining the necessary SAP usage permissions for Nagios
          3. 22.2.3 Monitors and templates
          4. 22.2.4 The CCMS plugins
            1. First steps with check_sap_cons
            2. Checking multiple values with check_sap_mult_no_thr
          5. 22.2.5 Performance optimization
      4. 23. Processing Events with the EventDB
        1. 23.1 How the EventDB Works
        2. 23.2 Installation
          1. 23.2.1 Installation requirements
          2. 23.2.2 Preparing the MySQL database
          3. 23.2.3 Sending events to the database with syslog-ng
        3. 23.3 Using the Web Interface
          1. 23.3.1 Preselection of the filter with URL parameters
          2. 23.4 The Nagios Plugin for the EventDB
        4. 23.5 Maintenance
        5. 23.6 Sending Windows Events to Syslog
        6. 23.7 Making the Incomprehensible Legible with SNMPTT
          1. 23.7.1 The configuration file snmptt.ini
          2. 23.7.2 Converting MIBs
    7. V. Part V Development
      1. 24. Writing Your Own Plugins
        1. 24.1 Programming Guidelines for Plugins
          1. 24.1.1 Return values
          2. 24.1.2 Information for the administrator on the standard output
          3. 24.1.3 Onboard online help?
          4. 24.1.4 Reserved options
          5. 24.1.5 Specifying thresholds
          6. 24.1.6 Timeout
          7. 24.1.7 Performance data
          8. 24.1.8 Copyright
        2. 24.2 The Perl Module Nagios::Plugin
          1. 24.2.1 Installation
            1. The method using the CPAN
            2. Together with the core plugins
      2. 25. Determining File and Directory Sizes
        1. 25.1 Splitting up the Command Line With Getopt::Long
        2. 25.2 The Perl Online Documentation
          1. 25.2.1 The module Pod::Usage
        3. 25.3 Determining Thresholds
        4. 25.4 Implementing Timeouts
        5. 25.5 Displaying Performance Data
        6. 25.6 Configuration Files for Plugins
      3. 26. Monitoring Oracle with the Instant Client
        1. 26.1 Installing the Oracle Instant Client
        2. 26.2 Establishing a Connection to the Oracle Database
        3. 26.3 A Wrapper Plugin for sqlplus
          1. 26.3.1 How the wrapper works
          2. 26.3.2 The Perl plugin in detail
    8. VI. Part VI Appendixes
      1. A. An Overview of the Nagios Configuration Parameters
        1. A.1 The Main Configuration File nagios.cfg
        2. A.2 CGI Configuration in cgi.cfg
          1. A.2.1 Authentication parameters
          2. A.2.2 Other Parameters
      2. B. Rapidly Alternating States: Flapping
        1. B.1 Flap Detection with Services
          1. B.1.1 Nagios configuration
          2. B.1.2 The history memory and the chronological progression of the changes in state
          3. B.1.3 Representation in the Web interface
        2. B.2 Flap Detection for Hosts
      3. C. Event Handlers
        1. C.1 Execution Times for the Event Handler
        2. C.2 Defining the Event Handler in the Service Definition
        3. C.3 The Handler Script
        4. C.4 Things to Note When Using Event Handlers
      4. D. Macros
        1. D.1 Standard Macros
          1. D.1.1 Host macros
          2. D.1.2 Service macros
          3. D.1.3 Group macros
          4. D.1.4 Contact macros
          5. D.1.5 Notification macros
          6. D.1.6 Macros to specify time and date
          7. D.1.7 Statistics macros
          8. D.1.8 Using standard macros about the environment
        2. D.2 On-Demand Macros
        3. D.3 Macros for User-defined Variables
        4. D.4 Macro Contents: Not Everything Is Allowed
      5. E. Single Sign-On for the Nagios Web Interface
        1. E.1 HTTP Authentication for Single Sign-On
        2. E.2 Kerberos Authentication with mod_auth_kerb
          1. E.2.1 Installation
          2. E.2.2 Creating a service ticket for Apache
          3. E.2.3 Kerberos configuration
          4. E.2.4 Apache configuration
          5. E.2.5 Definition of a Nagios contact
        3. E.3 Single Sign-On with mod_auth_ntlm_winbind
          1. E.3.1 Installation
          2. E.3.2 Preparing Samba
          3. E.3.3 Apache configuration
          4. E.3.4 Defining a Nagios contact
        4. E.4 Mozilla Firefox as a Web Client
          1. E.4.1 Firefox and NTLM
        5. E.5 Microsoft Internet Explorer as a Web Client
      6. F. Tips on Optimizing Performance
        1. F.1 Internal Statistics of Nagios
          1. F.1.1 The command-line tool nagiostats
            1. Determining single values
          2. F.1.2 Showing Nagios performance graphically
          3. F.1.3 A plugin to monitor latency
        2. F.2 Measures for Improving Performance
          1. F.2.1 Service checks: as often as necessary, as few as possible
          2. F.2.2 Processing performance data intelligently
          3. F.2.3 Avoiding plugins in interpreted languages
          4. F.2.4 Optimizing host checks
          5. F.2.5 The matter of the Reaper
        3. F.2.6 Preferring passive checks
          1. F.2.7 Optimizing large Nagios environments
          2. F.2.8 Optimizing the NDOUtils database
      7. G. The Embedded Perl Interpreter
        1. G.1 Requirements of an ePN-capable Plugin
        2. G.2 Using ePN
          1. G.2.1 Compiling ePN
          2. G.2.2 Interpreter-specific parameters in nagios.cfg
          3. G.2.3 Disabling ePN on a per-plugin basis
        3. G.3 The Testing Tool new_mini_epn
      8. H. What's New in Nagios 3.0?
        1. H.1 Changes in Object Definitions
          1. H.1.1 The host object
            1. Extended host information
          2. H.1.2 The service object
          3. H.1.3 Group objects
          4. H.1.4 The contact object
          5. H.1.5 Time definitions
          6. H.1.6 Dependency descriptions
          7. H.1.7 Escalation objects
          8. H.1.8 Inheritance
        2. H.2 Variable and Macros
        3. H.3 Downtime, Comments, and Acknowledgments
        4. H.4 Rapidly Changing States
        5. H.5 External Commands
        6. H.6 Embedded Perl
        7. H.7 A New Logic for Host Checks
        8. H.8 Restart
        9. H.9 Performance Optimization
        10. H.10 Extended Plugin Output
        11. H.11 CGI
        12. H.12 Miscellaneous
        13. H.13 Upgrade from Nagios 2.x to 3.0