Tag Archives: #Reporting

SCOM: Database Status Report version 4

I’ve made some amendments to the Database Status Report that I posted about in 2015, Version 4 is now more streamlined and cleaner.

Sample screenshot:

dbstatussample

Feel free to contact me for information on this report or the questions about the RDL.

I would be interested to hear from anyone who has any comments or suggestions on this report or ideas for future ones.

 

Loading

SCOM: Report subscription list could not be loaded. Client found response content type of ”, but expected ‘text/xml’.

Just the thing you want to see on a Monday morning, clicking on the Reports node and seeing the following error:

Message: Report subscription list could not be loaded.

System.InvalidOperationException: Client found response content type of ”, but expected ‘text/xml’.
The request failed with an empty response.
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Microsoft.EnterpriseManagement.Mom.Internal.UI.Reporting.ReportingService.ReportingService2005.ListSubscriptions(String Report, String Owner)
at Microsoft.EnterpriseManagement.Mom.Internal.UI.Reporting.ManagementGroupReporting.GetSubscriptions(String owner)
at Microsoft.EnterpriseManagement.Mom.Internal.UI.Reporting.Views.ReportSubscriptionsView.ReportSubscriptionsView.LoadSubscriptionsJob(Object sender, ConsoleJobEventArgs args)

An investigation determined that the reporting services action account needed to be re-registered to the ASP.NET IIS framework using the following command.

aspnet_regiis -ga <Domain\reporting services action account>

Loading

SCOM: Database Status Report version 3

Last month I blogged about a SCOM Database Status Report that I was working on in order to get a single page overview of the SQL environment for a SCOM implementation, as a starting point to a complete SCOM heath report.

Below are samples of version 3 of the report which now includes additional sections for the OperationsManager database as well as the Data Warehouse. I have also amended some of the colouring to make important aspects easier to identify.

db1 db2 db3

 

I would be interested to hear from anyone who has any comments or suggestions on this report or ideas for future ones.

Loading

SCOM: Database Status Report

I’ve been tinkering with trying to get a single health view for one of my clients SCOM environments.

I started with the SQL instance as this can be intensive to manually check every component.

Here is a sample of what it looks like so far my next step is to add free space information:

DB Status Report

 

Thanks to Dave Pinal for his post giving me a starting point.

Please leave a comment if you have any suggestions as to what else can be added or if you have something similar.

Loading

SCOM: Veeam Management Pack™ v7 R2

Veeam recently released the v7 R2 version of their System Center Management Pack.

Go here for more information, a free trial and pricing.

This update looks to be a nice step forward in terms of functionality and visibility of the virtual layer, which can be neglected when monitoring an environment.

New in this version:

  • NEW tools help you get results fast. An updated Resource Kit, which is part of the install, accelerates and simplifies deployment with an updated Database Sizing Calculator, scripts for deployment and configuration, and ‘mini’ MPs for customization.
  • NEW enhanced database efficiencies boost performance under large, enterprise loads and reduce Veeam MP’s footprint in the System Center database more than 50%.
  • NEW app-to-metal visibility as well as metal-to-app visibility allows you to quickly trace problems and determine business impacts for both physical and virtual resources.
  • NEW capabilities help you quickly identify undersized vSphere VMs so you can provide more resources where needed to power critical applications.
  • NEW platform support for Veeam Backup & Replication v8 and System Center 2012 R2 Update Rollups.

New in v7 R2, if you have System Center agents on any VMs, you’ll be able to drill down in two directions for both app-to-metal and metal-to-app visibility. You can quickly identify apps being monitored on a specific VM to find services and applications that will be affected by compute, storage and networking problems. And you can navigate a topology tree to locate the host for a specific VM to see if there are any problems occurring below this level―whether in that specific VM, other VMs, host hardware or elsewhere.

Loading

SCOM – Updated Veeam Report Library MP Version 7.0 R2

Veeam has released a new version of their popular Report Library for System Center, this version, 7.0 R2 follows the release of the hyper-v enabled Veeam Management Pack v7 for System Center and is available for download here.

