NSClient - ERROR: Failed to get PDH value ERROR: Could not get data for 5 perhaps we dont collect data this far back?


Alert Mails

***** Icinga *****

Notification Type: PROBLEM

Service: Uptime
Host: ccsc_s3-webapi0
ALIAS: vCenter - CCSC_S3-WEBAPI0_WIN2008x64
Address: 10.146.19.70
State: UNKNOWN

Date/Time: Tue Jan 21 13:50:23 UTC 2014

Additional Info:

NSClient - ERROR: Could not get value

-----Original Message-----
From: icinga@ccsc-icinga.c2..com [mailto:icinga@ccsc-icinga.cclass2.com] 
Sent: Tuesday, January 21, 2014 7:20 PM
To: GIST
Subject: ** PROBLEM Service Alert: ccsc_s3-webapi0/CPU Usage is UNKNOWN **

***** Icinga *****

Notification Type: PROBLEM

Service: CPU Usage
Host: ccsc_s3-webapi0
ALIAS: vCenter - CCSC_S3-WEBAPI0_WIN2008x64
Address: 10.146.19.70
State: UNKNOWN

Date/Time: Tue Jan 21 13:50:23 UTC 2014

Additional Info:

NSClient - ERROR: Could not get data for 5 perhaps we dont collect data this far back?
***** Icinga *****

Notification Type: PROBLEM

Service: Memory Usage
Host: ccsc_s3-webapi0
ALIAS: vCenter - CCSC_S3-WEBAPI0_WIN2008x64
Address: 10.146.19.70
State: UNKNOWN

Date/Time: Tue Jan 21 13:50:13 UTC 2014

Additional Info:

NSClient - ERROR: Failed to get PDH value.

Solution:
The above errors indicate that there could be issue with performance counters.Also below screenshoted error could be seen while running “perfmon” command.

fetch

CASE1:
Steps: We have to rebuild Performance Counters with LODCTR from an elevated command prompt.

  1. Launch Command Prompt as Administrator (right click Runs As Administrator).
  2. Drop into the C:\WINDOWS\System32 directory by typing CD\ then CD Windows\System32
  3. To rebuild your resource counters type the following command:
 lodctr /r 

This will rebuild your counter values and may take a few moments so please be patient.

  • If you wish to query the counters to make sure they were correctly set, use:
lodctr /q 

This will give you something like the following:

       Performance Counter ID Queries [PERFLIB]:

            Base Index: 0x00000737 (1847)

            Last Counter Text ID: 0x000031D2 (12754)

            Last Help Text ID: 0x000031D3 (12755)

         

        [.NET CLR Data] Performance Counters (Enabled)

            DLL Name: %systemroot%\system32\netfxperf.dll

            Open Procedure: OpenPerformanceData

            Collect Procedure: CollectPerformanceData

            Close Procedure: ClosePerformanceData

         

        [.NET CLR Networking] Performance Counters (Enabled)

            DLL Name: %systemroot%\system32\netfxperf.dll

            Open Procedure: OpenPerformanceData

            Collect Procedure: CollectPerformanceData

            Close Procedure: ClosePerformanceData
      
*     Now reopen the Performance Monitor and check it. You will see that the error was fixed.

CASE2:
Once you query the counters to make sure they were correctly set, use:

lodctr /q 

You may see that performance counter is disabled.

[PerfOS] Performance Counters (Disabled)
    DLL Name: %SystemRoot%\System32\perfos.dll
    Open Procedure: OpenOSObject
    Collect Procedure: CollectOSObjectData
    Close Procedure: CloseOSObject

System, which have the so called performance counters/objects disabled - which blocks CPUMon from reading the cpu usage. you have to manually re-enable those counters, from within registry.

These are the changes that CPUMon will make to the registry:

HKLM\SYSTEM\CurrentControlSet\Services\PerfOS\Performance:Disable Performance Counters=0
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib:Disable Performance Counters=0

fetch_002

Post a Comment

Previous Post Next Post