One of Microsoft System Center Operations Manager 2007’s most powerful functions is its reporting functionality. Operations Manager reports are built on a data warehouse that’s designed to gather raw data. Over time, this raw data is aggregated and only the aggregated data is retained for historical reports. This approach allows Operations Manager to store data for a long period of time without increasing the size of the data warehouse to such a level that reports take too long to run. Operations Manager uses SQL Server to store the data and SQL Server Reporting Services (SSRS) to provide the reporting functionality. Operations Manager provides the necessary framework for an extremely powerful reporting feature, including the ability to provide long-term historical trending reports.
Although Operations Manager’s reporting structure is extremely powerful and flexible, it’s also unintuitive and can be difficult to work with. This article provides 10 tips to help you make the most out of your Operations
Manager reporting environment. These tips focus on the following areas:
- Running reports in Operations Manager
- Finding reports for Operations Manager
- Generating your own reports in Operations Manager
- Report integration in Operations Manager
The most common complaint about Operations Manager reporting is how difficult it is to identify what object you need to run a report on. Running reports in Operations Manager isn’t as simple as selecting objects from the screen and then running the report. It isn’t uncommon to open a report, select what appears to be the appropriate object, run the report, and get a blank report. For example, you can’t select a group of servers and run a free disk space report on them. If you’re frustrated with getting blank Operations Manager reports, see the first five tips for information about how to find valid objects when running reports.
For an explanation of why a report is blank, we need to look at how Operations Manager functions. It uses an approach that takes different entities, referred to as objects, and defines a model for each object’s heath. (For a full introduction to Operations Manager, see “Operations Manager Key Performance Indicators.”) Examples of Operations Manager objects include servers, processors, disks, and distributed applications such as Microsoft Exchange Server. Objects exist in a hierarchy such that a disk object is part of a server object. The objects can each have a defined health state, and they each have data that’s used for reporting, as long as the performance counter is associated to the object. For example, if you choose a drive on a server as an object, you won’t have a processor performance counter associated with it. If, however, you choose a computer object and the objects in it, you’ll be able to see a processor performance counter.
Tip #1: Filter Options. In the original Operations Manager 2007 release, finding the correct object to choose for a report is often extremely difficult because the list of objects isn’t restricted to objects that actually have data for the report. To select the appropriate object, you need to filter through all the available objects to find the correct one that has the data needed for the report. If you select the incorrect object and run a report, it will return no data. To address this issue, Microsoft added the Filter Options search feature in System Center Operations Manager 2007 R2. Several of Operations Manager 2007 R2’s new reports are designed to show pre-filtered objects that have data for the report. If you click Search, you can see the objects that contain data for the report. Figure 1 shows a report in which a single SQL Server database engine was returned. This search option doesn’t exist for all reports—only reports that were rewritten in Operations Manager 2007 R2 to include the Filter Options feature.
To find reports in which the Filter Options feature is available, open the Reporting pane in the Operations Manager console and open a folder with reports. Open the report, then add an object. If the filter options are available for the report, you’ll see the Filter Options have been applied message, as in Figure 1. A good example of Filter Options is available in the SQL Server Management Pack, in the user activity report.
The Service Level Tracking Summary report doesn’t show the Filter Options, but when objects are added (shown as Service Levels), only acceptable objects (objects that have data for the report) are returned by the search. In my environment, I configured Service Level Tracking for the Operations Manager distributed application based on better than 99-percent availability. I also created my own line of business (LOB) application called LOB01 and configured Service Level Tracking based on better than 98-percent availability. If I add an object to the report, the Operations Manager distributed application and my LOB01 application will be listed for this report.
Tip #2: Reports with predefined objects. After working with Operations Manager reporting for a while, it’s easy to assume that to run a report, you must know the object that you want to run the report for. However, if you need to run a report in Operations Manager, don’t assume that you need to select the correct object to run the report. Many reports have filter options available, and many of the reports included in Microsoft’s management packs don’t prompt for objects. Some example of reports that don’t prompt for objects include the following:
- Client Monitoring Views (Top N Applications, Top N Applications Growth and Resolution, Top N Error Groups, Top N Error Groups And Resolution)
- Microsoft Data Warehouse (Data Warehouse Properties)
- Microsoft Generic Report Library (Licenses, Most Common Alerts, Overrides)
- Operational Data Reporting Management Pack (Alerts Per Day, Instance Space, Management Group, Management Packs, Most Common Alerts)SCC Health Check Reports (which I discuss in more detail later)
- SQL Server 20008 Monitoring (Top 5 Deadlocked Databases)
- System Center Core Monitoring Reports (Agent Counts by Date Management Group and Version, Data Volume by Management Pack, Data Volume by Workflow and Instance)
These reports can be run through the Reporting pane without needing to select the appropriate object for the report, because objects are predefined.
Tip #3: Reports that document their objects with data. The Filter Options tip works well for reports that have this option available—however, this option isn’t available in many reports. For such reports, highlight the report and check the report details, where you can often find a list of objects the report is looking for.
Figure 2 shows an example Windows Server Internet Information Services 2003 report. Highlighted on this report is the list of objects that have data for the report. This example shows that objects with data for the report include IIS 2003 Web Server and IIS 2003 Role. This information isn’t available after you run the report. Therefore, you need to check the reporting details in the Reporting pane before you run a report, to identify which objects will have data for the report. This information will make it much easier to locate the appropriate object for a report.
Tip #4: Running reports from the Monitoring pane. Up to this point, we’ve discussed tips to use in the Operations Manager console’s Reporting pane. However, the best approach to running reports in Operations Manager is through the Monitoring pane. This is because of how Operations Manager uses objects. Objects have associated properties that indicate which reports are relevant. The Monitoring pane displays reports and tasks that are relevant to the highlighted object. Running reports from the Monitoring pane lets you avoid the requirement to select objects for a report.
As Figure 3 shows, selecting the Logical Disk State view in the Microsoft Windows Server folder and highlighting a drive in this folder lets you see various available tasks (e.g., Logical Disk Defragmentation, Run Chkdsk, Run Chkntfs, Start Computer Management Console, Volume Information). You can also see a variety of reports (e.g., Alert Logging Latency, Alerts, Availability, Configuration Changes, Disk Performance Analysis, Event Analysis, Health, Operating System Storage Configuration). If you run one of these reports, the highlighted object is passed to the report and you don’t need to identify the appropriate object.
Because Operations Manager is built around this concept, the same approach works in the various Operations Manager console views, such as Alert View, Diagram View, Event View, or State View. (These views can be seen by right-clicking an object and selecting Open.)
Don’t just assume that your reports must be run through the Reporting pane. Using the Monitoring pane to run reports lets you avoid challenges with identifying the appropriate objects and getting blank reports as a result.
Tip #5: Using a state view to run reports. Although the Monitoring pane provides the ability to pass objects to reports, it’s often difficult to determine which specific view is needed to find the required objects. Management packs are stored in the Monitoring pane, in a folder structure that can be extremely complex. To simplify this approach, you can copy existing state views or create new state views and put them in a folder that’s specifically designed to run reports from.
Create a new management pack in the Authoring pane (select Administration, Management Packs, then right-click and select Create Management Pack, QuickReports). After a management pack is created, it automatically creates a top-level folder in the Monitoring pane with the management pack name (e.g., QuickReports).
As an example, you can open the Microsoft Windows Active Directory folder, copy the DC State view, and paste it into the QuickReports folder. The DC State view can now also be renamed to make the view name more intuitive (e.g., “Active Directory,” as Figure 4 shows). You can also create your own state views in this folder by opening the folder; right-clicking; selecting New, State View; and selecting the object.
Creating different state views for the required objects for a report lets you quickly select multiple objects (as many as 10 by default) and run the report. When you run a report in this manner, the objects that you select are passed to the report. For more information about using state views to run reports, see “ QuickTricks: Creating really easy multiple server performance reports & how to create a report for multiple objects when you don’t know what object(s) to choose” and “ A Practical Example of the OpsMgr ‘QuickReports’ approach.”
Note that there’s a registry entry for setting how many objects can be selected to run a task or report on. To change this value, start a registry editor and navigate to HKEY_CURRENT_USER\Software\Microsoft\Microsoft Operations Manager\3.0\Console\TaskSelectedObjectsLimit. Set the DWORD value to the following:
- -1 (xFFFFFF): Unlimited number of objects (not recommended)
- > 0: Maximum number of simultaneously selected objects for which tasks or reports will be generated; the default value is 10
The value can be changed, but this operation is considered “do at your own risk.” As a general rule, you should leave the registry setting at a value of 10 unless there’s a specific need to increase it for your environment. I’ve increased the value to 100, which lets you select as many as 100 objects for a report or a task, without any problems. In most cases, the value shouldn’t exceed the number of servers in your environment. For more information about console-related registry keys, see “OpsMgr 2007: Registry keys to control the refresh of the admin console.”
The first five tips provide methods for using existing Operations Manager reports more easily. The next two tips assist with adding more pre-built reports into your Operations Manager environment and thus avoiding having to create your own reports.
Tip #6: Getting new reports from Microsoft. In Operations Manager, Microsoft includes reports within management packs. The ability to add management packs directly through the Operations Manager console was added in Operations Manager 2007 R2. In the Administration pane, under Management Packs, there are options to import or download management packs that you can add from the built-in Microsoft online catalog. This functionality helps you determine which of your management packs have updated versions available.
You can also use Operations Manager 2007 R2’s Operations Manager console to easily determine which management packs are available but not yet installed. Installing the management packs for the technologies that are relevant for your environment adds not only monitoring but also reporting functionality for these technologies.
The Microsoft System Center Marketplace (formerly known as Pinpoint) provides a single location to find applications, professional services, and IT organizations. The System Center Marketplace website also provides the ability to download management packs for Operations Manager. This is especially useful in situations in which users can’t connect to the Internet from the Operations Manager console, or when management packs aren’t available in the Operations Manager console.
If the Report pane doesn’t show the System Center Core Monitoring Reports in your environment, be aware that these reports aren’t available if you upgrade existing management packs through the Operations Manager console. These reports are available from the System Center Marketplace. Alternatively, you can search the built-in Microsoft online catalog for available management packs and add System Center Core Monitoring Reports.
Many of Microsoft’s recently released pre-built reports are extremely useful out of the box. For example, the Microsoft Data Warehouse report entitled Data Warehouse Properties can be used to show the current data warehouse size, as well as estimate sizing if the data retention periods are increased. (For more information, see “Changing the OpsMgr Data Warehouse retention periods & Using reports to assess impacts to Data Warehouse sizing.”)
In the most recent release of the Operation System management packs, Microsoft added new report designs that are more intuitive and that integrate historical information. Figure 5 shows the performance of a single system for processor, memory, disk, and network metrics.
This management pack also contains a report that displays Key Performance Indicators (KPIs) on a group of systems and their health, as Figure 6 shows. This report provides an easy way to compare performance for all servers in a web farm. For a custom LOB application, this report provides an intuitive way to report KPIs for all servers used in the application. These improved reports provide the ability to display a server’s or group of servers’ performance metrics and health in an extremely detailed and intuitive report.
Integrating the management packs that are relevant to your environment, as well as updating to the current versions of management packs, results in extremely useful pre-built Operations Manager reports.
Tip #7: Getting new reports from the community. The System Center community has stepped up, with many people creating and sharing reports. One of the best recent examples is the SCC Health Check Reports, released by System Center Central (www.systemcentercentral.com). None of the reports in this management pack prompt for objects (see Tip #2):
- Agents - Agent Hotfix Report (OM)
- Agents - Agents Missing Hotfix Report (OM)
- Agents - Down Agents (OM)
- Alerts - Alerts Closed by Specific User (DW)
- Alerts - Alerts Closed by User [Count] (DW)
- Alerts - Alerts Closed by UserID (DW)
- Alerts - Number of Alerts per Day (OM)
- Alerts - Top 20 Alerts By Alert Count (OM)
- Alerts - Top 20 Alerts By Repeat Count (OM)
- Config Churn - Discoveries Last 24 Hours (DW)
- Config Churn - Modified Properties Details Last 24 Hours (DW)
- Events - All Events Count By Last 7 Days (OM)
- Events - Most Common Events by Number and Publisher (OM)
- Events - Top 20 Computers Generating the Most Events (OM)
- Misc - Groups Report (OM)
- Misc - Infrastructure Overview (OM)
- Misc - Management Packs (OM)
- Misc - Operational and Datawarehouse Usage Report (OM) - (DW)
- Misc - Outage and Maintenance Report (DW)
- Misc - Run As Profiles (OM)
- Performance - Performance Inserts Per Day (OM)
- Performance - Top 20 Computers By Perf Count (OM)
- Performance - Top 20 Performance Insertions By Perf (OM)
- Performance - Top Performance Baseline Generating Rules (OM)
- State - Noisiest Monitors (OM)
- State - Old State Changes Not Groomed (OM)
- State - State Changes Per Day (OM)
This management pack is available for free from System Center Central, in the management pack catalog (tinyurl.com/5wscr5e).
Another example of an extremely useful community-written management pack is Daniel Savage’s forecasting report (tinyurl.com/6jnzsxt). This report lets you use an existing performance counter gathered by Operations Manager and forecast for a period of time based on the historical data provided by the performance counter.
Both Microsoft and the System Center community have been continuing to develop and share new reports since Operations Manager was released. Before developing your own reports, review what’s already available to see if someone else has already created what you need for your environment.
Generating Your Own Reports
Despite the number of reports available for Operations Manager (hundreds, depending on which management packs are installed in your environment), there are situations in which a preexisting report won’t meet your reporting requirements. A variety of methods are available for creating your own reports, including creating linked reports or using Report Builder or Visual Studio. For more information about creating custom reports, consult System Center Operations Manager 2007 Unleashed or “Operations Manager 2007 Management Pack and Report Authoring Resources."
Tip #8: Using the performance view to generate new reports. A common approach to creating reports is to use the Microsoft Generic Report Library. This library was designed to provide a flexible method for configuring reports to meet custom business requirements. The most commonly used generic report is the Microsoft Generic Report Library’s performance report. The challenge with using this report is the same one I discussed in the first five tips in this article: How do you know what object (or other information) is needed? Let’s consider the most commonly asked question in generic report creation: “How do I create a free disk report for multiple objects?” There’s currently no pre-built report that covers this topic—so, how do you create one?
Instead of going directly to the Reporting pane, open a performance view in the Monitoring pane. To see a larger view of the data, open the performance view in a new window. From this view, look for items by using the text search option on the % Free Space counter. From the performance view, you can see all the information that’s needed to customize the generic performance report. As Figure 7 shows, most of the fields in the performance view match the fields required when creating a generic report:
The following two field names need to be mapped to a different name when creating the report:
- “Target” = “Object” when customizing the report
- “Object” = “Performance object” when customizing the report
The performance view provides a quick way to identify the values that should be used when customizing this generic report. Gathering the appropriate counters ahead of time in this view and taking a screenshot can significantly decrease the complexity in customizing this report. For step-by-step details on how to create a free disk report, see “Creating Useful Custom Reports in OpsMgr: How to create a simple free disk space report.”
The ability to run ad-hoc reports isn’t the only reporting function available in Operations Manager. You can also use SSRS’s functionality to schedule and deliver reports.
Tip #9: Scheduling and delivering reports. Operations Manager reporting gains additional functional benefits from being built on SSRS. The previous tips in this article focused on using the reporting functionality to run ad-hoc reports; Operations Manager can also schedule report creation and delivery. Operations Manager reports can be scheduled for delivery to a file share or sent via email.
Reports can be generated using multiple formats (e.g., Microsoft Excel, RPL Renderer, Microsoft Word, Adobe PDF, Tiff, MHTML, CSV, HTML 4.0, XML). These files can be stored in a folder structure to provide historical copies or the most recent execution of a report.
Emailing reports is commonly used to provide weekly (or daily) information focused to a specific group of users, providing performance information for their servers. For example, application owners might want to receive weekly performance reports for all servers in a web farm, or Operations Manager administrators might want to receive daily reports of all agents that are currently down—for example, SCC Health Check Reports: Agents - Down Agents (OM).
The ability to schedule Operations Manager report generation and delivery is very useful. Although this functionality is built in to SSRS, it’s often overlooked in Operations Manager environments.
Tip #10: Integrating reports into dashboards and the Operations Manager console. In “Operations Manger Dashboards” (February 2011, InstantDoc ID 129233), I discuss dashboard options that are available for Operations Manager. One of these options uses the Service Manager dashboard to provide Operations Manager dashboard functionality. The Service Manager dashboard is built on Microsoft Office SharePoint Server, which provides additional flexibility, such as including another website within a web part (the Page Viewer Web Part). Reports in Operations Manager are accessible via a URL, so integration of reports is simple when you know the URL to add to the dashboard.
To identify the URL to use to access a report, do the following:
- In the Operations Manager console’s Reporting pane, configure the report as you’d like it to display.
- After configuring the report, use the File/Publish option.
- From the Operations Manager console, select Administration, Settings, Reporting to identify the URL ofthe reporting site.
- Browse to the specified server (http://<servername>/reports). Open the My Reports folder, then open the report you published. Copy the URL from the top of the web page.
Dashboard integration can include the actual report in the Page Viewer Web Part or can provide a link that can be used to expand on information shown in the dashboard. For example, you can provide a link for the Operations Manager dashboard that gives details on the most common alerts in an environment.
In addition, you can use a link that expands on an item shown in the dashboard. You can create a dashboard that displays the amount of time it’s currently taking to execute a synthetic transaction on a website. From this dashboard, you can include a link to a report that provides historical trends for the same synthetic transaction. The key idea is that URLs are available and can be integrated into a variety of dashboard solutions to provide a more comprehensive experience for dashboard users.
The Operations Manager console also has a view called the Web Page View. This view is available in the Monitoring pane and provides the ability to display a URL in the Operations Manager console. Using the path for the report that you identified in Step 4, you can integrate the URL so that it’s visible in the Operations Manager console, as Figure 8 shows.
Something to be aware of when transferring URLs for reports into the Web Page View is that the reporting URL uses a value of %2f to represent the / (slash) character. The Web Page View doesn’t accept these characters; to get the view to display the web page, you need to substitute %2f with / (slash).
Harness the Power
Operations Manager’s reporting functionality is extremely powerful but often underutilized. Using the 10 tips in this article can help make the most out of your Operations Manager reporting environment and can provide a more comprehensive solution for your Operations Manager users and administrators.
For additional Operations Manager reporting tips: