Skip to content

Releases: Icinga/icinga-powershell-framework

Icinga for Windows v1.11.0

01 Aug 11:21
6ee6012
Compare
Choose a tag to compare

1.11.0 (2023-08-01)

Issues and PRs

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, preventing Update-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 the Update-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 Cmdlets icinga and Install-Icinga, to ignore errors on self-signed certificates within the environment
  • #643 Adds support for -RebuildCache flag on icinga 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

20 Dec 12:15
Compare
Choose a tag to compare

1.10.1 (2022-12-20)

Issue and PRs

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

30 Aug 06:23
1ef7120
Compare
Choose a tag to compare

1.10.0 (2022-08-30)

Issue and PRs

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 as Icinga for example
  • #489 Fixes error message This argument does not support the % unit in case a BaseValue is set, but the actual value is 0
  • #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 and Optimize-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 during Update-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 and Repair-IcingaStateFile, which is integrated into Test-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

03 Jun 10:04
Compare
Choose a tag to compare

1.9.2 (2022-06-03)

Issue and PRs

Bugfixes

  • #529 Fixes package manifest reader for Icinga for Windows components on Windows 2012 R2 and older

Icinga for Windows v1.9.1

12 May 09:42
Compare
Choose a tag to compare

1.9.1 (2022-05-13)

Bugfixes

Issue and PRs

  • #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

02 May 16:49
bc70537
Compare
Choose a tag to compare

1.9.0 (2022-05-03)

Issue and PRs

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 the service 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

07 Feb 14:37
7b1436d
Compare
Choose a tag to compare

1.8.0 (2022-02-08)

Issue and PRs

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 naming mayor for the version instead of major. We will return both results to give developers time to adjust their code before removing the mayor 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 the ifw.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 install icinga-powershell-restapi and icinga-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 returned Unknown for service StartType, 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 the Framework might break your environment. Not recommended in production environments for the Framework 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 the RemotePath 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 log Icinga 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 by The specified service has been marked for deletion
  • #448 Adds support to sort arrays without ScriptBlocks
  • #450 Improves show command Show-IcingaRegisteredServiceChecks, adds new command Show-IcingaRegisteredBackgroundDaemons and extends Show-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 and icinga -Shell to open a shell as done previously
  • #455 Adds support for remote execution plugin check_by_icingaforwindows

Icinga for Windows v1.7.1

11 Nov 15:05
Compare
Choose a tag to compare

1.7.1 (2021-11-11)

Issue and PRs

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

08 Nov 21:30
6fb630c
Compare
Choose a tag to compare

1.7.0 (2021-11-09)

Issue and PRs

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 used TimeSpan object to move from minutes to hours, like 60m and 1h
  • #395 Fixes -ThresholdInterval data type inside auto generated docs for plugins, which was of type Object, but should be of type String

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 addition Read-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

14 Sep 14:15
Compare
Choose a tag to compare

1.6.1 (2021-09-15)

Issue and PRs

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

Enhancements

  • #364 Fixes a long lookup for the user table on environments with a large Active Directory
  • #370 Fixes misleading IMC summary header, implying installation will start immediately on continue