locked
Microsoft System Center Management Pack for SQL Server 2016 Analysis Services v7.0.7.0 (SCOM 2012 R2) RRS feed

  • 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 = 300

    Any 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 = 300

    Wednesday, December 19, 2018 10:58 PM
  • Hi HS Brown

    Did you resolved this somehow?

    Regards,
    Gabor

    Wednesday, 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