Commit graph

1787 commits

Author SHA1 Message Date
Lord Hepipud
6838a4f6ef
Merge pull request #497 from haxtibal/feature/avoid_busy_loop
Use a BlockingCollection to avoid busy loop in REST API threads
2022-03-30 11:46:04 +02:00
Tobias Deiminger
d215cfd568 Use a BlockingCollection to avoid busy loop in REST API threads
The former implementation had 5 threads permanently spinning fast
(10ms sleep) while waiting for a REST connection to process.
This causes higher load in general and it breaks systems where
"Turn on PowerShell Script Block Logging policy" is enabled,
because then each PS statement including Start-Sleep is logged -
resulting in 500 event log entries per second. It's a suggested
setting in some hardening guidelines.

We can easily replace the Queue with a BlockingCollection backed
by a ConcurrentQueue, which has the built-in feature to sleep until
there are new items. Now the REST API threads consumes zero CPU time
while waiting.
2022-03-30 11:13:03 +02:00
Lord Hepipud
90e80c83bd
Merge pull request #501 from Icinga:doc/iwkb_perf_lib_doc
Doc: Updates IWKB for perf lib errors
2022-03-25 13:43:29 +01:00
Lord Hepipud
acea1c9a11 Updates IWKB for perf lib errors 2022-03-25 13:42:40 +01:00
Lord Hepipud
36fe4f2466
Merge pull request #498 from Icinga:feature/thread_keep_alive_and_housekeeping_on_freeze
Feature: Add thread queuing optimisation and frozen thread detection

Adds feature to check for frozen threads on REST-Api, ensuring that non-responding threads are killed after 5 minutes without progress and restartet.
Also improves queing of REST-Api tasks into threads, which now prioritizes to check for inactive threads first to enque new calls and falls back to old behaviour, in case all threads are busy.
2022-03-18 23:16:35 +01:00
Lord Hepipud
e4ddbea4d6 Adds feature to detect frozen threads 2022-03-18 22:54:43 +01:00
Lord Hepipud
722b8ba838
Merge pull request #496 from Icinga:fix/increase_rest_api_default_timeout
Fix: Improves REST-Api default timeout

Improves REST-Api default timeout for internal plugin execution calls from 30s to 120s
2022-03-18 17:42:41 +01:00
Lord Hepipud
046074d468 Increase REST-Api default timeout from 30s to 120s 2022-03-18 17:41:37 +01:00
Lord Hepipud
bff3537110
Merge pull request #484 from Icinga:fix/rest_ssl_cert_lookup_custom_hostname
Fix: REST-Api SSL certificate lookup on custom hostname or domain/dns domain mismatch

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
2022-03-17 12:27:45 +01:00
Lord Hepipud
ffb86acab8 Fixes Rest-Api SSL lookup for custom hostname 2022-03-17 12:26:39 +01:00
Lord Hepipud
3c053ecd7e
Merge pull request #495 from Icinga:feature/check_icinga_agent_certificate_sign_status
Feature: Check Icinga Agent certificate sign status

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.
2022-03-17 11:40:03 +01:00
Lord Hepipud
a90151493f Adds feature checking Icinga Agent cert sign state 2022-03-17 11:36:56 +01:00
Lord Hepipud
e6d820735d
Merge pull request #493 from Icinga:doc/rest_api_doc_update
Doc: REST-Api section doc update

Updates doc for new IMC installation way and removes no longer required dependencies.
2022-03-17 08:59:38 +01:00
Lord Hepipud
2d3a700672 REST-Api section doc update 2022-03-17 08:58:01 +01:00
Lord Hepipud
457413bc88
Merge pull request #490 from Icinga:fix/uninstall_service_component_not_working
Fix: Uninstaller for service component not working

Fixes the command `Uninstall-IcingaComponent` for the `service` component which is not working.
2022-03-16 16:28:14 +01:00
Lord Hepipud
e2c2529386 Fixes uninstaller for service component 2022-03-16 16:24:56 +01:00
Lord Hepipud
7cf1dd4589 Changelog fix 2022-02-15 17:47:49 +01:00
Lord Hepipud
404cdc1973
Merge pull request #481 from Icinga:fix/unhandled_icinga_output
Fixes unhandled Icinga output
2022-02-15 16:02:35 +01:00
Lord Hepipud
3a91be6de8 Fixes unhandled Icinga output 2022-02-15 16:01:48 +01:00
Lord Hepipud
7c13c1362d
Merge pull request #480 from Icinga:fix/service_locking_and_error_handling
Fix: Service locking and error handling

Fixes service locking during Icinga Agent upgrade and ensures errors on service management are caught and printed with internal error handling
2022-02-15 15:51:00 +01:00
Lord Hepipud
733f3cfe3b Fixes possible service lock and error handling 2022-02-15 15:47:01 +01:00
Lord Hepipud
43252ced15
Merge pull request #479 from Icinga:fix/download_packages_removal_exception
Fix: Exceptions while removing temp files from repository download

Fixes possible exceptions while trying to remove downloaded repository temp files which might still contain a file lock from virusscanners or other tasks
2022-02-15 14:41:07 +01:00
Lord Hepipud
99f8013252 Fixes exceptions while removing tmp repo download 2022-02-15 14:40:48 +01:00
Lord Hepipud
9c545f26b7
Merge pull request #478 from Icinga:fix/parent_connection_not_asking_for_ca_crt
Fix: Option "Connecting from parent system" is not asking for ca.crt

