Nagios

from Wikipedia, the free encyclopedia
Nagios

Nagios logo.png
Nagios service detail.png
Screenshot of the “Service Detail” page of Nagios
Basic data

developer Ethan Galstad
Publishing year March 14, 1999
Current  version 4.4.6
(April 28, 2020)
operating system Unix derivatives
programming language Perl , C.
category Network monitoring
License GNU GPL ( Free Software )
German speaking No
www.nagios.org
How Nagios works

Nagios is software for monitoring complex IT infrastructures .

Nagios offers a collection of modules for monitoring networks , hosts and special services as well as a web interface for querying the collected data. It is under the GNU GPL , so it is free software and runs on numerous Unix-like operating systems. Nagios and the Nagios logo are US registered trademarks of Ethan Galstad.

The name Nagios is officially a recursive acronym , which refers to the original name of the software ( NetSaint ), and means Nagios Ain't Gonna Insist On Sainthood , but unofficially it is also interpreted as a synonym for the previous name ( N etwork + Greek ἅγιος h agios 'holy').

In 2007, Nagios Enterprises LLC was founded by Ethan Galstad, which offers consulting and technical support around Nagios as a commercial service. The core software itself remains under a free license.

Working method

Central terms of configuration and components

The actual Nagios process is essentially based on an object-oriented configuration of

Hosts
which are essentially defined by their IP address ,
Services
the properties of a host to be monitored,
Commands
which are to be carried out for monitoring, alarming or other purposes and
Contacts
to be notified in the event of an alarm.

A "service" can be a service made available by a host (e.g. HTTP , FTP , SSH , ...), an internal property of a host (e.g. the still available hard disk space, memory and CPU utilization, Uptime , internal error messages, ...) or the environmental conditions that can be measured using the corresponding additional hardware (e.g. temperature values, humidity, fill levels of liquid tanks, ...).

Software components

For a simple basic installation of Nagios, at least the following software components must be installed:

In addition to the Nagios core software, you also need the Nagios plug-ins : These are a number of additional programs (modules) that carry out the actual monitoring queries and evaluate them (according to parameters that may have to be specified).

Monitoring methods

Since some test methods work at the protocol level ( TCP , UDP , SNMP , ...), it is possible to monitor various operating systems , but also network devices or other technical devices with a corresponding network interface set up for monitoring (e.g. a UPS ).

To monitor the internal properties of computers, plug-ins usually have to be executed directly on the hosts. For this purpose z. B. an executive remote access to the host is required, but either with secure access z. B. is associated with a disproportionate CPU load (on both sides) via SSH or is considered to be security-critical because of the administrative privileges required for execution. Another possibility is the installation of additional programs (" add-ons ") on the hosts, which can only execute locally preconfigured (and therefore not abusive) system queries (by default NRPE , the Nagios Remote Plugin Executor , or e.g. NSClient or NC_Net). The communication between these programs and the Nagios server (query and transmission of results) then takes place via separate, definable network ports .

Passive monitoring is more elegant, albeit more difficult to configure . B. with the add-on Nagios Service Check Acceptor ( NSCA ) or via SNMP traps (e.g. using the NagTrap front end ).

Monitoring modules and their standards

In addition to the standard modules and a large number of other Nagios plug-ins that are available free of charge , your own modules can also be easily implemented using a programming language such as B. Perl , C , C ++ , Java , C # , Python or PHP . The modules only have to contain the Nagios guidelines for plug-ins , i. H. Above all, when they are terminated, they must transfer the determined status as a POSIX- compliant return value to the calling process (Nagios service) and output to the standard output .

The status value indicates

  • whether the checked object (service / host) was OK ( OK , value 0),
  • whether there was a warning message ( WARNING , value 1),
  • whether it was a critical error ( CRITICAL , value 2) or
  • the status cannot be determined / unknown ( UNKNOWN , value 3).

With many checks, when calling the module, alarm threshold values for warning and error states can be specified as parameters : If the measured value exceeds or falls below these limit values, the status of the service changes accordingly.

The data that are sent to the standard output usually contain a status message, possibly further detailed information and possibly also measured values ​​and are displayed 1: 1 in the web interface as additional information. The measured values ​​(“performance data”) recorded in this way can be processed further and, in particular, saved for long-term recording. Various additional programs for creating graphs are linked to this possibility.

Alarm logic

