Posts Tagged ‘Reports’

Does my Operations manager environment healthy ?

07/02/2011 Leave a comment

Update – 17/05/2011 – I Changed the query to show only agents that aren’t in maintenance mode.

After several OpsMgr deployments at different costumers I discovered that most of us concerned about OpsMgr Management server health and/or Database health, but what about agent health? How can we tell if all our agents report to their managements servers?

In one of my previous posts I wrote about WMI and agent health , these hotfixes are not for operations manager , those are bugs that discovered in the operating system components that monitoring solution use, like WMI. So for agent reliability it’s important to keep the OS updated.

Sometimes agents seems to be healthy, Operations manager MP point that, but when we starts to investigate, we can see that some gents did not report any new alerts for long time. Operations manager event log at the client side seems to be healthy and there are no errors. But if we will look closer we can see that there are several events rapidly reoccurring (6022, 21025).

Since OpsMgr gives us the ability to monitor agents availability, performance and configuration we need to find a way to discover if agents really writing data to OperationsManager DB. I decided to search for the right approach.

Daniele Grandini wrote two SQL queries that check the OperationsManager database for agents that did not collected event or performance data in the last 4 hours. I decided to monitor only the performance data collection since we do use the HealthService and MonitoringHostCPU usage. If you disabled these rules the query can be changed to target any monitoring class id (like operating system).

Thanks to a colleague of mine, Evyatar Nezer, we re-write the query to create a scheduled report using operations manager reporting services. the report show us all the agents that are not in good health.


to fix this issues I found that we need to take this actions (client side only):

1. restart the HealthService .

2. rebuild the perf registry strings and info using LODCTR.EXE /R (the command is case sensitive!!!) – this step should be done with extra care!

Here are the steps taken to create the scheduled report.

First we need to take note about the SQL server that hosts the OperationsManager DB. This could be done using REGEDIT.EXE against the RMS as shown below.


The next step uses Microsoft Visual Studio report builder. Open the application and under new project select the following:


Enter the OpsMgr database server name and choose the OperationsManager database.




Paste the query (click here to download) in the next screen and continue as describe in the next screen shots.







And finally the report we are looking for, now its time to add the report to the operations manager reporting pane.


Click on File (there is no need to save the file first) , Open -> File as shown


Right click on the RDL file in Open File dialog and click copy


Now go to the reporting services we site, create a new folder and name it “MYCOMP Custom Reports”


Enter the folder that you created in the previous step and click Upload File


Give the new report a name and click the browse button


Choose the RDL file that you copied earlier and click open


And that’s it. We have a report that show us all the agents that missed to collect performance data in the last 4 hours.


Categories: OpsMgr Tags: , ,

Operations Manager 2007 R2 reports problem

19/08/2010 Leave a comment

Yesterday i bumped into 2 problems in Operations manager reports. the reporting services and SQL were on the same machine , Win2008R2 with SQL 2008 SP1.

The first problem was inability to drilldown a report from a client console, the report graph is shown correctly but when we want to drilldown the report it ended with the following error:


there was a similar problem with OpsMgr RTM and Microsoft fixed it with SP1, so what is going on here? 
OK, lets try to run the report from server side…..and…..everything works just fine.
Lately, every problems with SRS and SQL came from regional settings configurations (SCOM & SCCM) ,as we can see the error is about a type mismatch ‘The value provided for the report parameter ‘StartDate_BaseValue’ is not valid for its type. (rsReportParameterTypeMisMatch)’ . To verify this I opened the report server web site from server and client side, and here are the results:

Server side browser is the left image with the correct settings (MM/DD/YYYY)
image image
the server was set to English (United States) and the client to non-English format.

OK, now after we have a working reporting environment I needed to publish some of the reports using the schedule feature of SRS.
and a second problem appears. I can see a proper report when I ran the report manually, but when I schedule it and chose any format I ended with a blank graph.
this is a known bug in SQL 2008 reporting and Microsoft released a fix to this problem, after applying the fix the report rendered successfully.


1. I recommend you to save a copy of the file before any changes are made!!!

2. Do not forget to restart the SSRS service after saving the file.

Categories: OpsMgr Tags: , , ,

SCCM Reports against a large collection

21/02/2010 4 comments

Couple of days ago one of my customers asked me to help him with a report problem. the report return an error when he targets the report against a collection with high numbers of computers. when he ran the report against a small collection everything is fine.

“An error occurred on the server when processing the URL.  Please contact the system administrator.
If you are the system administrator please click here to find out more about this error.”

The first thing i suggested was to change the row limit in SCCM report.

Report Viewer in Configuration Manager 2007 limits the result set returned by a report query to 10,000 rows. The maximum number of rows that are returned when running a report query can be modified by creating a registry key and setting a value on site system computers that have the reporting point role.

Navigate to HKEY_LOCAL_MACHINESoftwareMicrosoftSMSReporting and create a DWORD value named Rowcount, and then set its value to the number of rows that you want returned in the report query. If you want to return all rows, set the value to 0xffffffff, which is the hexadecimal equivalent of –1.

But it seems it wasn’t just that, the reporting point (windows Server 2008) need some adjusting in the IIS role.

  1. How to Configure Connection and Command Timeout Settings.
  2. How to Configure the ASP Script Timeout Setting.
  3. and finally we needed to set the ASPBufferingLimit.
  4. In IIS 6.0, settings are set to aggressive and secure defaults to minimize attacks due to time-outs and limits that were previously too generous. IIS enforces the following time-outs at the connection level: Limits on Response Buffering: The default value for the ASPBufferingLimit metabase property is 4 MB. If ASP scripts buffer more than this, they error-out. There was no limit to buffering prior to IIS 6.0.
    we changed the ASPBufferingLimit to 50Mb.

Categories: SCCM Tags: ,