wmi_cpuload handle counter reset in Checkmk Graph

This article explains how to reset the counter of CPU cores when added to a Windows VM.

LAST TESTED ON CHECKMK 2.3.0P1

Table of Contents

Problem

Since the increase of the cores on the Windows VM, the graphs show constant values without any change.

Screenshot of the CPU load and CPU core service highlighting that after adding more cores, the graphs are not updating.


The Windows Agent executes the following commands to get the values:

Get-WmiObject -class Win32_PerfRawData_PerfOS_System -namespace   root\cimv2 |Format-List *
Get-WmiObject -class Win32_PerfRawData_PerfOS_System -namespace root\cimv2 |Format-List ProcessorQueueLength

Solution

Checkmk is caching these values with the corresponding timestamp. In this case, the new timestamp has a smaller value than the new one. That's why Checkmk is always presenting the old/constant values. We suspect that this is because of the core modification. It looks like Windows is resetting some system counters.

To solve this, you need to remove the cached counter file:


  1. Stop the site

    root@mylinuxhost~# omd stop <SITENAME>

    .

  2. As site user, you should find this file: ~/tmp/check_mk/counters/<HOSTNAME>. In this file, you need to delete the following section:

    ~/tmp/check_mk/counters/<HOSTNAME>
    ('wmi_cpuload', None, 'load_5min'): (29632775.478311848, 18.056825022850912), ('wmi_cpuload', None, 'load_15min'): (29632775.478311848, 15.787631011576273),

    .

  3. Attached, you will find a screenshot with the marked section:

    Screenshot Windows command prompt highlighting wmi_cpuload and load_15min highlighted.

    .

  4. Start the site

    root@mylinuxhost~#  omd start <SITENAME>