Asked by:
Microsoft System Center Management Pack for SQL Server 2016 Analysis Services v7.0.7.0 (SCOM 2012 R2)

Question
-
We have installed this MP and are running into a snag with WMI (at least that appears to be the case). Permissions are not an issue. We followed the following information in the MP guide:
Events 6200 and 4513 "Category does not exist" are reported into Operations Manager event log.
Issue:
The issue may occur on a monitored machine right after a new instance of SQL Server Analysis Services Business Intelligence Edition is installed.
Resolution:
Restart Operations Manager agent on the machine
These errors persist after restarting the agent.
In an attempt to resolve, we rebuilt WMI, then reloaded both the SQL Server mof, and reloaded the SSAS counters, to no avail.
We still receive the following alerts consistently:
Module: Microsoft.SQLServer2016.AS.Module.Monitoring.MemoryMonitor Version:
7.0.7.0 ---------- Exception: ---------- Exception happened during module
execution: at
Microsoft.SQLServer.BI.Module.Helper.TimeoutThreadExecutor`1.Execute(Func`1
func, Int32 timeout, ManualResetEvent executeFinished) at
Microsoft.SQLServer.BI.Module.Helper.Base.ModuleBasePropertyHelper`1.GetOutputData(DataItemBase[]
inputDataItems) at
Microsoft.SQLServer.BI.Module.Helper.Base.ModuleBaseHelper`1.OnNewDataItems(DataItemBase[]
dataItems, Boolean logicallyGrouped, DataItemAcknowledgementCallback
acknowledgeCallback, Object acknowledgedState,
DataItemProcessingCompleteCallback completionCallback, Object completionState)
in Microsoft.SQLServer.2016.AS.Module.Helper ---------- Inner Exception:
---------- Category does not exist. MSAS13:Memory\Memory Limit High KB at
Microsoft.SQLServer.AS.Module.Provider.Info.PerformanceData.GetDouble(Double
divider) at
Microsoft.SQLServer2016.AS.Module.Monitoring.MemoryMonitor.GetMemoryUsagePercent(Dictionary`2
bagItem) at
Microsoft.SQLServer2016.AS.Module.Monitoring.MemoryMonitor.GetModuleData(DataItemBase[]
inputDataItems) at
Microsoft.SQLServer.BI.Module.Helper.TimeoutThreadExecutor`1.<>c__DisplayClass3.<Execute>b__1()
in Microsoft.SQLServer.2016.AS.Module.Provider ---------- Inner Exception:
---------- Category does not exist. at
System.Diagnostics.PerformanceCounterLib.CounterExists(String machine, String
category, String counter) at
System.Diagnostics.PerformanceCounter.InitializeImpl() at
System.Diagnostics.PerformanceCounter..ctor(String categoryName, String
counterName, String instanceName, String machineName) at
Microsoft.SQLServer.AS.Module.Provider.Info.PerformanceData.get_Counter() at
Microsoft.SQLServer.AS.Module.Provider.Info.PerformanceData.GetDouble(Double
divider) in System The configuration properties are : PrincipalName =
<REDACTED> PerformanceCounterObject = MSAS13 ConnectionString =
<REDACTED> Publisher = AnalysisServices2016 TimeoutSeconds = 300Any ideas?
- Edited by HS Brown Wednesday, December 19, 2018 10:59 PM
Wednesday, December 19, 2018 10:13 PM
All replies
-
Here's another example:
Module: Microsoft.SQLServer2016.AS.Module.Monitoring.PerfomanceCounterDataProvider
Version: 7.0.7.0
---------- Exception: ----------
Exception happened during module execution:
at Microsoft.SQLServer.BI.Module.Helper.TimeoutThreadExecutor`1.Execute(Func`1 func, Int32 timeout, ManualResetEvent executeFinished)
at Microsoft.SQLServer.BI.Module.Helper.Base.ModuleBasePropertyHelper`1.GetOutputData(DataItemBase[] inputDataItems)
at Microsoft.SQLServer.BI.Module.Helper.Base.ModuleBaseHelper`1.OnNewDataItems(DataItemBase[] dataItems, Boolean logicallyGrouped, DataItemAcknowledgementCallback acknowledgeCallback, Object acknowledgedState, DataItemProcessingCompleteCallback completionCallback, Object completionState)
in Microsoft.SQLServer.2016.AS.Module.Helper
---------- Inner Exception: ----------
Category does not exist.
at System.Diagnostics.PerformanceCounterLib.CounterExists(String machine, String category, String counter)
at System.Diagnostics.PerformanceCounter.InitializeImpl()
at System.Diagnostics.PerformanceCounter..ctor(String categoryName, String counterName, String instanceName, String machineName)
at Microsoft.SQLServer2016.AS.Module.Monitoring.PerfomanceCounterDataProvider.GetModuleData(DataItemBase[] inputDataItems)
at Microsoft.SQLServer.BI.Module.Helper.TimeoutThreadExecutor`1.<>c__DisplayClass3.<Execute>b__1()
in System
The configuration properties are :
PrincipalName = <REDACTED>
PerformanceCounterObjectName = MSAS13:Threads
PerformanceCounterName = Processing pool I/O job queue length
PerformanceCounterInstanceName =
PropertyBagName = PerfomanceCounterValue
Divider = 1
Publisher = AnalysisServices2016
TimeoutSeconds = 300Wednesday, December 19, 2018 10:58 PM -
Hi HS Brown
Did you resolved this somehow?
Regards,
GaborWednesday, February 20, 2019 6:38 AM -
Yes, and no.
We had to increase the memory and processor thresholds for the agents on these machines quite high, but we still get the error after a time. I believe there is a memory leak either in the MP or the counters. Restarting the agent helps, but it has to happen fairly frequently. Further, this MP gathers a LOT of perfmon counters... I'm not sure if that much is actually necessary.
Wednesday, February 20, 2019 4:39 PM -
Did you verify if the perfmon counter MSAS13\Memory\Memory Usage KB exists on these SSAS servers, and if you were able to successfully display it in perform?
I believe it's more related to this than to WMI...
Regardless to your issue, it's generally a best practice to analyze everything a MP does (monitors and perf rules) and to disable everything you don't need :)
Wednesday, February 20, 2019 4:59 PM -
Yes, this was verified. To be clear, we opened a case with Premier and validated all of this before we contacted them.
During the course of the investigation, we noted that the agents on these servers were restarting frequently due to exceeding thresholds.
So we followed this even though we were/are using 2012 R2: https://kevinholman.com/2017/05/29/stop-healthservice-restarts-in-scom-2016/
This appeared to resolve the issues, however we started seeing them again about a week later.
So we created a group and added even more resources. All this did was extend the delay to about 3 weeks before we started seeing the issues again - but the agents don't restart.
It seems to pretty clearly be a memory leak somewhere in WMI or the counters.
Yes, we do tune out unneeded rules/monitors - however we generally like to get the MP to actually *work* before we do. The SSAS MP seems buggy, just like pretty much every MP MSFT has sent out to the wild in the last 18 months or so :|
- Edited by HS Brown Wednesday, February 20, 2019 5:16 PM
Wednesday, February 20, 2019 5:16 PM