The Veeam Report Library for System Center includes:

  • Veeam Alert Statistics Report– shows alert statistics for selected filter parameters.
  • Veeam Alert History Report – shows information on alerts raised for infrastructure objects across a time range.
  • Veeam Performance Report – aggregates historical data to show performance counter values on one or more charts and tables.
  • Veeam Performance Details Report – aggregates historical data to show performance counter values with drill down for data.
  • Veeam Generic Performance Top (Bottom) N Report – aggregates historical performance data to show top or bottom N infrastructure objects, performance counters, or both, for a specific rule.
  • Veeam Relationship History Report – allows you to choose a specific type of relationship between infrastructure objects and track changes for this relationship over a time interval.
  • Veeam State Summary Report – shows the time in healthy/unhealthy state for selected infrastructure objects’ monitor across a time range.

Loading

SCOM: Free eBook Extending Operations Manager Reporting

A new free eBook has been released about Extending Operations Manager Reporting, it is available for download here.

Introduction

The System Center Operations Manager data warehouse stores many objects, making it
possible to report on performance, availability, configuration, and security. You can use data
collected by Operations Manager for issue tracking, awareness, planning, and forecasting, all of
which are important factors for maintaining and managing your environment. But
understanding what to report on and how to do so is what actually contributes to the stability
of your infrastructure. If you’re not using the data you collect about your environment, you’re
simply wasting space. If you use Operations Manager to monitor your environment, whether
your infrastructure or a public, private, or hybrid cloud, this book is a good resource to help
you understand the basics of reporting and how to build queries and stored procedures for
your reports. It can also help you understand the various elements of Operations Manager
management packs that are used when you create reports.
This book assumes that you have a good understanding of Operations Manager and the
management pack structure required to create custom reports. It also assumes that you have a
good working knowledge of SQL Server and tools like Report Builder, Business Intelligence
Development Suite, and SQL Server Data Tools.

 

ebook

 

Loading

SCOM: Monitoring Site Availibility

One of my customers still running SCOM 2007 R2 asked if it would be possible to monitor the availability of their 3 sites so that they could track any outages during the month. The below will also work with SCOM 2012.
Each site has a primary and backup connection and the site is only unavailable if both links fail.

First with the network teams assistance I identified and discovered the Routers and Interfaces responsible for the line connections into each of the sites. Then I create a distributed application for each specific site:

Site mon 1

Scope your container to Device

Site mon 2

Search for the site routers discovered earlier and add them to the container.

Site mon 3

Save and open Configure Health Rollup

Site mon 4

Now because the site is only unavailable in the event of both links failing, set the Health Rollup to “Best Health State of any Member” this will ensure that the DA stays green if even 1 Router is still contactable.

Site mon 5

Below is what you will see in your Distributed Application view.

Site mon 6

Here is a sample of an availability report using the DA for a particular site.

Site mon 7

Happy SCOMing.

If you have another way of achieving this result, I’d be interested to hear about it, drop me a mail or leave a comment.

Loading

SCOM: Agents not submitting performance data

Sometimes you might have a situation where all of your agents are showing as healthy in the console but when you try and draw a performance report data is missing.

The below SQL query which has been developed by my colleague Gerrie Louw will identify any agent that has not submitted performance data in the past 4 hours. It does so by checking the following performance counters:

Processor > % Processor Time
LogicalDisk > % Free Space > C:
Memory > Available MBytes

Note: You will probably have to change the DisplayName_ and IsVirtualNode for your OperationsManager database.

