Nagios Core Version 3.X Documentation
Total Page:16
File Type:pdf, Size:1020Kb
Nagios Core Version 3.x Documentation http://www.nagios.org Copyright © 2009 Nagios Core Development Team and Community Contributors. Copyright © 1999-2009 Ethan Galstad. Portions copyright by Nagios Community members. See the THANKS file for more information. Last Updated: 06-16-2009 [ Table of Contents ] Nagios, Nagios Core, NRPE, NSCA, and the Nagios logo are trademarks, servicemarks, registered servicemarks or registered trademarks of Nagios Enterprises. All other trademarks, servicemarks, registered trademarks, and registered servicemarks mentioned herein may be the property of their respective owner(s). The information contained herein is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. 1 Nagios Core 3.x Documentation Table of Contents About What is Nagios? System requirements Licensing Downloading the latest version Release Notes What’s new in this version Known issues Support Nagios Support Portal Nagios Community Wiki Getting Started Advice for beginners Quickstart installation guide Upgrading from previous versions How to monitor a Windows machine How to monitor a Linux/Unix machine How to monitor a Netware server How to monitor a network printer How to monitor a router/switch How to monitor a publicly available service (HTTP, FTP, SSH, etc.) Configuring Nagios Configuration overview Main configuration file options Object configuration overview Object definitions CGI configuration file options Configuring authorization for the CGIs Running Nagios Verifying your configuration Starting and stopping Nagios The Basics Plugins Macros and how they work Standard macros available in Nagios Host checks Service checks Active checks Passive checks State types Time periods Determining status and reachability of network hosts Notifications 2 Information on the CGIs Advanced Topics External commands Event handlers Volatile services Service and host result freshness checks Distributed monitoring Redundant and failover monitoring Detection and handling of state flapping Notification escalations On-call notification rotations Monitoring service and host clusters Host and service dependencies State stalking Performance data Scheduled host and service downtime Using the embedded Perl interpreter Adaptive monitoring Predictive dependency checks Cached checks Passive host state translation Check scheduling Custom CGI headers and footers Object inheritance Time-saving tips for object definitions Security and Performance Tuning Security considerations Enhanced CGI security and authentication Tuning Nagios for maximum performance Fast startup options Large installation tweaks Using the nagiostats utility Graphing Nagios performance statistics Integration With Other Software Integration Overview SNMP Traps TCP Wrappers Nagios Addons NRPE NSCA NDOUtils Other addons Nagios Exchange Development Plugin API Developing Plugins For Use With Embedded Perl 3 About Nagios Up To: Contents See Also: Quickstart Installation Guides Nagios Overview More information about Nagios - including features, case studies, and technical specifications can be found online at www.nagios.org/about/. What Is Nagios? Nagios® is a system and network monitoring application. It watches hosts and services that you specify, alerting you when things go bad and when they get better. Nagios was originally designed to run under Linux, although it should work under most other unices as well. Some of the many features of Nagios include: Monitoring of network services (SMTP, POP3, HTTP, NNTP, PING, etc.) Monitoring of host resources (processor load, disk usage, etc.) Simple plugin design that allows users to easily develop their own service checks Parallelized service checks Ability to define network host hierarchy using "parent" hosts, allowing detection of and distinction between hosts that are down and those that are unreachable Contact notifications when service or host problems occur and get resolved (via email, pager, or user-defined method) Ability to define event handlers to be run during service or host events for proactive problem resolution Automatic log file rotation Support for implementing redundant monitoring hosts Optional web interface for viewing current network status, notification and problem history, log file, etc. System Requirements The only requirement of running Nagios is a machine running Linux (or UNIX variant) and a C compiler. You will probably also want to have TCP/IP configured, as most service checks will be performed over the network. You are not required to use the CGIs included with Nagios. However, if you do decide to use them, you will need to have the following software installed... 1. A web server (preferrably Apache) 2. Thomas Boutell’s gd library version 1.6.3 or higher (required by the statusmap and trends CGIs) 4 Licensing Nagios is licensed under the terms of the GNU General Public License Version 2 as published by the Free Software Foundation. This gives you legal permission to copy, distribute and/or modify Nagios under certain conditions. Read the ’LICENSE’ file in the Nagios distribution or read the online version of the license for more details. Nagios is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. Acknowledgements Several people have contributed to Nagios by either reporting bugs, suggesting improvements, writing plugins, etc. A list of some of the many contributors to the development of Nagios can be found in the THANKS file in the root of the Nagios distribution. Downloading The Latest Version You can check for new versions of Nagios at http://www.nagios.org. Nagios and the Nagios logo are trademarks of Nagios Enterprises, LLC. All other trademarks, servicemarks, registered trademarks, and registered servicemarks may be the property of their respective owner(s). 5 What's New in Nagios Core 3.x Up To: Contents See Also: Known Issues Important: Make sure you read through the documentation and the FAQs at support.nagios.com before sending a question to the mailing lists. Change Log The change log for Nagios can be found online at http://www.nagios.org/development/history or in the Changelog file in the root directory of the source code distribution. Changes and New Features 1. Documentation: Doc updates - I’m slowly making my way through rewriting most all portions of the documentation. This is going to take a while, as (1) there’s a lot of documentation and (2) writing documentation is not my favorite thing in the world. Expect some portions of the docs to be different than others for a while. I hope the changes I’m making will make things clearer/easier for new and seasoned Nagios users alike. 2. Macros: New macros - New macros have been added, including: $TEMPPATH$, $LONGHOSTOUTPUT$, $LONGSERVICEOUTPUT$, $HOSTNOTIFICATIONID$, $SERVICENOTIFICATIONID$, $HOSTEVENTID$, $SERVICEEVENTID$, $SERVICEISVOLATILE$, $LASTHOSTEVENTID$, $LASTSERVICEEVENTID$, $HOSTDISPLAYNAME$, $SERVICEDISPLAYNAME$, $MAXHOSTATTEMPTS$, $MAXSERVICEATTEMPTS$, $TOTALHOSTSERVICES$, $TOTALHOSTSERVICESOK$, $TOTALHOSTSERVICESWARNING$, $TOTALHOSTSERVICESUNKNOWN$, $TOTALHOSTSERVICESCRITICAL$, $CONTACTGROUPNAME$, $CONTACTGROUPNAMES$, $CONTACTGROUPALIAS$, $CONTACTGROUPMEMBERS$, $NOTIFICATIONRECIPIENTS$, $NOTIFICATIONISESCALATED$, $NOTIFICATIONAUTHOR$, $NOTIFICATIONAUTHORNAME$, $NOTIFICATIONAUTHORALIAS$, $NOTIFICATIONCOMMENT$, $EVENTSTARTTIME$, $HOSTPROBLEMID$, $LASTHOSTPROBLEMID$, $SERVICEPROBLEMID$, $LASTSERVICEPROBLEMID$, $LASTHOSSTATE$, $LASTHOSTSTATEID$, $LASTSERVICESTATE$, $LASTSERVICESTATEID$. Two special on-demand time macros have also been added: $ISVALIDTIME:$ and $NEXTVALIDTIME:$. Removed macros - The old $NOTIFICATIONNUMBER$ macro has been deprecated in favor of new $HOSTNOTIFICATIONNUMBER$ and $SERVICENOTIFICATIONNUMBER$ macros. Changes - The $HOSTNOTES$ and $SERVICENOTES$ macros may now contain macros themselves, just like the $HOSTNOTESURL$, $HOSTACTIONURL$, $SERVICENOTESURL$ and $SERVICEACTIONURL$ macros. Macros are normally available as environment variables when check, event handler, notification, and other commands are run. This can be rather CPU intensive in large Nagios installations, so you can disable this behavior with the enable_environment_macros option. Macro information can be found here. 6 3. Scheduled Downtime: Scheduled downtime entries are no longer stored in their own file (previously specified with a downtime_file directive in the main configuration file). Current and retained scheduled downtime entries are now stored in the status file and retention file, respectively. 4. Comments: Host and service comments are no longer stored in their own file (previously specified with a comment_file directive in the main configuration file). Current and retained comments are now stored in the status file and retention file, respectively. Acknowledgement comments that are marked as non-persistent are now only deleted when the acknowledgement is removed. They were previously automatically deleted when Nagios restarted, which was not ideal. 5. State Retention Data: Status information for individual contacts is now retained across program restarts. Comment and downtime IDs are now retained across program restarts and should be unique unless the retention data is deleted or ignored. Added retained_host_attribute_mask and retained_service_attribute_mask variables to control what host/service attributes are retained globally across program restarts. Added retained_process_host_attribute_mask