How to collect Metrics over Time and use the Api Checks?

Hello,

I configured the Background Checks as described here :
https://icinga.com/docs/icinga-for-windows/latest/doc/110-Installation/06-Collect-Metrics-over-Time/
and got them working as expected. Although I did not found any documentation on how to set thresholds for example for “load15m”. Can anyone point me to the documentation?

Whats more important though is, after getting background checks to work, I enabled the “API Check Forwarder” as documented here : “API Check Forwarder - Icinga for Windows”. As soon as I enabled that the background checks don’t work anymore.

The Output of Invoke-IcingaCheckCPU with enabled API Checks is :

[OK] CPU Load
\_ [OK] Top 10 Process CPU usage
   \_ [OK] Process Data: No process with high CPU usage found
| '0_2::ifw_cpu::load'=11.72908%;;;0;100 '0_3::ifw_cpu::load'=13.93865%;;;0;100 'totalload::ifw_cpu::load'=12.685832%;;;0;100 '0_total::ifw_cpu::load'=12.685832%;;;0;100 '0_0::ifw_cpu::load'=13.38949%;;;0;100 '0_1::ifw_cpu::load'=11.68611%;;;0;100
0

It is missing the load5, load10 and load15 values. If i execute Disable-IcingaFrameworkApiChecks the output changes to :

[OK] CPU Load
\_ [OK] Top 10 Process CPU usage
   \_ [OK] Process powershell with id 2180: 99.00%
   \_ [OK] Process powershell with id 5328: 88.00%
   \_ [OK] Process svchost with id 2752: 5.00%
   \_ [OK] Process System with id 4: 5.00%
   \_ [OK] Process WmiPrvSE with id 3412: 5.00%
   \_ [OK] Process WmiPrvSE with id 3908: 5.00%
| '0_2::ifw_cpu::load'=7.385296%;;;0;100 'load15m'=2.861716%;;;0;100 'load1m'=2.861716%;;;0;100 'load3m'=2.861716%;;;0;100 'load5m'=2.861716%;;;0;100 '0_3::ifw_cpu::load'=8.936604%;;;0;100 'load15m'=2.853888%;;;0;100 'load1m'=2.853888%;;;0;100 'load3m'=2.853888%;;;0;100 'load5m'=2.853888%;;;0;100 'totalload::ifw_cpu::load'=7.565084%;;;0;100 'load15m'=2.917070%;;;0;100 'load1m'=2.917070%;;;0;100 'load3m'=2.917070%;;;0;100 'load5m'=2.917070%;;;0;100 '0_total::ifw_cpu::load'=7.565084%;;;0;100 'load15m'=2.917070%;;;0;100 'load1m'=2.917070%;;;0;100 'load3m'=2.917070%;;;0;100 'load5m'=2.917070%;;;0;100 '0_0::ifw_cpu::load'=6.820628%;;;0;100 'load15m'=3.572024%;;;0;100 'load1m'=3.572024%;;;0;100 'load3m'=3.572024%;;;0;100 'load5m'=3.572024%;;;0;100 '0_1::ifw_cpu::load'=7.117807%;;;0;100 'load15m'=2.380654%;;;0;100 'load1m'=2.380654%;;;0;100 'load3m'=2.380654%;;;0;100 'load5m'=2.380654%;;;0;100
0

so it seems to me that the api check override the background checks. Is there any way to use both at the same time? Especially since the API Check documentation mentions ’ This is a huge performance boost and should be mandatory on all Windows machines.’

Hi,

I can link the docs for performance data only:
https://nagios-plugins.org/doc/guidelines.html#AEN200

This is the expected format:
'label'=value[UOM];[warn];[crit];[min];[max]

In your plugin output warn and crit are empty.
But in dependency of the graphing tool warning and critical value might be ignored (eg Graphite cannot render a line for warn and critical limit).

I don’t have Windows systems to monitor - I don’t know why the behavior is like described.

regards,
Axel