Nagios Core is the monitoring and alerting engine that serves as the primary application around which hundreds of Nagios projects are built.
Core serves as the basic event scheduler, event processor, and alert manager for elements that are monitored. It features several APIs that are used to extend its capabilities to perform additional tasks, is implemented as a daemon written in C for performance reasons, and is designed to run natively on Linux/*nix systems.
Core has been designed with a focused, extensible architecture that is designed for flexibility and scalability. It provides several APIs to allow its feature set to be easily extended through additional add-ons.
This architecture has proved to be successful and has spawned the creation of thousands of add-on projects that extend its core feature set.
The scope of Core is primarily focused the duties of check scheduling, check execution, check processing, event handling, and alerting.
Performing checks, sending notifications, processing performance data, and many other tasks are generally out-of-scope for Core and are handled by other Nagios projects.
Core has historically and still does ship with a default CGI interface. The CGIs provide Nagios users with the basic functionality required to view and manage elements that are monitored by Core. The CGIs have become the standard Core interface and are often used as an API by many Nagios extensions.
Many users deploy additional frontends to customize the look, feel, and functionality of their Nagios UI. Nagios V-Shell is a new frontend that is currently being developed as the official PHP frontend to Core.
There is a rich variety of add-ons that provide additional features that are out-of-scope for Core itself, including configuration frontends, performance graphing, auto-discovery, and distributed monitoring, among others.
These features are implemented in different Nagios projects, which are developed independently and can be found at Nagios Exchange.