As soon as a service or a host changes the status and remains with this status after a pre-configurable number of repetitions of the query, the changed status is regarded as given (" hard state ") and only then do further actions follow:

  • An alarm is triggered, whereby existing interdependencies can be taken into account by appropriate configuration: You can define all additionally monitored properties of a host as dependent on the availability of the host and thus suppress messages about its individual services in the event of a failure of the host.
  • Pre-configured event actions can be started.

Reporting channels

Nagios alerts the preconfigured contact persons via various channels (for example e-mail , SMS , pager , IM messages, phone calls, ...). There is also the option of defining the order in which reports should be sent to other contact persons if a fault has not been resolved after the first reports ( escalation management ).

Distributed monitoring

In order to make a Nagios system fail-safe, redundant and more secure against false alarms, there is the possibility of setup as distributed monitoring as well as redundant / failover monitoring. With distributed monitoring , several decentralized Nagios instances are used, which send their results via NSCA to a central Nagios server, which processes them as passive checks. With redundant monitoring , two Nagios instances work in parallel like a cluster node and keep each other up to date with a heartbeat . In addition to the NSCA method, there are also specialized extensions such as Mod-Gearman, Merlin or DNX.

Additional programs

Nagios can be expanded with add-ons. Examples for this are:

  • Nmap2Nagios-NG: Add-on for the automatic generation of configuration files
  • Centreon: Add-on for configuration and monitoring via web interface
  • Nagvis : Add-on for visualizing the monitoring results
  • monarch: (Outdated) administration interface for Nagios 1.x and 2.x
  • Groundwork Monitor Community Edition: Administration interface for Nagios 2.x and 3.x (successor to Monarch)
  • NConf : Web-based administration interface for Nagios 3.x
  • NagiosQL: Web-based administration interface for Nagios 2.x, 3.x and 4.x
  • PerfParse: database connection for processing the "performance data" collected by Nagios
  • PNP: Tool for generating graphs from the data supplied by Nagios
  • Check MK : Add-on for simplified and accelerated operating system and SNMP monitoring
  • Nagios Business Process AddOns : Extension to monitor entire applications ("business processes") instead of individual components
  • NagiosGrapher : Tool for generating graphs based on Nagios performance data, which is automatically embedded in the Nagios web front-end
  • NagiosEventDB : event database for Nagios e.g. B. for SNMP traps, syslog messages, ...
  • N2RRD add-on for Nagios to save performance data in round robin databases; additionally contains the viewer "rrd2graph", with which the saved data can be viewed
  • Nagios-virt: For monitoring virtual machines using the libvirt interface.
  • Thruk: Improved web interface for large and distributed environments
  • Mod-Gearman: add-on for distributed monitoring

There are also programs that monitor Nagios and report events:

  • Nagios-Checker: an add-on for Mozilla Firefox
  • nagstamon: Nagios status monitor for the desktop
  • NagiosCenter: Web application with overviews to operate and monitor several Nagios servers at the same time

Icinga, Shinken and Naemon

In May 2009 a group of Nagios developers founded the Nagios fork Icinga . It is characterized by a more modern web interface, additional database connectors (e.g. for MySQL and PostgreSQL ) and a more dynamic development process than Nagios, so that patches are applied faster and more consideration is given to the community.

In the summer of 2009, Jean Gabès began reprogramming Nagios in the Python programming language. The slow further development of the aging C code and the monolithic architecture of Nagios had prompted him to take this step. His proof of concept with the name Shinken distributes the tasks of the monitoring system to several specialized and possibly redundant processes and should be able to monitor a far larger number of end devices than a conventional Nagios system. In December 2009, Jean Gabès proposed on the nagios-devel mailing list to use Shinken as the basis for a future Release 4 of Nagios. This suggestion was welcomed by some members of the mailing list, but there were also clear doubts whether the C programming language should really be replaced because, among other things, it would no longer be compatible with other software. Although this offer still applies, Shinken has since been developed as an independent project.

In October 2013, Andreas Ericsson, the main developer of Nagios Core Version 4, announced a new fork Naemon (Networks, Applications and Event Monitor) after he had been excluded from the development team as the main developer of Nagios Enterprises. Like the previous versions of Nagios, Naemon is written in the C programming language, but the CGI web interface has been replaced by the Thruk-FastCGI interface ( Perl ). Naemon is released under the GNU GPL .

criticism

Trademark policy

