Icinga Version 1.8 Released

Icinga, open source monitoring solution and Nagios fork has released v1.8 for download. Beyond new reporting features, the community-driven release presents performance and usability improvements in the core and web interfaces.

Icinga, open source monitoring solution and Nagios fork has released version 1.8 for download. Beyond new reporting features, the community-driven release presents performance and usability improvements in the core and web interfaces, responding to user requests and contributions.

Community involvement in the development of Icinga 1.8 was noteworthy in all areas of the Icinga project. In the core, this has lead to optimized handling of check results in large environments; thanks to a patch submitted to enable the check_result_list to be configured. Version 1.8 also adds a new feature to deactivate all notifications program wide with expiry, alongside many bug fixes in collaboration with user contributors.

New features abound in the Classic UI, including pagination in various views and regex-based configuration search, to make the interface user-friendlier in complex environments. In response to community requests, v1.8 Classic UI now showcases pre-defined time periods when searching logs, date picker dialogues, global refresh in the tactical header and a new command to delete downtimes of a host and all its associated services.

Similar improvements to performance and usability feature in the new Icinga Web interface. At a fundamental level, a revised credentials model reduces database join load, significantly increasing performance. Permissions for Cronks (widgets) and categories can now be edited in the front end, building on v1.7 efforts to make configurations more accessible. To further improve user experience, Icinga Web also features an enlarged status map and events integrated into the grid views to offer more information on hosts and services within a page, while clearing icon clutter.

Further highlights of the Icinga 1.8 release are also found in Icinga Reporting. These include a morning report that gives an overview of activity from the last 24 hours, new-look templates for all reports with predefined reporting period options (last week, month, year), better PostgreSQL interoperability and JasperServer 4.7 support. Performance has also been addressed with a new SQL procedure for faster SLA aggregation.

Overall Icinga 1.8 was a community-guided project. As Icinga Core Developer Michael Friedrich reflected:

"This release really stood out for the immense community involvement. Lots of great new features were sourced from user activity in the feedback and development tracker channels, with some also contributing patches and to testing. That's what makes developing Icinga so satisfying - collaborating with other users and seeing the progress."

Icinga project members released version 1.8 during their attendance at the Open Source Monitoring Conference in Nuremberg, Germany. Alongside the new release, a second development branch, Icinga 2 was announced. Bernd Erk, Icinga Co-founder and project organizer, explained the motivation behind the parallel development branch and core framework replacement:

"With Icinga 2 we hope to build on the progress we've made with Icinga 1.x and tackle the weaknesses that were inherited in the Nagios core code base. By writing a new core framework from scratch, we can ensure that Icinga 2 is efficient in scaling in large environments, simplify configuration and generally forge a more user-friendly and intelligent monitoring system."

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

- NOTES TO THE EDITOR -

Icinga 1.8 Change Log

Upgrade Notes
For IDOUtils database upgrades, users are recommended to check module/idoutils/db//upgrade/ for upgrade SQL scripts.

For configuration file changes, options that have been added or removed can be found in-
Core & Classic UI: sample-config/updates/
IDOUtils: module/idoutils/config/updates

Core
• Added a command to disable notifications program-wide with expire time as scheduled event #905 - MF
• Only reap results when check result_list is not overloaded (max_check_result_list_items) (thanks Thomas Gelf) #3099 - MF
• Avoid duplicate events when scheduling forced host|service check (Imri Zvik) #2993
• Resolved issue where unknown macros are not replaced, and misleading to single dollar signs #2291 - MF
• Fixed next_check attribute not updated after scheduling new check #2265 - MF

Classic UI
• Added pagination to various cgi's (thanks to ideas and partly sourced from Nagios, Thruk, Icinga Web) #2725 - RB
• Changed search in config.cgi to regex #2884 - RB
• Added selection of time period for notifications and history #2341 - RB
• Added date/time selection for all date/time input fields #2576 - RB
• Added host/service selection for commands, leaving out passive-only checks on check reschedule in cmd.cgi #2697 - RB
• Added host/service group filter to notifications.cgi & history.cgi #2679 - RB
• Resolved javascript refresh jumps to page top, not restoring previous scrolling position; add URL parameter 'scroll=' #2855 - MF
• Added command to delete host downtime and all associated service downtimes (extinfo.cgi, status.cgi command drop down) - RD/MF
• Added a refresh button to tac.cgi in header mode #3164 - RB
• Contrib: Added Nginx configuration for Icinga Classic UI by Francisco Miguel Biete into contrib/nginx #2253 - MF

IDOUtils
• Fixed insert on duplicate key with multiple unique keys marked unsafe in mysql >= 5.5.24; rewrite all queries #3008 - MF
• Fixed redundant indexes in MySQL schema (thanks Michael Renner) #3018 - MF
• Re-added missing indexes from #1110 resolving performance issues on all supported RDBMS #2618 - MF

Web
• Various improvements to status map
• Ordered cronk js files to match their namespaces
• JSLint rewrites of javascript
• Cronk & category permissions in front end, also system Cronks
• Real loading mask
• New data credentials: IcingaService and IcingaHost
• New database upgrade scripts #3239 #3052 #2890
• New event interface in grids

Reporting
• Added new template design and corrected some template issues
• Added morning report
• Integrated SLA function for MySQL (Thanks Thomas Gelf)
• Integrated SLA in the host-top10 & service-top10 reports
• Enabled preselected time ranges in every report

Docs
• Added new stylesheet and reworked docbook.xsl #3046 - MF
• Added table of contents for all sections #3193 - WN
• Added jquery toggle for table of contents #3193 - MF
• Created a dedicated page for packages and their customizations #2905 - LB
• Created a guide on how to define a command, translate macros and test drive plugins manually #2692 - WN

For more details and the full change log see:

Icinga Wiki
https://wiki.icinga.org/display/Dev/Changelogs

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