NSClient++ 0.5.0, REST API and Icinga 2 integration

Michael Medin released NSClient++ 0.5.0 this week. We’re of course considering to update the bundled NSClient++ installer inside the Windows package.
First things first – the NSClient++ 0.5.0 Changelog mentions breaking changes, so we’ll need to test the ITL CheckCommands still working prior to the next Icinga 2 release (follow #12733). In case you want to help test yourself – you can safely upgrade the NSClient++ application in Windows yourself and fire your Icinga 2 checks against it (just install the new 0.5.0 package).
One cool thing to note about NSClient++ 0.5.0 – it comes with its own web server which also provides a REST API. That could introduce a solution for querying metrics via REST API which require rate calculation (CPU) from a running nscp service. This could be easily integrated into a native Icinga 2 client check plugin then. Let’s just try this out on my Windows 10 VM! 🙂

Icinga 2 v2.4.5 bugfix release


This bugfix release v2.4.5 fixes an issue with downtimes not being expired/activated on restart. It also fixes a problem with expired but not active downtimes. Downtimes and comments added on the master are now again synced to child zones in a cluster (broken with 2.4.0).
We’ve also re-evaluated and properly tested a patch fixing the retry interval issue after the first soft state change. The IDO related fixes target the faulty “notification was not sent out to any contact” problem inside Icinga Web 2.
We’ve also got reports on large scale installations having problems with specific Ubuntu kernels using ‘epoll’ as socket event engine. We’ve therefore added the possibility to set the EventEngine to ‘poll’ which allows users a safe fallback. We’ll investigate further on this possible kernel bug.
For more details please read the Changelog.

Windows Packages

The Windows setup wizard has been overhauled in order to fix some well known bugs. The way the installer works has been changed from NSIS (.exe) to MSI packages. This further allows us to build x86 and x64 packages. The upcoming Windows Server 2016 release will add a new installation option called “nano server” which excludes the x86 (WOW64) support.
Please note an important change with the configuration and state data: Previous installations kept that underneath “C:\Program Files (x86)\ICINGA2”. The new location is the (hidden) directory “C:\ProgramData\icinga2”.
The installer will copy all files on upgrade to the new location. Once you start the Icinga 2 Wizard and it detects a running service, you’ll find a new button called “Examine Config” which opens the directory in your Windows explorer.
The chocolatey builds have been updated as well. The documentation for the Windows installation now also provides screenshots for all important steps to take.

Check Command Timeout

Currently you cannot override the timeout attribute for CheckCommand objects provided by the ITL. We’ve come up with a solution to that – you can now specify the check_timeout attribute for host and service objects. It will override the existing timeout value. That way your VMware, Windows update, etc. checks will work again smoothly without having to modify/copy the ITL CheckCommand objects.


Packages for your favourite distribution should be available soon. Meanwhile check the Changelog.


What’s New in Version 2.4.5


  • Windows Installer changed from NSIS to MSI
  • New configuration attribute for hosts and services: check_timeout (overrides the CheckCommand’s timeout when set)
  • ITL updates
  • Lots of bugfixes


  • Feature 9283: Implement support for overriding check command timeout
  • Feature 9618: Add Windows setup wizard screenshots
  • Feature 11098: Add –method parameter for check_{oracle,mysql,mssql}_health CheckCommands
  • Feature 11194: Add –units, –rate and –rate-multiplier support for the snmpv3 check command
  • Feature 11399: Update .mailmap for Markus Frosch
  • Feature 11437: Add silent install / reference to NSClient++ to documentation
  • Feature 11449: Build 64-bit packages for Windows
  • Feature 11473: Update NSClient++ to version
  • Feature 11474: Install 64-bit version of NSClient++ on 64-bit versions of Windows
  • Feature 11585: Make sure to update the agent wizard banner
  • Feature 11587: Update chocolatey uninstall script for the MSI package


  • Bug 9249: logrotate fails since the “su” directive was removed
  • Bug 10624: Add application manifest for the Windows agent wizard
  • Bug 10843: DB IDO: downtime is not in effect after restart
  • Bug 11106: Too many assign where filters cause stack overflow
  • Bug 11224: Socket Exceptions (Operation not permitted) while reading from API
  • Bug 11227: Downtimes and Comments are not synced to child zones
  • Bug 11258: Incorrect base URL in the icinga-rpm-release packages for Fedora
  • Bug 11336: Use retry_interval instead of check_interval for first OK -> NOT-OK state change
  • Bug 11347: Symlink subfolders not followed/considered for config files
  • Bug 11382: Downtimes are not always activated/expired on restart
  • Bug 11384: Remove dependency for .NET 3.5 from the chocolatey package
  • Bug 11387: IDO: historical contact notifications table column notification_id is off-by-one
  • Bug 11402: Explain how to use functions for wildcard matches for arrays and/or dictionaries in assign where expressions
  • Bug 11407: Docs: Remove the migration script chapter
  • Bug 11434: Config validation for Notification objects should check whether the state filters are valid
  • Bug 11435: Icinga 2 Windows Agent does not honor install path during upgrade
  • Bug 11438: Remove semi-colons in the auto-generated configs
  • Bug 11439: Update the CentOS installation documentation
  • Bug 11440: Docs: Cluster manual SSL generation formatting is broken
  • Bug 11455: ConfigSync broken from 2.4.3. to 2.4.4 under Windows
  • Bug 11462: Error compiling icinga2 targeted for x64 on Windows
  • Bug 11475: FatalError() returns when called before Application.Run
  • Bug 11482: API User gets wrongly authenticated (client_cn and no password)
  • Bug 11484: Overwriting global type variables causes crash in ConfigItem::Commit()
  • Bug 11494: Update documentation URL for Icinga Web 2
  • Bug 11522: Make the socket event engine configurable
  • Bug 11534: DowntimesExpireTimerHandler crashes Icinga2 with
  • Bug 11542: make install overwrites configuration files
  • Bug 11559: Segfault during config validation if host exists, service does not exist any longer and downtime expires
  • Bug 11564: Incorrect link in the documentation
  • Bug 11567: Navigation attributes are missing in /v1/objects/
  • Bug 11574: Package fails to build on *NIX
  • Bug 11577: Compiler warning in NotifyActive
  • Bug 11582: icinga2 crashes when a command_endpoint is set, but the api feature is not active
  • Bug 11586: icinga2-installer.exe doesn’t wait until NSIS uninstall.exe exits
  • Bug 11592: Remove instance_name from Ido*Connection example
  • Bug 11610: Windows installer does not copy “features-enabled” on upgrade
  • Bug 11617: Vim Syntax Highlighting does not work with assign where

Icinga 2 v2.3.10 bugfix release

Dear all,
apart from importing the missing fix for the Windows reload in 2.3.9, we’ve also tackled a couple of other stability problems whilst working on the 2.4 api branch.
Packages should be available soon as always, find the Changelog below.

What’s New in Version 2.3.10


  • Feature 9218: Use the command_endpoint name as check_source value if defined


  • Bug 9244: String escape problem with PostgreSQL >= 9.1 and standard_conforming_strings=on
  • Bug 10003: Nested “outer” macro calls fails on (handled) missing “inner” values
  • Bug 10051: Missing fix for reload on Windows in 2.3.9
  • Bug 10058: Wrong calculation for host compat state “UNREACHABLE” in DB IDO
  • Bug 10074: Missing zero padding for generated CA serial.txt

Icinga 2 bugfix release v2.3.5

While working on the design and concept for our next major feature release in 2.4, we’ve fixed several bugs in our stable 2.3.x tree. Be it clients disconnecting in the cluster, timestamps for DB IDO history, or additional documentation for functions in object configuration, cluster config sync best practices and cluster and client troubleshooting. We’ve also added new ITL plugin check command definitions for “mongodb“, “iftraffic“, “disk_smb” and added more command arguments for “dns“, “ftp“, “tcp“, “nscp“.
In addition to that, we’ve overhauled the Windows setup wizard for the Icinga 2 client in many ways:

  • NSClient++ is now bundled and can optionally be installed when configuring the Icinga 2 client (thanks a lot, Michael Medin!)
  • The Windows installer now provides an update mode and installs the Windows service by default
  • The local nscp checkcommands querying the nscp cli command are enabled by default on Windows
  • New check plugin check_perfmon and several plugin fixes, including plugin check command definitions and documentation

v2.3.5 is tagged in git, packages in your distribution’s repository should be available soon – meanwhile check the Changelog below.
Enjoy Icinga 2 and join the community channels!




  • NSClient++ is now bundled with the Windows setup wizard and can optionally be installed
  • Windows Wizard: “include <nscp>” is set by default
  • Windows Wizard: Add update mode
  • Plugins: Add check_perfmon plugin for Windows
  • ITL: Add CheckCommand objects for Windows plugins (“include <windows-plugins>”)
  • ITL: Add CheckCommand definitions for “mongodb”, “iftraffic”, “disk_smb”
  • ITL: Add arguments to CheckCommands “dns”, “ftp”, “tcp”, “nscp”


  • Feature 8116: Extend Windows installer with an update mode
  • Feature 8180: Add documentation and CheckCommands for the windows plugins
  • Feature 8809: Add check_perfmon plugin for Windows
  • Feature 9115: Add SHOWALL to NSCP Checkcommand
  • Feature 9130: Add ‘check_drivesize’ as nscp-local check command
  • Feature 9145: Add arguments to “dns” CheckCommand
  • Feature 9146: Add arguments to “ftp” CheckCommand
  • Feature 9147: Add arguments to “tcp” CheckCommand
  • Feature 9176: ITL Documentation: Add a link for passing custom attributes as command parameters
  • Feature 9180: Include Windows support details in the documentation
  • Feature 9185: Add timestamp support for PerfdataWriter
  • Feature 9191: Add “mongodb” CheckCommand definition
  • Feature 9238: Bundle NSClient++ in Windows Installer
  • Feature 9254: Add ‘disk_smb’ Plugin CheckCommand definition
  • Feature 9256: Determine NSClient++ installation path using MsiGetComponentPath
  • Feature 9260: Include <nscp> by default on Windows
  • Feature 9261: Add the –load-all and –log options for nscp-local
  • Feature 9263: Add support for installing NSClient++ in the Icinga 2 Windows wizard
  • Feature 9270: Update service apply for documentation
  • Feature 9272: Add ‘iftraffic’ to plugins-contrib check command definitions
  • Feature 9285: Best practices: cluster config sync
  • Feature 9297: Add examples for function usage in “set_if” and “command” attributes
  • Feature 9310: Add typeof in ‘assign/ignore where’ expression as example
  • Feature 9311: Add local variable scope for *Command to documentation (host, service, etc)
  • Feature 9313: Use a more simple example for passing command parameters
  • Feature 9318: Explain string concatenation in objects by real-world example
  • Feature 9363: Update documentation for escape sequences
  • Feature 9419: Enhance cluster/client troubleshooting
  • Feature 9420: Enhance cluster docs with HA command_endpoints
  • Feature 9431: Documentation: Move configuration before advanced topics


  • Bug 8853: Syntax Highlighting: host.address vs host.add
  • Bug 8888: Icinga2 –version: Error showing Distribution
  • Bug 8891: Node wont connect properly to master if host is is not set for Endpoint on new installs
  • Bug 9055: Wrong timestamps w/ historical data replay in DB IDO
  • Bug 9109: WIN: syslog is not an enable-able feature in windows
  • Bug 9116: node update-config reports critical and warning
  • Bug 9121: Possible DB deadlock
  • Bug 9131: Missing “)” in last Apply Rules example
  • Bug 9142: Downtimes are always “fixed”
  • Bug 9143: Incorrect type and state filter mapping for User objects in DB IDO
  • Bug 9161: ‘disk’: wrong order of threshold command arguments
  • Bug 9187: SPEC: Give group write permissions for perfdata dir
  • Bug 9205: port empty when using icinga2 node wizard
  • Bug 9222: Missing custom attributes in backends if name is equal to object attribute
  • Bug 9253: Incorrect variable name in the ITL
  • Bug 9255: –scm-installs fails when the service is already installed
  • Bug 9258: Some checks in the default Windows configuration fail
  • Bug 9259: Disk and ‘icinga’ services are missing in the default Windows config
  • Bug 9268: Typo in Configuration Best Practice
  • Bug 9269: Wrong permission etc on windows
  • Bug 9324: Multi line output not correctly handled from compat channels
  • Bug 9328: Multiline vars are broken in objects.cache output
  • Bug 9372: plugins-contrib.d/databases.conf: wrong argument for mssql_health
  • Bug 9389: Documentation: Typo
  • Bug 9390: Wrong service table attributes in Livestatus documentation
  • Bug 9393: Documentation: Extend Custom Attributes with the boolean type
  • Bug 9394: Including <nscp> on Linux fails with unregistered function
  • Bug 9399: Documentation: Typo
  • Bug 9406: Selective cluster reconnecting breaks client communication
  • Bug 9412: Documentation: Update the link to register a new Icinga account