Nagios Enterprise is increasingly coming under criticism for its rigid trademark policy. Several open source projects and websites that used the name Nagios had to rename themselves under pressure from Nagios Enterprise. In each case, a dispute about naming Nagios in connection with the resulting forks preceded.

  • February 23, 2010: monitoring-fr.org, formerly nagios-fr.org
  • May 23, 2012: monitoring-portal.org, formerly nagios-portal.de
  • January 16, 2014: monitoring-plugins.org, formerly nagios-plugins.org

Nagios plugin takeover

On January 15, 2014, the website of the previously independently managed Nagios plugins project was moved to the web server of Nagios Enterprise LLC without consultation. The previous team then renamed itself Monitoring-Plugins and has continued the project at monitoring-plugins.org ever since . Ethan Galstad cited a previous argument about the naming of Nagios forks (Naemon, Icinga and Shinken) on the Nagios plugins website as the reason for this.

See also

literature

  • Wolfgang Barth, Christian Schneemann, Tobias D. Oestreicher: Nagios - system and network monitoring. 3. Edition. Open Source Press, 2012, ISBN 978-3-941841-25-3 .
  • Tobias Scherbaum: Practice book Nagios. O'Reilly, 2009, ISBN 978-3-89721-880-2 .
  • Gerhard Laußer: Nagios - The practice book. Addison-Wesley, 2009, ISBN 978-3-8273-2800-7 .
  • Max Schubert among others: Nagios 3 Enterprise Network Monitoring. Syngress, 2008, ISBN 978-1-59749-267-6 .
  • David Josephsen: Building a Monitoring Infrastructure with Nagios. Prentice Hall, 2007, ISBN 0-13-223693-1 .
  • James Turnbull: Pro Nagios 2.0. Apress, San Francisco 2006, ISBN 1-59059-609-9 .
  • Taylor Dondich: Network Monitoring with Nagios. O'Reilly, 2006, ISBN 0-596-52819-1 .
  • Götz Rieger: Nagios' new clothes - briefly introduced, network monitoring, Nagios, MySQL, PHP […]. In: c't 12/06, p. 70.
  • Götz Rieger: Network under control - network monitoring with Nagios. In: c't 3/06, p. 206.
  • Alexander Schreiber: Watchful patron saint - system monitoring with Nagios. In: iX 12/03, p. 70.

Web links

Individual evidence

  1. Release 4.4.6. NagiosEnterprises / nagioscore, April 28, 2020, accessed on May 11, 2020 .
  2. The nagios Open Source Project on Open Hub: Languages Page . In: Open Hub . (accessed October 18, 2018).
  3. Ethan Galstad: official FAQ Nagios: FAQs: What does Nagios mean? ( EN ) In: Nagios: Frequently Asked Questions . Nagios Enterprises, LLC. May 3, 2003. Retrieved March 6, 2009: "The official meaning is that NAGIOS is a recursive acronym which stands for" Nagios Ain't Gonna Insist On Sainthood "."
  4. Ethan Galstad: Nagios: Official NRPE Documentation ( EN , PDF; 207kB) In: Nagios - NRPE Documentation . S. 2. May 1, 2007. Retrieved October 14, 2010.
  5. Nagios plug-in development guidelines ( EN ) Nagios Plugins Development Team. Retrieved October 14, 2010.
  6. Lunovia Notifier® for Nagios - Lunovia GmbH. (No longer available online.) Archived from the original on August 9, 2017 ; Retrieved August 8, 2017 (UK English). Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / www.lunovia.de
  7. ICINGA: Spin-off from Nagios completed. Retrieved July 3, 2011 .
  8. ^ New Nagios implementation proposal. ( Memento of the original from January 4, 2017 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. In: Gmane.org . December 1, 2009 (English). @1@ 2Template: Webachiv / IABot / thread.gmane.org
  9. shinken-monitoring.org (English)
  10. The website naemon. Retrieved November 24, 2013 .
  11. Patricia Jung: Farewell to Nagios? , in iX 12/2013, p. 19.
  12. zdnet.de. Retrieved January 23, 2014 .
  13. monitoring-portal.org. (No longer available online.) Archived from the original on February 2, 2014 ; accessed on January 23, 2014 . Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / www.monitoring-portal.org
  14. monitoring-plugins.org. Retrieved January 23, 2014 .
  15. monitoring-plugins.org (English)