While using the IMC with the connection option "Connecting from parent system", the wizard is not asking for the location of the ca.crt, which is required in order to complete the Icinga Agent process and ensure the API feature can be enabled afterwards.

Before, the user had to manually configure this step, which required knowledge on how this process works for Icinga.
2022-02-15 13:43:26 +01:00
Lord Hepipud
1c88fe2a09 Fixes parent connection not asking for ca.crt 2022-02-15 13:42:28 +01:00
Lord Hepipud
e17c416ed3
Merge pull request #472 from Icinga:fix/add_type_dynamic_compile_errors
Fix: Errors while dynamically compiling Add-Type

Icinga for Windows is using `Add-Type` in some small cases, to properly fetch UNC Path values for plugins or disk attribute information.

While in most cases this works without problems, sometimes the on-the-fly compilation fails because of out-of-memory exceptions or different errors.

This fix will now compile the DLL required inside the `cache/dll` folder if not present and load the compiled DLL's if required and available.
2022-02-09 12:26:13 +01:00
Lord Hepipud
ecc11128cb Fixes errors while dynamically compiling Add-Type 2022-02-09 12:16:18 +01:00
Lord Hepipud
c0897c4bce
Merge pull request #471 from Icinga:fix/plugin_doc_generator_newline_table
Fix: New-lines in plugin doc table generator
2022-02-08 09:42:25 +01:00
Lord Hepipud
da3eda532b Fixes new-lines in plugin doc table generator 2022-02-08 09:41:47 +01:00
Lord Hepipud
36e6462863
Merge pull request #470 from Icinga:doc/updates_docs_broken_links
Doc: Updates broken links and spelling errors
2022-02-08 09:27:16 +01:00
Lord Hepipud
c6ea622fd2 Updates doc broken links and spelling errors 2022-02-08 09:26:41 +01:00
Lord Hepipud
901c34acba
Merge pull request #469 from Icinga:feature/improve_plugin_dic_visualisation
Feature: Improves plugin doc generator for better docs

Adds table view for plugins with short summary of what the plugin is for and allows multi-lines in example docs
2022-02-08 09:16:10 +01:00
Lord Hepipud
d9676811ab Improves plugin doc generator for better docs 2022-02-08 09:14:13 +01:00
Lord Hepipud
a7b9859d50 Updates next version to v1.9.0 2022-02-07 15:40:40 +01:00
Lord Hepipud
7b1436dbef
Merge pull request #468 from Icinga:feature/adds_pid_to_show_icinga
Feature: Adds PID to Show-Icinga

Adds pid information to Show-Icinga and improves Icinga for Windows certificate output.
2022-02-07 15:30:36 +01:00
Lord Hepipud
87d40725ed Adds PID to Show-Icinga 2022-02-07 15:29:27 +01:00
Lord Hepipud
8e41a2d4aa
Merge pull request #467 from Icinga:doc/ikwb_windows_defender
Doc: Adds KB for Microsoft Defender
2022-02-07 15:12:15 +01:00
Lord Hepipud
a1d32a584a Adds KW for Microsoft Defender problems 2022-02-07 15:10:54 +01:00
Lord Hepipud
2d883dbe79
Merge pull request #466 from Icinga:fix/plugin_doc_creator_metrics_over_time_url
Fix Link to metrics over time docs

Fixes link to metric over time for plugin documentation writer
2022-02-07 13:23:44 +01:00
Lord Hepipud
167aa4f215 Fixes link to metrics over time docs 2022-02-07 13:23:03 +01:00
Lord Hepipud
b9aaaa050f
Merge pull request #465 from Icinga:doc/knowledge_base_extension
Docs: Extend knowledge base
2022-02-07 13:08:09 +01:00
Lord Hepipud
07e5164299 Adds additional knowledge base entries 2022-02-07 13:07:04 +01:00
Lord Hepipud
caf89664f5
Merge pull request #464 from Icinga:fix/uninstall_ifw_not_removing_service_binary
Fix: Icinga for Windows uninstaller not removing service binary

Fixes the Icinga for Windows uninstaller which did not remove the service binary.
2022-02-06 17:12:40 +01:00
Lord Hepipud
6b38f27338 Fixes ifw uninstaller to remove service binary 2022-02-06 17:12:17 +01:00
Lord Hepipud
f923a9e6e3
Merge pull request #453 from Icinga:feature/optimize_imc
Feature: Rework IMC menu and extend feature set

Reworks the menu structure of the Icinga for Windows Management Console and makes it the default when running the command `icinga`.

For developers you can use `icinga -Shell` to receive the Icinga shell as before. In addition improves error handling of IMC, by caching all `Errors` and `Warnings` during action execution, printing them afterwards.
2022-02-04 16:13:08 +01:00
Lord Hepipud
c129bb627c Optimizes IMC and centralizes data 2022-02-04 16:11:02 +01:00
Lord Hepipud
436fca375b
Merge pull request #463 from Icinga:fix/repository_nolonger_readded_on_force
Fix: Add-IcingaRepository removes and adds repository with -Force

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
2022-02-03 13:38:25 +01:00
Lord Hepipud
58ed9292c6 Fixes repository order/config override on force 2022-02-03 13:36:43 +01:00
Lord Hepipud
87b0e84749
Merge pull request #462 from Icinga:fix/agent_installed_before_imc
Fix: Icinga Agent not configured properly if not installed over IMC and installation disabled there

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
2022-02-03 13:05:28 +01:00
Lord Hepipud
251ff8d4e3 Fixes Icinga Agent broken state before IMC install 2022-02-03 13:04:34 +01:00