if object_id(‘tempdb..#temptable’) IS NOT NULL
DROP TABLE #temptable

SELECT     distinct bmetarget.Name into #temptable
FROM        OperationsManager.dbo.BaseManagedEntity AS BMESource WITH (nolock) INNER JOIN
OperationsManager.dbo.Relationship AS R WITH (nolock) ON
R.SourceEntityId = BMESource.BaseManagedEntityId INNER JOIN
OperationsManager.dbo.BaseManagedEntity AS BMETarget WITH (nolock) ON
R.TargetEntityId = BMETarget.BaseManagedEntityId inner join mtv_computer d on bmetarget.name=d.[DisplayName_55270A70_AC47_C853_C617_236B0CFF9B4C]
and d.IsVirtualNode_E817D034_02E8_294C_3509_01CA25481689 is null
WHERE     (bmetarget.fullname like ‘Microsoft.Windows.Computer%’)

if object_id(‘tempdb..#healthstate’) IS NOT NULL
DROP TABLE #healthstate

select  megv.path, megv.ismanaged, megv.isavailable, megv.healthstate into #healthstate
from managedentitygenericview as megv with (nolock) inner join managedtypeview as mtv with (nolock)
on megv.monitoringclassid=mtv.id
where mtv.name =’microsoft.systemcenter.agent’

if object_id(‘tempdb..#perfcpudata’) IS NOT NULL
DROP TABLE #perfcpudata

select Path, ‘CPU’ as ‘Cat’ into #perfcpudata
from PerformanceDataAllView pdv with (NOLOCK)
inner join PerformanceCounterView pcv on pdv.performancesourceinternalid = pcv.performancesourceinternalid
inner join BaseManagedEntity bme on pcv.ManagedEntityId = bme.BaseManagedEntityId
where (TimeSampled < GETUTCDATE() AND TimeSampled > DATEADD(MINUTE,-240, GETUTCDATE()))
and objectname =’Processor’ and countername=’% Processor Time’

if object_id(‘tempdb..#perfmemdata’) IS NOT NULL
DROP TABLE #perfmemdata

select Path,’Memory’ as ‘Cat’ into #perfmemdata
from PerformanceDataAllView pdv with (NOLOCK)
inner join PerformanceCounterView pcv on pdv.performancesourceinternalid = pcv.performancesourceinternalid
inner join BaseManagedEntity bme on pcv.ManagedEntityId = bme.BaseManagedEntityId
where (TimeSampled < GETUTCDATE() AND TimeSampled > DATEADD(MINUTE,-240, GETUTCDATE()))
and objectname =’Memory’ and countername=’Available MBytes’

if object_id(‘tempdb..#perfdiskdata’) IS NOT NULL
DROP TABLE #perfdiskdata

select Path,’Disk’ as ‘Cat’ into #perfdiskdata
from PerformanceDataAllView pdv with (NOLOCK)
inner join PerformanceCounterView pcv on pdv.performancesourceinternalid = pcv.performancesourceinternalid
inner join BaseManagedEntity bme on pcv.ManagedEntityId = bme.BaseManagedEntityId
where (TimeSampled < GETUTCDATE() AND TimeSampled > DATEADD(MINUTE,-240, GETUTCDATE()))
and objectname =’LogicalDisk’ and countername=’% Free Space’ and instancename=’C:’

if object_id(‘tempdb..#temptable1′) IS NOT NULL
DROP TABLE #temptable1
create table #temptable1 (
name nvarchar(250),
cat nvarchar(20),
val nvarchar(2)
)
insert into #temptable1
select name, ‘CPU’ as ‘cat’, ’1′ as ‘val’
from #temptable where name not in
(select path from #perfcpudata)

insert into #temptable1
select name, ‘Memory’ as ‘cat’, ’1′ as ‘val’
from #temptable where name not in
(select path from #perfmemdata)

insert into #temptable1
select name, ‘Disk’ as ‘cat’, ’1′ as ‘val’
from #temptable where name not in
(select path from #perfdiskdata)

if object_id(‘tempdb..#output’) IS NOT NULL
DROP TABLE #output
create table #output (
name nvarchar(250),
cpu nvarchar(2),
memory nvarchar(2),
disk nvarchar(2)
)

insert into #output
select distinct tt.name ,’0′,’0′,’0′
from #temptable1 as tt, #healthstate as hs
where tt.name=hs.path collate SQL_Latin1_General_CP1_CI_AS
and hs.isavailable=1
and hs.ismanaged=1
and hs.healthstate is not null

update #output set cpu=1 where #output.name in (select name from #temptable1 where #temptable1.name=#output.name and #temptable1.cat=’CPU’)
update #output set memory=1 where #output.name in (select name from #temptable1 where #temptable1.name=#output.name and #temptable1.cat=’Memory’)
update #output set disk=1 where #output.name in (select name from #temptable1 where #temptable1.name=#output.name and #temptable1.cat=’Disk’)

select * from #output

You can use this query to build a report such as the one sampled below:

No Perf Report edited

Loading