We have a process being monitored (and perf. collected) on almost all of our 2500 servers. We would like to display top processor usage for these processes, but since “all windows computer” is a large scope, no data is returned in Squared Up. Building a dashboard in opsConsole will eventually display the data. I have confirmed that a smaller scope will show the data, so it has to be related.
Maybe you could use the SQL plugin, and define your query though that, then limiting it to only show top 20 or so – it could be faster than the performance plugin.
I don’t have access to the same installation size, and is experiencing that kind of problem
Are you using the in built template to monitor this process? If so you can easily configure an alert based on CPU and / or memory usage for that process and therefore not require a topN graph to display that information.
If seeing this information is important to you then I’d recommend scoping your view to your most critical servers only.
I understand your problem, we run into the same issues too. The SquaredUp performance plugin will timeout before data is displayed for large scopes and there’s no option to change a timeout value for that. The SCOM console has no such problem.
Has anyone had a moment to check this out in v3? I’m curious if the new version handles the large number of objects better 🙂 I’ve only got a tiny environment in comparison.
Like someone stated above. If you use the SQL Plugin you could for instance get the top 10 (or whatever you prefer) CPU State Changes for the CPU Monitor. This gives you which servers use the most CPU.
The Query (OpsDB) below lists the top 10 for the last day (easily changed)
select distinct top 10 count(sce.StateId) as NumStateChanges,
bme.DisplayName AS ObjectName,
m.DisplayName as MonitorDisplayName,
m.Name as MonitorIdName,
mt.typename AS TargetClass
from StateChangeEvent sce with (nolock)
join state s with (nolock) on sce.StateId = s.StateId
join BaseManagedEntity bme with (nolock) on s.BasemanagedEntityId = bme.BasemanagedEntityId
join MonitorView m with (nolock) on s.MonitorId = m.Id
join managedtype mt with (nolock) on m.TargetMonitoringClassId = mt.ManagedTypeId
where m.IsUnitMonitor = 1
— Scoped to specific Monitor (remove the “–” below):
AND m.Name like (‘%CPUUtilization%’)
— Scoped to specific Computer (remove the “–” below):
— AND bme.Path like (‘%sql%’)
— Scoped to within last 1 day
AND sce.TimeGenerated > dateadd(dd,-1,getutcdate())
group by s.BasemanagedEntityId,bme.DisplayName,bme.Path,m.DisplayName,m.Name,mt.typename
order by NumStateChanges desc
Just tried this with about 900 windows computers, and this still works. I think the limit of objects is around 1200.