Feature: Suppress other messages then plugin output
Adds feature to suppress any kind of console output except for plugin output and performance data, while Icinga for Windows is initialised with `Use-Icinga -Minimal`
Fix: Exit-IcingaExecutePlugin throws exception for localized PerfCounters
Encoding for REST-Api check calls was wrong during queue and while reading the result. We will now enfore UTF8 in both ways.
Fixes#232
Fix: Adds missing attributes for services
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.
Feature: Hide SecureString CustomFields input in Icinga Director
Adds feature to mask CustomField input values with `*` within the Icinga Director, in case the argument is defined as `SecureString`. Please ensure to read the [upgrading docs](https://icinga.com/docs/icinga-for-windows/latest/doc/30-upgrading-framework/) carefully, before importing new configurations.
Fixes#229
Adds Cmdlet for analysing EventLog content
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`
Fix wrong plugin not installed unknown checkresult
Unknown checks for the plugin handler were called to soon, as the minimal configuration does not load old check commands for the plugins.
In addition API checks did not throw an unknown and were not catched properly
Feature: Adds experimental Feature "Management Console"
Adds new experimental feature `Management Console` for better and easier management for Icinga for Windows and improved automation and deployed.
In addition following changes were made:
* Added support to fetch network interface for `Register-IcingaDirectorSelfServiceHost` directly from provided director url
* Added support for Icinga Framework Code Cache file being deleted once the feature is disabled
* Added support to suppress any console output for the current PowerShell session by using `Disable-IcingaFrameworkConsoleOutput` and to enable it again by using `Enable-IcingaFrameworkConsoleOutput`
* Added support for `-Release` argument for `Get-IcingaFrameworkServiceBinary` suppressing questions and using GitHub as source directly if set
* Added support to color console output by using `Write-IcingaConsolePlain` with the new argument `-ForeColor`
* Added new feature to write Icinga for Windows console headers more easily, better structured and formatted with `Write-IcingaConsoleHeader` by adding line content as array elements
* Fixed possible crash on `Get-IcingaAgentFeatures` if PowerShell is not running as administrator and therefor the command `icinga2 feature list` can not be processed
* Fixed `ConvertTo-IcingaSecureString` to return `$null` for empty strings instead of throwing an exception
Adds Api checks docs; Removes cmdlets
Adds documentation for new experimental feature to forward checks to API and removes Cmdlets for managing whitelist/blacklist entries as we add them inside the REST-Api module.
Feature: Adds support to uninstall Icinga for Windows
Adds feature to uninstall single components for Icinga for Windows or to uninstall everything and start entirely from new.
Feature: Adds experimental feature for internal API checks
Adds experimental feature to forward checks executed by the Icinga Agent to an internal REST-Api, to reduce the performance impact on systems with lower ressources available
Fixes DSL for building array elements escaped
Updates the Icinga DSL for building PowerShell arrays to ensure all string values are properly escaped with `'`. In case the user already wrapped commands with `'` by himself, this will not have an effect as we only add single quotes for escaping if they are not present already.
Fix: Plugin threshold conversion and adds % unit handling
Fixes `Convert-IcingaPluginThresholds` which sometimes did not return proper numeric usable values for our internal functions, causing issues on plugin calls. In addition the function now also supports the handling for % units.
Adds feature to customize label for checks
Adds new Argument `-LabelName` to `New-IcingaCheck`, allowing the developer to provide custom label names for checks and override the default based on the check name.
Fix: Background service check daemon data pool separation and memory leak
Improves the background daemon by separating each single configured check into an own data pool, preventing data of leaking from one thread to another which might cause a memory leak in long term with plenty of background checks defined.
This might also reduce CPU impact because lesser data has to be processed.
Feature: Ensure config.json is opened as read-only
In some cases it can happen that multiple processes access our config file. By default `Get-Content` is not thread save and might result in errors while reading the file content.
In general we should use a read-only attempt for the config.json and write it only if required.