Within two weeks, we’ve turned 3, hit 100,000 downloads and now release Icinga 1.7 for you to upgrade! This version comes with new views and options for customising Icinga Web and Classic UI, performance improvements in the core and much love for packagers.
Note: Upon upgrading, please update your configurations as we have:

  • moved bindir/idomod.o to libdir/idomod.so
  • moved /var/icinga to /var/spool/icinga in icinga.spec (upgrade safe)
  • renamed icinga-idoutils rpm to icinga-idoutils-libdbi-mysql|pgsql in icinga.spec
  • –enable-libtap is deprecated, make test now works out-of-the-box with rewritten tests


The changes to heed above have helped us make packaging easier, as now the libraries are where most packagers expect them to be.
Of note, we have resolved a long-neglected bug that afflicted the Icinga/Nagios core, so that flexible downtimes now last the duration specified once triggered. Beyond this, event looping has been minimized when rescheduling checks – something that should reduce CPU load and improve performance. Kudos to Andreas Ericsson and Matthias Kettner for the initial patch!
In the Classic UI we have two new views – ‘CGI Config Options’ to see user authorizations, and ‘Modified Attributes’ to see host and service configurations compared against the latest attributes applied in the front end. There are extra options to determine the detail of logs and status maps, and flexible downtimes come with added information on ‘trigger’ and ‘in-effect’ times to reflect the fix made in the core.
Icinga Web too comes with a config view, thanks to a new global master configuration cronk accessible to appkit_admins. Creating your own custom cronks are now easier than ever, with the option to ‘Save’ or ‘Save As’ your latest filtered view. The most exciting development however, is in the backend. We’ve integrated an in-house extension we call Doctrine Query Language (DQL) views that enable advance users and devs to design their own cronk modules that collect data from external databases and systems – all via the configuration. Check out our wiki on using templates to write your own grid-based views!
Last but not least, we’ve made some users happy – standardizing many of Icinga Web’s calculations with those in the Classic UI. These include check execution time, problem duration, pending states, performance info and more.
So have fun with Icinga 1.7 and as usual your feedback is always welcome on our mailing lists and development tracker. With the new changes, packages should be coming soon – so keep your eyes peeled. Cheers to all the testers and contributors that have helped make this release happen!
Below is just a summary of our changes, see our full change logs for much more.

  • Avoid insane looping through event list when rescheduling checks (Mathias Kettner, Andreas Ericsson) #2182
  • Added a lot of configure params to allow easier packaging (refer to complete change log)
  • Introduce lib/ for modules with new .so extension
  • Added nebmodule version/name check for idomod (this allows future version dependencies) #2569
  • Added trigger_time to downtimes to allow calculating of flexible downtimes end time #2537
  • Fix scheduled_downtime_depth falsely incremented if in flexible downtime with duration < end-starttime window #2536

Classic UI

  • Added option for max log entries displayed in showlog.cgi #2145
  • Added status map resizing with exclude/include button (thanks to Mat) #2186
  • Added Javascript to refresh page/pause easier #2119
  • Added display_status_totals as cgi.cfg option in order to allow the status totals to be shown again #2443
  • Added readonly cgi.cfg view into the config section #1776
  • Added is_in_effect and trigger_time to downtime view for html, csv, json #2538
  • Added modified attributes view and reset cmd #2473 #2474
  • Fixed status totals are wrong when searching #1524
  • Fixed reset forms on return after submitting command #2117


  • Changed varchar(255) to text in mysql (not cs and address rfc columns) #2181
  • Set module info in idomod, to be checked on neb module load in future versions #2569
  • Change standard string escaping for postgresql queries to use the E’foo’ notation #1974
  • Fixed lob handling in Oracle #2303,#2342
  • Fixed OCI-21500 when freeing lobs #2509
  • Fixed pgsql unix_timestamp cannot handle timstamp with timezone #2203


  • Control custom cronk creation #2456 (Database upgrade required to 1.7)
  • Enabled modify cronk by component #2457
  • Added DQL-Views as backend for templates ( #2178 #2426 #2459 #2368 #2056 )
  • Overwriting of default cronks are now possible, standalone configuration only module #2494
  • New Cronk which shows agavi/icinga-web configuration only for appkit_admins #2494
  • Icinga Web release version in database, select * from nsm_db_version #2096;
  • Added check for XSL before running #2564
  • Clear cache script configurable #2383
  • Striped down library overhead for installation
  • Random password generation of auth provider #2578