Follow

How can I identify unresponsive Perfmon counters in Classic Monitoring?

QUESTION:

In the VSA how can I identify which Monitor sets have unresponsive counters and are not reporting data?

 

ANSWER:

There is no built in report or functionality in the VSA that will identify these counters.

For advanced users you can run the following SQL command in SQL Management Studio.

 

 ----------------------------------------------------------------------------------------------

For monitorsets that have "enable matching" enabled and the machines are online

These machines ARE experiencing an issue. 

 

SELECT DISTINCT dbo.machNameTab.agentGuid, dbo.machNameTab.machName, dbo.machNameTab.groupName
FROM dbo.monitorSetMachineXref INNER JOIN
dbo.machNameTab INNER JOIN
dbo.monitorCounterAgent ON dbo.machNameTab.agentGuid = dbo.monitorCounterAgent.AgentGuid INNER JOIN
dbo.agentState ON dbo.machNameTab.agentGuid = dbo.agentState.agentGuid ON
dbo.monitorSetMachineXref.monitorSetId = dbo.monitorCounterAgent.monitorSetId INNER JOIN
dbo.monitorSet ON dbo.monitorSetMachineXref.monitorSetId = dbo.monitorSet.monitorSetId INNER JOIN
dbo.monitorCounterLogSummary ON dbo.monitorCounterAgent.AgentGuid = dbo.monitorCounterLogSummary.agentGuid AND
dbo.monitorCounterAgent.monitorCounterId = dbo.monitorCounterLogSummary.monitorCounterId
WHERE (dbo.monitorCounterLogSummary.counterValue = - 998) AND (dbo.agentState.online = 1) AND (dbo.monitorCounterAgent.activeFlag = 1) AND
(dbo.monitorSet.EnableCounterMatching = 1) OR
(dbo.monitorCounterLogSummary.counterValue = - 999) AND (dbo.agentState.online = 1) AND (dbo.monitorCounterAgent.activeFlag = 1) AND
(dbo.monitorSet.EnableCounterMatching = 1)

 

This will display the machines with the counters that aren't responding.

 

SELECT DISTINCT 
dbo.machNameTab.agentGuid, dbo.machNameTab.machName, dbo.machNameTab.groupName, dbo.monitorSet.monitorSetId, 
dbo.monitorSet.name AS monitorsetName, dbo.counterObjectList.counterObject, dbo.counterList.counter, dbo.counterInstanceList.counterInstance
FROM dbo.monitorSetMachineXref INNER JOIN
dbo.machNameTab INNER JOIN
dbo.monitorCounterAgent ON dbo.machNameTab.agentGuid = dbo.monitorCounterAgent.AgentGuid INNER JOIN
dbo.agentState ON dbo.machNameTab.agentGuid = dbo.agentState.agentGuid ON 
dbo.monitorSetMachineXref.monitorSetId = dbo.monitorCounterAgent.monitorSetId INNER JOIN
dbo.monitorSet ON dbo.monitorSetMachineXref.monitorSetId = dbo.monitorSet.monitorSetId INNER JOIN
dbo.monitorCounterLogSummary ON dbo.monitorCounterAgent.AgentGuid = dbo.monitorCounterLogSummary.agentGuid AND 
dbo.monitorCounterAgent.monitorCounterId = dbo.monitorCounterLogSummary.monitorCounterId INNER JOIN
dbo.monitorCounter ON dbo.monitorSet.monitorSetId = dbo.monitorCounter.monitorSetId AND 
dbo.monitorCounterLogSummary.monitorCounterId = dbo.monitorCounter.monitorCounterId INNER JOIN
dbo.counterObjectList ON dbo.monitorCounter.counterObjectId = dbo.counterObjectList.counterObjectId INNER JOIN
dbo.counterList ON dbo.monitorCounter.counterId = dbo.counterList.counterId LEFT OUTER JOIN
dbo.counterInstanceList ON dbo.monitorCounter.counterInstanceId = dbo.counterInstanceList.counterInstanceId
WHERE (dbo.monitorCounterLogSummary.counterValue IN (- 998, - 999)) AND (dbo.agentState.online = 1) AND (dbo.monitorCounterAgent.activeFlag = 1) AND 
(dbo.monitorSet.EnableCounterMatching = 1)

 

 

 

For ALL monitorsets and the machines are online

These machines MAYBE experiencing an issue. *

 

SELECT DISTINCT dbo.machNameTab.agentGuid, dbo.machNameTab.machName, dbo.machNameTab.groupName
FROM dbo.monitorSetMachineXref INNER JOIN
dbo.machNameTab INNER JOIN
dbo.monitorCounterAgent ON dbo.machNameTab.agentGuid = dbo.monitorCounterAgent.AgentGuid INNER JOIN
dbo.agentState ON dbo.machNameTab.agentGuid = dbo.agentState.agentGuid ON
dbo.monitorSetMachineXref.monitorSetId = dbo.monitorCounterAgent.monitorSetId INNER JOIN
dbo.monitorSet ON dbo.monitorSetMachineXref.monitorSetId = dbo.monitorSet.monitorSetId INNER JOIN
dbo.monitorCounterLogSummary ON dbo.monitorCounterAgent.AgentGuid = dbo.monitorCounterLogSummary.agentGuid AND
dbo.monitorCounterAgent.monitorCounterId = dbo.monitorCounterLogSummary.monitorCounterId
WHERE (dbo.monitorCounterLogSummary.counterValue = - 998) AND (dbo.agentState.online = 1) AND (dbo.monitorCounterAgent.activeFlag = 1) OR
(dbo.monitorCounterLogSummary.counterValue = - 999) AND (dbo.agentState.online = 1) AND (dbo.monitorCounterAgent.activeFlag = 1)

----------------------------------------------------------------------------------------------

 

* If you have "enable matching" enabled this will allow Kaseya to remove the monitored instance if it does not exits on the machine. If you dont have this enabled you can apply monitoring for instances that don't exist on the machine. These instances /counters will then return "not responding" as they don't exits on the machine and therefore can't be monitored. We therefore can't assume that these counters should be responding. The issue may simply be that you've applied monitoring to the machine that you shouldn't have and it needs to be removed.

 

If counter matching is not working this is an indication of an issue which will need to be resolved. 

 

APPLIES TO:

Classic Monitoring

All on-premises servers

Rewritten by Michael Dixon 31/03/2016

updated 27/04/2016

Was this article helpful?
4 out of 4 found this helpful
Have more questions? Submit a request

0 Comments

Article is closed for comments.