Commit graph

87 commits

Author SHA1 Message Date
Lord Hepipud
9a2e793be8 Fix GC collection on every REST connection 2022-04-06 13:59:31 +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
e4ddbea4d6 Adds feature to detect frozen threads 2022-03-18 22:54:43 +01:00
Lord Hepipud
046074d468 Increase REST-Api default timeout from 30s to 120s 2022-03-18 17:41:37 +01:00
Lord Hepipud
ffb86acab8 Fixes Rest-Api SSL lookup for custom hostname 2022-03-17 12:26:39 +01:00
Lord Hepipud
a90151493f Adds feature checking Icinga Agent cert sign state 2022-03-17 11:36:56 +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
733f3cfe3b Fixes possible service lock and error handling 2022-02-15 15:47:01 +01:00
Lord Hepipud
99f8013252 Fixes exceptions while removing tmp repo download 2022-02-15 14:40:48 +01:00
Lord Hepipud
1c88fe2a09 Fixes parent connection not asking for ca.crt 2022-02-15 13:42:28 +01:00
Lord Hepipud
ecc11128cb Fixes errors while dynamically compiling Add-Type 2022-02-09 12:16:18 +01:00
Lord Hepipud
d9676811ab Improves plugin doc generator for better docs 2022-02-08 09:14:13 +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
58ed9292c6 Fixes repository order/config override on force 2022-02-03 13:36:43 +01:00
Lord Hepipud
251ff8d4e3 Fixes Icinga Agent broken state before IMC install 2022-02-03 13:04:34 +01:00
Lord Hepipud
9d388fd684 Fixes Update-Icinga between snapshot/stable 2022-01-30 14:02:00 +01:00
Lord Hepipud
6598eb0bb8 Fixes install icinga security for admin shell 2022-01-29 00:42:40 +01:00
Lord Hepipud
051ac452b3 Fixes JEA service errors not resetting themself 2022-01-29 00:27:52 +01:00
Lord Hepipud
e0fc3e52e2 Adds support for check_by_icingaforwindows.ps1 2022-01-28 23:31:23 +01:00
Lord Hepipud
954e69fde1 Reworks background daemon for JEA context 2022-01-28 21:06:18 +01:00
Lord Hepipud
c82ab620bc Fixes unhanded true output during installation 2022-01-28 09:01:38 +01:00
Lord Hepipud
c96d49551e Fixes Get-IcingaService StartType with wildcards 2022-01-27 22:05:32 +01:00
Lord Hepipud
210862e683 Fixes JEA error on no modules installed and output 2022-01-27 21:59:38 +01:00
Lord Hepipud
586b55adc0 Improves show commands and extends Show-Icinga 2022-01-27 21:06:13 +01:00
Lord Hepipud
3eac2b3080 Fixes error handling for failed module import 2022-01-27 19:53:10 +01:00
Lord Hepipud
71269705cf Adds feature to sort arrays without ScriptBlocks 2022-01-27 19:37:40 +01:00
Lord Hepipud
cf52e6372e Fixes progress status writer by reworking 2022-01-27 15:34:17 +01:00
Lord Hepipud
b97aca7d25 Adds command to repair Icinga Agent service 2022-01-27 13:37:13 +01:00
Lord Hepipud
293d5c06fa Fixes possible exception on Use-Icinga 2022-01-26 16:23:38 +01:00
Lord Hepipud
7faa516c15 Fixes exception on loading by missing environment 2022-01-25 12:18:08 +01:00
Lord Hepipud
fe000c020f Adds upgrade notification to service binary 2022-01-25 11:54:18 +01:00
Lord Hepipud
f6cf9492e5 Moves PerformanceCounter to private space 2022-01-25 11:26:51 +01:00
Lord Hepipud
a23a40b23f Rewrite IfW service check daemon 2022-01-25 10:00:19 +01:00
Lord Hepipud
4d4d9caf2e Adds feature to enable Api-Checks over IMC install 2022-01-24 15:16:23 +01:00
Lord Hepipud
2b61c297ea Fixes plugin doc generator file lookup 2022-01-23 13:11:21 +01:00
Lord Hepipud
3313976670
Merge pull request #428 from Icinga:feature/move_eventlog_from_application
Feature: Moves EventLog out of Application log for IfW

We will move the Icinga for Windows EventLog away from the current \`Application\` log and move it into a custom \`Icinga for Windows\` log, to ensure the \`Application\` log is not spammed with Icinga for Windows events.
2022-01-21 18:42:45 +01:00
Lord Hepipud
8244c2d440 Moves IfW EventLog out of Application log 2022-01-21 18:40:32 +01:00
Lord Hepipud
43fd685126 Fixes exceptions and freezes inside ISE session 2022-01-20 18:15:08 +01:00
Lord Hepipud
4ef55bddb4 Fixes lots of code styling, spelling and script analyzer
Disabling UseConsistentIndentation because it is not
properly working for multi-line commands with arguments
and array/hashtable objects
2022-01-14 22:26:53 +01:00
Lord Hepipud
dd2d71ee07 Remove experimental for API Checks and module note 2022-01-14 20:53:16 +01:00
Lord Hepipud
bf8d6479a9
Merge pull request #419 from Icinga:fix/managed_user_lookup_time
Fix: Icinga Managed User lookup time

Fixes the lookup time if a user is managed by Icinga for Windows or not in large Active Directory environments, by using \`Get\-LocalUser\` instead.

This Cmdlet is available starting with PowerShell 5.0 and later and only required in general for running Icinga for Windows in JEA context. As JEA is only supported starting with PowerShell 5.0 or later, this will not cause any problems.

In case the command is executed on an older system without the \`Get\-LocalUser\` Cmdlet available, Icinga for Windows will handle all users tested with the new implementation as \`not\` managed by Icinga for Windows.
2022-01-14 20:00:57 +01:00
Lord Hepipud
008b4920f1 Adds exeception detail reporting 2022-01-13 00:03:10 +01:00
Lord Hepipud
46bcb914fc Adds support for cert force creation over IMC 2022-01-04 21:53:28 +01:00
Lord Hepipud
55a0ce4987 Fixes repo sync by properly checking result 2022-01-04 20:55:34 +01:00
Lord Hepipud
63f24399b8 Fixes version splitting by returning major object 2022-01-04 20:25:21 +01:00
Lord Hepipud
327bb13d32 Fixes maximum user length for JEA profiles 2022-01-04 20:14:59 +01:00
Lord Hepipud
7dc1ffc3c5 Fixes lookup time for Icinga managed user 2022-01-04 02:11:39 +01:00