Skip to content

Commit d59ef8a

Browse files
authored
Merge pull request #275 from Icinga:doc/adds_perflib_error_kb
Docs: Adds PerfLib error IWKB000008 Adds knowledge base IWKB000008 for `Perflib`, `PerfNet` and `PerfProc` errors/warnings with EventId `1008`, `2002` and `2004`
2 parents 72194a1 + 4d415e5 commit d59ef8a

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed

doc/10-Knowledge-Base.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ For this reason you will find a list of Icinga knowledge base entries below. Ent
1515
| [IWKB000005](knowledgebase/IWKB000005.md) | powershell.exe : Failed to start service 'Icinga PowerShell Service (icingapowershell)'. |
1616
| [IWKB000006](knowledgebase/IWKB000006.md) | The user you are running this command as does not have permission to access the Windows Update ComObject "Microsoft.Update.Session". |
1717
| [IWKB000007](knowledgebase/IWKB000007.md) | Icinga Director Self-Service API fails with errors. [Error]: The remote host for address "..." could not be resolved [Error]: Failed to connect to your Icinga Director at "...". Please try again. |
18+
| [IWKB000008](knowledgebase/IWKB000008.md) | The EventLog contains many `Perflib`, `PerfNet` and `PerfProc` errors/warnings with EventId `1008`, `2002` and `2004` |
Loading

doc/knowledgebase/IWKB000008.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Icinga Knowledge Base - IWKB000008
2+
3+
## Short Message
4+
5+
The EventLog contains many `Perflib`, `PerfNet` and `PerfProc` errors/warnings with EventId `1008`, `2002` and `2004`
6+
7+
## Example Exception
8+
9+
![EventLog PerfLib](../images/04_knowledgebase/IWKB000008/01_EventLog_Error.png)
10+
11+
## Reason
12+
13+
We are using an internal .NET Class to create Performance Counter objects, as this allows us to use the englisch naming for `Processor` for example, instead of many different localization for categories or counter names.
14+
15+
By doing so, we ensure that Icinga for Windows can be used on any Windows machine, regardless of language settings.
16+
17+
The issue on this method is, that even while we only load the `Processor` Performance Category for example, the method will try to initialise all Performance Counter categories available on the system. Regular users, including the `NetworkService`, do not have enough permissions to access the `WmiApRpl` for example, resulting in aboves error message. Running the plugins as `Administrator` or in `System` context is not causing issues, as the required permissions to access these objects are available.
18+
19+
## Solution
20+
21+
At the moment there is no solution available to resolve this issue. Permissions to these counters cannot be granted. Disabling these Performance Counter endpoints is not suitable as well, because it might break different applications and it is also **not** adviced to run the Icinga Agent or checks in `LocalSystem` context for security reasons.
22+
23+
Right now a workaround would be the experimental feature [Forward Checks to Internal API](..\experimental\01-Forward-checks-to-internal-API.md), which is not yet ready for production.
24+
25+
As Performance Counter libraries are loaded during startup, they will only occur once you start the Icinga for Windows service with this daemon. Every single check executed afterwards will use Performance Counter libraries, but the current shell session has already loaded required components and therefor only access objects we want.
26+
27+
As a result, no additional errors or warnings are added to the EventLog.

0 commit comments

Comments
 (0)