Releases: Icinga/icinga-powershell-framework
Releases · Icinga/icinga-powershell-framework
Icinga for Windows v1.11.0
1.11.0 (2023-08-01)
Bugfixes
- #579 Fixes error message during config generation with
Get-IcingaCheckCommandConfig
to make it more clear, in case the custom variables generated are too long for the Icinga Director import - #603 Fixes service filter to handle exclude with wildcards instead of requiring the full service name (not applying to the display name)
- #609 Fixes config generator to never use
set_if = true
on Icinga 2/Icinga Director configuration - #611 Fixes
Sync-IcingaRepository
which did not save the SSH user and host inside the repository configuration, preventingUpdate-IcingaRepository
to work properly and added missing scp progress - #615 Fixes the framework migration tasks which fails in case multiple versions of the framework are installed, printing warnings in case there is
- #617 Fixes failing calls for plugins which use a switch argument like
-NoPerfData
, which is followed directly by the-ThresholdInterval
argument - #621 Fixes
-ThresholdInterval
key detection on newer systems - #634 Fixes an issue with
Clear-Host
which could cause an exception during certain automation tasks, causing it to fail - #645 Fixes error and exception handling while using API-Checks, which now will in most cases always return a proper check-result object and also abort while running into plugin execution errors, in case a server is not reachable by the time sync plugin for example
- #646 Fixes REST-Api to allow arguments for check execution with and without leading
-
- #648 Fixes some memory management while using the REST-Api to clear connection objects once they are no longer required
Enhancements
- #544 Adds support to configure the Icinga Director JSON string for registering hosts via self-service API
- #572 Adds support to write the name of the repository synced/created into the local
ifw.repo.json
file - #573 Adds support to run command
icinga
with new argument-NoNewInstance
, to use-RebuildCache
as example to update the current PowerShell instance with all applied changes - #613 Adds a
-Version
parameter to theUpdate-Icinga
command, to be able to update a component to a specified version [@log1-c] - #619 Adds feature to securely read enum provider values with new function
Get-IcingaProviderEnumData
- #623 Adds support to provide the Icinga service user written as
user@domain
- #633 Adds support for Icinga 2.14.0 native Icinga for Windows API communication
- #635 Adds support for
Write-IcingaAgentApiConfig
function to configure the Icinga Agent TLS cipher list setting by new argument-CipherList
- #637 Adds new base handling for future data providers with first metrics for
CPU
information - #638 Adds option for formatted, colored console prints with
Write-ColoredOutput
- #640 Adds support to set the flag
-NoSSLValidation
for Cmdletsicinga
andInstall-Icinga
, to ignore errors on self-signed certificates within the environment - #643 Adds support for
-RebuildCache
flag onicinga
cmd to rebuild component cache as well - #644 Adds progress bar output to repository interaction (sync, update, new) instead of plain text output
- #649 Adds new basic data provider base for Hyper-V information
- #655 Adds IWKB and test/manage Cmdlets for SCOM intercept counters
- #656 Adds new feature to write document content easier by storing it in memory first and then allowing to write it to disk at once with proper UTF8 encoding
Icinga for Windows v1.10.1
1.10.1 (2022-12-20)
Bugfixes
- #578 Fixes installation and uninstallation commands changing PowerShell location even when not necessary
- #582 Fixes background service registration caused by migration task for v1.10.0 being executed even when no services were defined before
- #588 Fixes threshold values causing an error because of too aggressive regex expression
- #599 Fixes plugin argument parser to proceed with real argument names and possible provided aliases
Icinga for Windows v1.10.0
1.10.0 (2022-08-30)
Please have a look on the upgrading docs before upgrading to v1.10.0!
Deprecated
- We have decided to now officially deprecate the previous installation method
Start-IcingaAgentInstallWizard
. It hasn't been updated or promoted in a long time and all new features have been moved to the Icinga Management Console. Please update your installation method to the new solution. The old method will be removed in a future release.
Bugfixes
- #473 Fixes an issue with current string rendering config implementation, as string values containing whitespaces or
$
are rendered wrong by default, if not set in single quotes''
- #476 Fixes exception
You cannot call a method on va null-valued expression
during installation in case no background daemon is configured - #482 Fixes encoding problems with special chars or German umlauts during plugin execution and unescaped whitespace in plugin argument strings like
Icinga for Windows
, which was previously wrongly rended asIcinga
for example - #489 Fixes error message
This argument does not support the % unit
in case aBaseValue
is set, but the actual value is0
- #503 Fixes wrong conversion of values for
Convert-IcingaPluginThresholds
, which did not properly handle string values containing certain units inside the string itself - #505 Fixes certificate generation and host registration, in case a custom hostname was set during usage of
Install-Icinga
automation - #529 Fixes package manifest reader for Icinga for Windows components on Windows 2012 R2 and older
- #523 Fixes errors on encapsulated PowerShell calls for missing Cmdlets
Write-IcingaConsoleError
andOptimize-IcingaForWindowsMemory
- #524 Fixes uninstallation process by improving the location handling of PowerShell instances with Icinga IMC or Shell
- #528 Fixes negative thresholds being interpreted wrongly as argument instead of an value for an argument
- #545 Fixes
RemoteSource
being cleared within repository.json
files duringUpdate-IcingaRepository
tasks - #552 Fixes file encoding for Icinga for Windows v1.10.0 to ensure the cache is always properly created with the correct encoding
- #553 Fixes an exception caused by service recovery setting, if the required service was not installed before
- #556 Fixes the certificate folder not present during first installation, preventing permissions properly set from the start which might cause issues once required
- #562 Fixes corrupt Performance Data, in case plugins were executed inside a JEA context without the REST-Api
- #563 Fixes checks like MSSQL using arguments of type
SecureString
not being usable with the Icinga for Windows REST-Api - #565 Fixes internal cache file writer and reader to store changes inside a
.tmp
file first and validating the file state and content, before applying it to the actual file to prevent data corruption - #566 Fixes useless testing and printing of error messages, in case the Icinga Agent is not installed during installation and Icinga for Windows printing plenty of errors, because the ACL checks cannot be completed because of the missing Agent
- #568 Fixes misleading SID error during uninstallation of Icinga for Windows or the Agent component
Enhancements
- #40 Adds support to set service recovery for the Icinga Agent and Icinga for Windows service, to restart them in case of a crash or error
- #485 Adds new style for performance data labels, to use the multi output format, allowing for better filtering and visualisation with InfluxDB and Grafana
- #502 Adds support for hostname override for old installer function
Start-IcingaAgentInstallWizard
[moreamazingnick] - #525 Adds new developer mode for
icinga
command and improved cache handling, to ensure within-DeveloperMode
and inside a VS Code environment, the framework cache file is never overwritten, while still all functions are loaded and imported. - #531 Adds
Test-IcingaStateFile
andRepair-IcingaStateFile
, which is integrated intoTest-IcingaAgent
, to ensure the Icinga Agent state file is healthy and not corrupt, causing the Icinga Agent to fail on start - #534 Improves Icinga and Director configuration generator, by wrapping PowerShell arrays inside
@()
instead of simply writing them comma separated - #536 Adds new function
Test-IcingaArrayFilter
for easier include and exclude filtering during plugin runtime and to allow filtering of array content for intended values only - #560 Improves handling for Icinga Management Console which will now terminate itself during full uninstallation and restarts after updating the Icinga PowerShell Framework, to apply changes directly
- #569 Adds
-Include
and-Exclude
filter for EventLog CLI parser, to only contain certain messages or exclude them from the output
Icinga for Windows v1.9.2
1.9.2 (2022-06-03)
Bugfixes
- #529 Fixes package manifest reader for Icinga for Windows components on Windows 2012 R2 and older
Icinga for Windows v1.9.1
1.9.1 (2022-05-13)
Bugfixes
- #519 Fixes missing loading of Icinga for Windows modules, which is required to ensure an Icinga for Windows environment is providing all commands and variables to a session, allowing other modules to access these information
- #520 Adds missing
Import-IcingaPowerShellComponent
function while creating new components by using the developer tools
Icinga for Windows v1.9.0
1.9.0 (2022-05-03)
Bugfixes
- #472 Fixes random errors while dynamically compiling Add-Type code by now writing a DLL inside
cache/dll
for later usage - #478 Fixes connection option "Connecting from parent system" which is not asking for ca.crt path
- #479 Fixes possible exceptions while trying to remove downloaded repository temp files which might still contain a file lock from virusscanners or other tasks
- #480 Fixes service locking during Icinga Agent upgrade and ensures errors on service management are caught and printed with internal error handling
- #483 Fixes REST-Api SSL certificate lookup from the Icinga Agent, in case a custom hostname was used or in certain domain environments were domain is not matching DNS domain
- #490 Fixes the command
Uninstall-IcingaComponent
for theservice
component which is not doing anything - #491 Fixes GC collection with
Optimize-IcingaForWindowsMemory
for every incoming REST connection call - #497 Fixes loop sleep for idle REST-Api threads by replacing them with BlockingCollection ConcurrentQueue
Enhancements
- #469 Improves plugin doc generator to allow multi-lines in code examples and updates plugin overview as table, adding a short description on what the plugin is for
- #495 Adds feature to check the sign status for the local Icinga Agent certificate and notifying the user, in case the certificate is not yet signed by the Icinga CA
- #496 Improves REST-Api default timeout for internal plugin execution calls from 30s to 120s
- #498 Adds feature for thread queuing optimisation and frozen thread detection for REST calls
- #514 Adds support for Icinga for Windows module isolation
Icinga for Windows v1.8.0
1.8.0 (2022-02-08)
Bugfixes
- #273 Fixes exceptions and freezes while using Icinga for Windows within an PowerShell ISE session and informing the user properly about the limitations
- #291 Fixes
Split-IcingaVersion
by returning data with namingmayor
for the version instead ofmajor
. We will return both results to give developers time to adjust their code before removing themayor
object - #379 Fixes memory leak for Icinga for Windows by using a custom function being more aggressive on memory cleanup
- #380 Fixes exception while using
Use-Icinga
inside the same shell Icinga for Windows is installed for the first time on the system - #394 Fixes lookup time for Icinga managed user for large Active Directory environments by limiting lookup to local system only
- #402 Fixes missing address attribute for REST-Api daemon, making it unable to change the listening address
- #403 Fixes memory leak on newly EventLog reader for CLI event stream
- #407 Removes unnecessary module import inside
Invoke-IcingaNamespaceCmdlets
- #409 Fixes URL builder for
Sync-IcingaRepository
which will now properly test the JSON file and try a secondary fallback by pointing to theifw.repo.json
in case a URL is returning the directory listing instead - #411 Fixes Icinga Director error message output because of missing
[string]::Format()
- #412 Fixes possible defective state of the Icinga Agent by using a custom service user for JEA profiles which is larger than 20 digits
- #414 Fixes Service Check Daemon with a total rewrite to improve performance, decrease required resources and fix memory leaks
- #418 Fixes crash on wrong variable usage introduced by #411
- #421 Fixes experimental state of
API Check
feature by removing that term and removing the requirement to installicinga-powershell-restapi
andicinga-powershell-apichecks
- #436 Fixes a lookup error for existing plugin documentation files, which caused files not being generated properly in case a similar name was already present on the system
- #439 Moves PerformanceCounter to private space from previous public, which caused some problems
- #441 Fixes an exception while loading the Framework, caused by a race condition for missing environment variables which are accessed by some plugins before the Framework is loaded properly
- #443 Fixes
Get-IcingaServices
which returnedUnknown
for serviceStartType
, in case the-Service
argument contained values with wildcard*
- #446 Fixes Icinga for Windows progress preference, which sometimes caused UI glitches
- #449 Fixes unhandled exception while importing modules during
Install-IcingaComponent
process, because of possible missing dependencies - #451 Fixes PowerShell being unable to enter JEA context if only the Framework is installed and removes the
|
from plugin output, in case a JEA error is thrown that check commands are not present - #452 Fixes unhandled
true
output on the console while running the installer - #454 Fixes JEA catalog compiler and background daemon execution in JEA context
- #456 Fixes JEA service error count not resetting itself after a certain amount of time without errors
- #458 Fixes
Install-IcingaSecurity
which should only run in an administrative shell - #459 Fixes
Update-Icinga
which was not working to downgrade snapshot packages pack to release (NOTE: It can still happen that migrations of theFramework
might break your environment. Not recommended in production environments for theFramework
component) - #460 Fixes Icinga Agent installation over IMC and Director Self-Service, in case the Self-Service is configured to not install the Icinga Agent or the user manually set
Do not install Icinga Agent
inside the IMC, which results in most configurations not being applied to the Agent, in case it is already installed - #461 Fixes
Add-IcingaRepository
which now only overrides theRemotePath
by using-Force
instead of removing and adding the repository again, causing problems with installation orders over IMC for example - #464 Fixes Icinga for Windows uninstaller which did not remove the service binary for the PowerShell service
Enhancements
- #388 Improves performance for testing if
Add-Type
functions have been added, by adding an internal test for newly introduced environment variables within a PowerShell session - #417 Adds support to allow the force creation of Icinga Agent certificates, even when they are already present on the system over Icinga Management Console installation
- #427 Moves Icinga for Windows EventLog from
Application
to a custom logIcinga for Windows
, allowing better separation - #438 Adds support for enabling the REST-Api background daemon and the Api-Check feature during the IMC installation wizard on advanced settings, which will be enabled by default
- #440 Adds upgrade notification if Icinga for Windows Service binary older than v1.2.0 is used, which will not work with Icinga for Windows v1.8.0 or later
- #445 Adds command
Repair-IcingaService
to repair Icinga Agent service in case it was broken during upgrades, mostly caused byThe specified service has been marked for deletion
- #448 Adds support to sort arrays without ScriptBlocks
- #450 Improves show command
Show-IcingaRegisteredServiceChecks
, adds new commandShow-IcingaRegisteredBackgroundDaemons
and extendsShow-Icinga
by both commands and adds debug and api forwarder features to environment list - #453 Reworks Icinga Management Console menu structure and naming and changes the default behavior of executing
icinga
to now open the IMC by default andicinga -Shell
to open a shell as done previously - #455 Adds support for remote execution plugin check_by_icingaforwindows
Icinga for Windows v1.7.1
1.7.1 (2021-11-11)
Bugfixes
- #398 Fixes String.Builder object output, while creating new components by using
New-IcingaForWindowsComponent
- #399 Fixes repository file hash generator, which now only includes .zip and .msi files, which otherwise turned into invalid hashes because of the repository index file always changing based on the assigned hash
- #401 Fixes the repository manager by now using Icinga WebRequests instead of Windows WebRequests, allowing the usage of the internal proxy feature
Fixing Repository Sync-Issues:
Before you can upgrade to v1.7.0 or v1.7.1 and you are using the repository sync and repositories, you will have to sync the repository by using the -ForceTrust
argument first, as otherwise the older versions will fail on the same step by validating the hashes. If you want to stay secure and do not wish to force the trust of the repository, you can manually apply the patch for the Icinga for Windows environment you want to run the sync from. Once applied, simply run the following command
icinga -RebuildCache;
and start the sync process from this new shell.
Icinga for Windows v1.7.0
1.7.0 (2021-11-09)
Bugfixes
- #375 Fixes exception on last message printed during
Uninstall-IcingaForWindows
, because the prior used function is no longer present at this point - #376 Fixes IMC error handling on invalid JSON for installation command/file
- #377 Fixes overhead for testing of modules being loaded, which returned invalid path values and wrong exceptions, which was unnecessary in first place
- #381 Fixes Repository Hash generator for new repositories, which always returned the same hash regardless of the files inside
- #386 Fixes check command config generator for Icinga Director baskets/Icinga 2 conf files, in case we are using a check command with an alias as reference to a new name of a check command
- #387 Fixes config generator to use alias names for command arguments/parameters in case available instead of the real name
- #390 Fixes threshold interval time conversion by using
-ThresholdInterval
with values that cause the usedTimeSpan
object to move from minutes to hours, like60m
and1h
- #395 Fixes
-ThresholdInterval
data type inside auto generated docs for plugins, which was of typeObject
, but should be of typeString
Enhancements
- #383 Moves the components REST-Api icinga-powershell-restapi and API-Checks icinga-powershell-apichecks directly into the Framework
- #389 Adds developer tools for easier start and management of development custom extensions for Icinga for Windows
- #392 Adds support to read logs from Windows EventLog while using
Read-IcingaAgentLogFile
- #393 Adds generic reader function
Read-IcingaWindowsEventLog
, allowing to read any EventLog as stream on the console and adds in additionRead-IcingaForWindowsLog
for reading Icinga for Windows specific logs - #396 Adds function
Publish-IcingaPluginDocumentation
from plugins directly into the Framework
Icinga for Windows v1.6.1
1.6.1 (2021-09-15)
Bugfixes
- #361 Fixes IMC freeze on Icinga Director Self-Service installation, in case no Agent installation set on Self-Service API config
- #362 Fixes repository component installation from file share locations
- #363 Fixes unneeded continue for JEA process lookup, in case no JEA pid is present
- #365 Fixes Icinga environment corruption on Icinga Agent installation failure
- #366 Fixes error handling with Icinga Director over IMC, by printing more detailed and user-friendly error messages
- #367 Fixes Icinga Director register state not being saved on overview after registration of Host inside Self-Service API
- #368 Fixes repository lookup on local path for ifw.repo.json, in the json file was added to the file path during repository add
- #369 Fixes experimental feature warning for API-Check Forwarder feature, which is fully supported since v1.6.0 and replaces it with proper information and link to docs
- #371 Fixes wrong indention on Icinga parent host address at IMC configuration summary overview
- #373 Fixes repository names with dots (
.
) by replacing them with-
, as otherwise the config parser will fail finding the config object