Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Invoke-IcingaCheckPerfCounter Plugin Behavior with Missing Performance Counters #427

Open
ispmonsupporto opened this issue Nov 29, 2024 · 0 comments

Comments

@ispmonsupporto
Copy link

Introduction: During a mass deployment for metric collection using the Invoke-IcingaCheckPerfCounter plugin in a client’s infrastructure, an issue was identified related to the handling of missing performance counters.
Specifically, the -IgnoreEmptyChecks option, which is meant to prevent the plugin from returning an UNKNOWN exit code when a performance counter is not present, is not working as expected.

Problem Description:
When the Invoke-IcingaCheckPerfCounter plugin is used with the -IgnoreEmptyChecks option, the expected behavior is that if the specified performance counter does not exist on the server, the plugin should ignore the check without returning an UNKNOWN error. However, when the counter is missing, the plugin still returns UNKNOWN despite the option being correctly configured.

When the performance counter exists: Running the command with an existing performance counter:
Invoke-IcingaCheckPerfCounter -IgnoreEmptyChecks -PerfCounter '\Hyper-V Hypervisor Logical Processor(_Total)% Total Run Time' -Verbosity 3

image
Expected result: The plugin returns the performance counter value, and the exit code is a valid result (e.g., OK or WARNING, depending on the collected data).

When the performance counter does not exist: Running the command with a missing performance counter:
Invoke-IcingaCheckPerfCounter -IgnoreEmptyChecks -PerfCounter '\Hyper-V Hypervisor Virtual Processor(_Total)\CPU Wait Time Per Dispatch' -Verbosity 3

image
Observed result: Despite having the -IgnoreEmptyChecks option enabled, the plugin still returns an UNKNOWN error instead of ignoring the check as expected.

Versions of components in use on the server

Icinga PowerShell Framework v1.12.3
PowerShell Version => 4.0
Operating System => Microsoft Windows Server 2012 R2 Datacenter
Operating System Version => 6.3.9600

Installed components on this system:
image

Is it possible to get an OK status when the counter is not found? Can this be fixed?

Regard
Mirko M.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant