Nagios Fork No More: Icinga 2 v0.0.1 Released
Written entirely independent of Nagios code and predominantly in C++, Icinga 2 no longer falls under the typical definitions of a fork. "We made the conscious decision not to copy any code from the Icinga 1.x branch or Nagios. So Icinga 2 is being built completely from scratch. This allows us to design a new 'component loader' style core- a visionary, modular architecture", clarified Michael Friedrich, Icinga Core developer.
Essentially a core framework replacement, the developers seek to build on the success of Icinga 1.x and deal with shortcomings inherited from Nagios as a fork. Such limitations included: scalability problems in large monitoring environments; complicated configuration that required dozens of makeshift tweaks and confusing methods in defining services; as well as limited access to the runtime state of the Icinga 1.x / Nagios core given its lack of a proper API.
To address inherited weaknesses while preventing complications between Icinga 1.x versions and existing extensions, the Icinga Project currently maintains two active development branches. "We will continue to improve on the existing forked code base in the Icinga 1.x branch. Our commitment is clear, and we have two further Icinga 1.x releases planned for 2013", assured Bernd Erk, Icinga co-founder and project organizer. Parallel to this, development on Icinga 2 is underway in a separate branch.
With explicit goals for interoperability, Icinga 2 will run on both current and older *NIX platforms as well as Windows. Legacy interfaces to ensure easy migration from Icinga 1.x and Nagios will also be integrated. Most significantly, a single unified RPC interface to Icinga 2 internal states is currently under development. Designed to receive events in real-time, the interface will allow Icinga 2 to efficiently export data to Icinga compatible addons on performance (RRD, Graphite, etc.) and logs (Logstash, Graylog2, etc.).
The execution of monitoring checks is also being remodeled in Icinga 2. The only objects to be queried will be services, which will then combine to give hosts' calculated states. To maintain compatibility with the multitude of Nagios and Icinga 1.x plugins, an interface to support Nagios-style monitoring is also being integrated. "This new monitoring model will allow the core to delegate the execution of service checks based on the availability of remote Icinga 2 instances, and enables us to build in replication among instances. In turn, we expect significant performance gains in large, distributed environments and much less maintenance work", added Gunnar Beutner, Icinga core developer.
Furthermore, Icinga 2 will provide NRPE and NSCA-like remote check execution out of the box, through agent-based monitoring. A cross-platform agent (*NIX and Windows) that uses the same configuration format as Icinga 2 itself, and tightens security through SSL as well as IPv4/IPv6 communication, is on the drawing board. Coupled with compartmentalized loading of independent tasks (e.g. service check executions, notifications, database updates) to each monitoring instance, and automatic replication of configuration and program states- Icinga 2 will be easy to scale and cluster for large, distributed environments.
Beyond these new features, plans are underway to implement business process monitoring, dynamic notifications and auto-discovery features out of the box. With development still in its early stages, the Icinga Project looks to the community for feedback and participation:
"For the time being Icinga 2 is intended only for testing purposes; we welcome users to download our first technology preview - see what its already capable of, test, share ideas and even commit some code", encouraged Michael Lübben, Icinga co-founder and developer.
Licensed under GPL v2, Icinga 2 is free to be used, distributed and modified. A stable release is planned for the end of 2013, with development milestones published on an online roadmap alongside updates on the Icinga website.
For more information, the Icinga Project is found at: www.icinga.org
Icinga c/o NETWAYS GmbH
Icinga is an enterprise grade open source monitoring system which keeps watch over a network and any conceivable network resource, notifies the user of errors and recoveries, and generates performance data for reporting. Scalable and extensible, Icinga can monitor complex, large environments across dispersed locations. Icinga is a fork of Nagios and is backward compatible.
Though Icinga retains all the existing features of its predecessor, it builds on them to add many long awaited patches and features requested by the user community. This has culminated in standout features such as PostgreSQL and Oracle database support, improved extensibility through robust REST and plugin APIs as well as a user-friendly, dynamic web interface.
About Icinga 2
Icinga 2 is a new, redesigned open source monitoring solution currently under development. As a core framework replacement (no GUI) it seeks to build on the success of Icinga 1.x and overcome limitations inherited from Nagios. Built from scratch and based on C++, Icinga 2 will feature a new user-friendly, object-based configuration format; a new service and agent-based monitoring model; greater interoperability thanks to an RPC interface as well as efficient scaling in large environments.
In contrast to its predecessors, Icinga 2 will run on current and older *NIX platforms as well as Windows. It will also be backward compatible to Nagios and Icinga 1.x, with built-in compatibility layers for its use with both Classic UI and Web interfaces. As a parallel development branch to Icinga 1.x however, Icinga 2 is currently only intended for testing purposes.
For more information on Icinga 2 see:
Icinga 2 Web Pages: https://www.icinga.org/...
Icinga 2 Development Roadmap: https://dev.icinga.org/...
Icinga 2 Development Docs: https://wiki.icinga.org/...