Icinga V1.9 Is Released

Icinga, open source monitoring solution and Nagios fork released v1.9, celebrating their 4th birthday. v1.9 boasts greater performance and usability in the core and web interfaces, contributed partly by the community and parallel Icinga 2 development

Icinga, the open source monitoring solution released v1.9 in celebration of their 4th birthday since forking from Nagios. The release features performance and usability enhancements in the core and web interfaces, contributed in part by the community and concurrent Icinga 2 development.

Prototyping in Icinga 2 lead to the development of two IDOUtils features to improve core reload speed in large environments. A socket queue that uses a thread to proxy socket data -as opposed to a kernel message queue- has been added alongside a transactions buffer for large object dumps. The two enhancements save configuration to memory and write to the database in the background, significantly accelerating the core reload process:

"Our tests on a setup with 4000 services shows a tenfold improvement from 3 minutes to just 3 seconds till event loop start. This is a massive performance boost for enterprise environments with hundreds of hosts and services. Funnily enough it was made possible by our work on Icinga 2; we hope to continue to exploit such synergies between the two development streams", confirmed Core developer Michael Friedrich.

The user community contributed further performance improvements in the core, including host group exclusion in nested host groups by Alexander Sulfrian; triggered downtimes for child hosts at restart by Michael Lucka and empty host group service checks for environments with automated configuration deployment by Viranch Metha. Additionally, log file and illegal macro character processing are now quicker owing to collaboration with Andreas Ericsson.

Progress in Classic UI performance was also made - on configuration read using hash compare, configuration and status data parsing, as well as JSON functions. For greater user convenience, a new date and time selector to ease log file navigation was added, alongside optional automatic expiry and notifications for acknowledgements. These will be particularly useful in enterprise environments, as Packaging & QA developer Carl R. Friend notes:

"The intent is to modify observed admin behavior in large organizations where chronic problems get acknowledged and never resolved leading, eventually, to system failure. It also completes the configuration notion begun with 'default_expiring_acknowledgement_duration'."

Community involvement was apparent in Icinga Web v1.9 too, with users voting for the new list-style cronk menu that is now featured. A new flexible filter was also integrated, enabling users to combine multiple attributes per 'drag and drop'. Additionally, the Icinga Web permissions and credentials system was given an overhaul, improving the handling of user-restrictions and allowing groups, custom variables or combinations of them to be used.

Users are advised to review the new Apache configuration upon upgrade to Icinga Web v1.9, and remove existing htacesss files or restore order.deny rules where necessary.

With this release, Icinga also celebrates its 4th birthday as an open source project. Bernd Erk, Icinga Co-founder and Project Coordinator reflects:

"Version 1.9 marks our 4th birthday and the year we announced Icinga 2 - our break away from the Nagios code base and constraints as a fork. With this release however, I believe we have shown our commitment to developing Icinga 1.x further. And so we dedicate v1.9 to the Icinga community; for all their patches, ideas and support have ensured that four years on, we're still going strong!"

For more information, the Icinga project is found at: www.icinga.org
[Images, logos and photos available. Reprints free of charge. Reference copy requested.]

Your contact at Icinga:
Amanda Mailer
Icinga Community & PR
www.icinga.org
amanda.mailer@icinga.org
Tel: +49 911 9288512

- NOTES TO THE EDITOR -

About Icinga

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.

Concurrent to improving Icinga as a fork of Nagios, the Icinga Project is also actively developing Icinga 2, a Nagios core rewrite and core framework replacement.


Icinga 1.9 Change Log

Upgrade Notes

Icinga Web users are advised to review the new Apache configuration, remove all existing .htaccess files and restore order.deny rules (removed to support Apache 2.4) for setups that require them.


Core

• Increased core performance on config read with hash compare #3722

• Keep logfile open, reduce open/close performance decreases #3390

• Enhanced performance on illegal macro and host-service relation processing #3389 #3820

• Added skipping of status.dat/objects.cache write by setting to /dev/null #3819

• Fixed host_check last_check == next_check wrong in scheduling queue #2195

• Fixed triggered downtimes for child hosts are missing after restart #2688

• Fixed unable to exclude hostgroups when using nested host groups #2619


Classic UI

• Increased performance with hash compare on host/service show/filter #3722

• Added date/time selector to logfile navigation #3168

• Enabled Classic UI to be installed standalone (Icinga2 compat) #3869

• Added config options for acknowledgement notifications and expiry #3467 #3476

• Added 'executed command' to extinfo.cfg linking to command expander #3901

• Added process status to JSON response #3172

• Added lighttp config examples #2253


IDOUtils

• Use transactions for large object dumps #3527

• Added socket queue proxy (reduce core reload time significantly) #3533

• Oracle: change output columns to clob #3412

• Fixed memory leaks in idomod/ido2db #3749

• Added workaround fix for num_rows_affected broken in libdbi/mariadb, returned ids are 0 #3728


Web

• Revamped credential system, better grouping of permissions and performance #3715

• New and smaller Cronk menu design, showing the cronks as a list #3396

• New filtering window which allows detailed and combined filters #3268

• Many small interface improvements #3511 #3430 #3896

• New Apache configuration, making the .htaccess files obsolete #2759

• Search in admin user- / group dialog #3909

• PENDING are now shown for any new host or service in the database #2602 #3844


Reporting

• Added AvailReportParser into contrib/ (standalone) #3978

• Reorganized directory structure #3742

• Fixed image expression in PNP4Nagios template #3693

• Fixed state replacement in morning report #3752

• Fixed rounding error with small numbers #3942


Docs

• Added upgrade/troubleshooting notes about invisible icinga web cronks/modules after upgrade #3939

• Make install-webconf-auth installs htpasswd.user with icingaadmin credentials #3964

• Icinga Web 1.9: New menu style (smaller icons) #3944

• Icinga Web 1.9: New filtering methods #3947

• Added userpreferences.xml to icinga web configs #3991

• Added web gui comparison to beginners #3907

• Middle-clicking on TOC links now opens pages in new tab #3561


For more details and the full change log see:

Icinga Change Logs: https://wiki.icinga.org/display/Dev/Changelogs

Icinga Project Roadmap: https://dev.icinga.org/projects/icinga-development/roadmap