Icinga PowerShell Framework

This PowerShell module will allow to fetch data from Windows hosts and use them for inventory and monitoring solutions. Together with the Icinga Web 2 module, a detailed overview of your Windows infrastructure will be drawn.

Release Icinga for Windows v1.3.2

1.3.2 (2021-07-09)

Security Fixes

  • #298 Fixes possible security vulnerability on Icinga for Windows service registration, by not quoting the service path on registration

You can read more on this on the Knowledge Base Entry with further details, on how to apply the fix and test if you are affected.

icinga-powershell-framework-v1.3.2.tar.gz

Release tarball
application/gzip 2021-07-09 Download from Github

Release Icinga for Windows v1.5.1

1.5.1 (2021-07-07)

Issue and PRs

Bugfixes

  • #276 Fixes check value conversion to decimal, which sometimes did not resolve values properly and caused conversion issues
  • #282 Fixes issue on System.Text.StringBuilder which fails to initialize properly on some older Windows systems
  • #284 Fixes exception while creating default threshold objects
  • #285 Fixes plain Icinga 2 conf generation for commands, which was caused by a new exception output for additional output
  • #293 Fixes crash on REST-Api for NULL values while parsing the REST message
  • #295 Fixes background service check daemon not working with arguments for plugins
  • #297 Fixes null exception error which can occur in certain edge cases, caused by testing New-IcingaCheck directly without function wrapper

icinga-powershell-framework-v1.5.1.tar.gz

Release tarball
application/gzip 2021-07-07 Download from Github

Release Icinga for Windows v1.5.0

1.5.0 (2021-06-02)

Issue and PRs

Upgrading Steps

SecureString and Icinga Director Baskets

We have updated the configuration baskets generator to set arguments defined as SecureString (for passwords) to hidden within the Icinga Director. This will prevent users from simply gaining access to a password while having access to the Director.

Please update manually all your CustomFields under Icinga Director -> Define Data Fields -> Search for *_Securestring_* -> Field Visibility to Hidden before importing new configuration baskets. Otherwise you will have two data fields stored within your Icinga Director and have to enter all passwords again for your service checks.

Reworked plugins and removed arguments

Please note that in general plugins should no longer ship % values performance data and only the actually values including thresholds and min/max input. With the new Icinga for Windows Framework, you can use your graphing solution to properly calculate % values there on your own for display context. Monitoring is for most plugins possible, by simply adding a % sign behind your threshold.

In case the plugin does not support this input for this specify argument, you will receive a UNKNOWN output.

Invoke-IcingaCheckNetworkInterface

The following arguments have been removed from the plugin and are no longer usable:

  • IncomingAvgBandUsageWarn
  • IncomingAvgBandUsageCrit
  • OutboundAvgBandUsageWarn
  • OutboundAvgBandUsageCrit

These arguments were a % value based on the link speed and the current traffic of the interface. With the new argument handling for % values with Icinga for Windows v1.5.0, you can achieve the same result with the following, already present arguments:

  • DeviceTotalBytesSecWarn
  • DeviceTotalBytesSecCrit
  • DeviceSentBytesSecWarn
  • DeviceSentBytesSecCrit
  • DeviceReceivedBytesSecWarn
  • DeviceReceivedBytesSecCrit
Invoke-IcingaCheckMemory

We entirely reworked the plugin and added the same % value shipping with Icinga for Windows v1.5.0, which means we removed the following arguments:

  • PercentWarning
  • PercentCritical

In addition we added page file monitoring capabilities to the plugin with additional arguments

Invoke-IcingaCheckUsedPartitionSpace

As for both previous plugins, we reworked used partition space with changes for % values with Icinga for Windows 1.5.0 and fixed minor issues from the ground up.

Invoke-IcingaCheckPerfCounter

We fixed a spelling issue on the command itself, which was Invoke-IcingaCheckPerfcounter before and now properly displays Invoke-IcingaCheckPerfCounter. For that reason your current plugin configuration will change. To resolve this beforehand, rename the custom variable within your Icinga Director to match the new uppercase C for Counter, before importing new configuration baskets.

Features and Updates

Enhancements

  • #228 Adds feature to suppress any kind of console output except for plugin output and performance data
  • #229 CustomFields defined as SecureString are now set to hidden within the Icinga Director configuration basket - please read the upgrading docs carefully
  • #234 Adds support to allow custom exception lists for Icinga Exceptions, making it easier for different modules to ship their own exception messages
  • #235 Adds new Cmdlet Show-IcingaEventLogAnalysis to get a better overview on how many log entries are present within the EventLog based on hour, minute and day average/maximum for allowing a more dynamic configuration for Invoke-IcingaCheckEventLog
  • #236 Adds feature which stops the Icinga Agent before upgrading the Icinga PowerShell Framework and starting it again afterwards (in case it was running), to resolve some possible file lock issues
  • #241 Ensures we use TLS 1.1 and 1.2 for REST-Api calls, as used certificates in general are created with these
  • #243 Adds stacktrace output for exceptions in case plugin execution fails
  • #248 Improves Test-IcingaPerformanceCounterCategory by creating an object for the Performance Counter category provided and checking if it is a valid object instead of relying on the registry which might not contain all categories in the correct language.
  • #249 Improves internal exception handler to get rid if misplaced : and adds all fields properly
  • #250 Improve error handling on plugin execution by informing the user if the plugin is simply not installed or the entire module was not loaded because of errors or missing dependencies
  • #264 Adds initial handling for handling link speeds or anything else by using new units and conversions, which were formerly used inside the Network plugin and corresponding provider

Bugfixes

  • #231 Fixes error while using Icinga Director Self-Service API, in case the host or host API key was deleted inside the Icinga Director and the installation wizard was called with the correct template key, while the old host key was still present inside the Icinga for Windows configuration
  • #232 Fixes wrong encoding while using REST-Api checks experimental feature, and now forces UTF8
  • #237 Fixes Icinga PowerShell Framework root folder lookup, in case the module was installed with PowerShell gallery, which creates version folders for each installed version
  • #240 While filtering for certain services with Get-IcingaServices, there were some attributes missing from the collection. These are now added resulting in always correct output data.
  • #245 Fixes loading of .pfx certificates by properly checking the file type
  • #265 Fixes Test-Numeric to now accept negative numeric values and als fixes errors, causing . to be allowed multiple times. ConvertFrom-TimeSpan now properly prints on negative values if the time provided is positive or negative and also prints microseconds as us in case the value is loer than 1ms
  • #269 Fixes unhandled exception on Set-IcingaCacheData, as the -ErrorAction Stop argument was not set and therefor the function never halted on errors
  • #272 Fixes invalid unit conversion, in case first char of a string is matching time metrics

icinga-powershell-framework-v1.5.0.tar.gz

Release tarball
application/gzip 2021-06-02 Download from Github