*
Quick Links|Home|Worldwide
Microsoft TechNet*
|TechCenters|Downloads|TechNet Program|Subscriptions|My TechNet|Security Bulletins|Archive
Search for


Multiple Management Group Rollup Solution Accelerator

Published: November 22, 2004
On This Page
Executive SummaryExecutive Summary
IntroductionIntroduction
Testing OverviewTesting Overview
DTS PackageDTS Package
MOM 2005 Data Warehouse SchemaMOM 2005 Data Warehouse Schema
MOM 2005 ReportsMOM 2005 Reports

Executive Summary

In the increasingly important and complex world of information technology (IT) operations, it is essential to implement a robust and reliable systems management infrastructure based on proven methods. Service Monitoring enables data center managers to increase operational efficiency and to achieve a higher state of availability for mission-critical applications and management of Microsoft® Windows® services. Increased levels of performance can be achieved on Windows platforms through the implementation of Service Monitoring, which incorporates best-practice guidance in planning, building, designing, and deploying Microsoft® Operations Manager (MOM) 2005 to monitor Windows applications and services.

MOM 2005 delivers open and scalable enterprise-class operational management by providing comprehensive event management, proactive monitoring and alerting, reporting and trend analysis, and knowledge and tasks that are specific to systems and applications. Companies have come to rely on MOM to provide overall visibility to the health of their complex computing environment.

MOM 2005 includes a data warehouse and a Data Transformation Services (DTS) component that transfers data periodically from a MOM database from a single management group to a data warehouse for optimized storage and analysis. This solution accelerator contains guidance on how to propagate data from multiple management groups into a centralized data warehouse using the MOM 2005 data warehouse DTS package.

This solution accelerator provides the following capabilities:

Ability to store long-term operational data propagated from multiple MOM 2005 management groups

Ability to develop a report that provides the business with information to analyze infrastructure reliability, capacity, and behavior  

Note Using the MMGR Solution Accelerator with Active Directory Management Pack (ADMP) is not recommended. MMGR has compatibility issues with ADMP. The data from ADMP reports will be incomplete or invalid when used with MMGR.

Introduction

Document Purpose

This test execution report describes the observations made while validating and implementing the population of a Microsoft Operations Manager (MOM) 2005 data warehouse from multiple management groups. This document is mainly based on testing the behavior of Multiple Management Group Rollup (MMGR) using the out-of-the-box MOM 2005 data warehouse Data Transformation Services (DTS) package. It provides information about the test plan, partial test results, and best practices on how to achieve MMGR using the MOM 2005 data warehouse DTS. In addition, this document includes some Microsoft SQL Server™ queries that can be used in a report to make it output data from different management groups. Full test results are contained in the Test Case Details spreadsheet for MMGR, which corresponds to this document.

Note The content of this test execution report is based on a MOM Release Candidate 2 (RC2) build.

Intended Audience

This test execution report is intended for IT professionals in data centers and in large and enterprise organizations. In particular, MOM administrators, help-desk personnel, and others involved in service monitoring and control should find this document helpful.

Since this test execution report is based on MOM 2005, the reader should have a solid understanding of it. Further information is contained in the MOM 2005 documentation and training resources.

Terminology

This document uses terminology that is current for MOM 2005. The following table lists the changes in terminology between MOM 2000 Service Pack 1 (SP1) and MOM 2005.

Table 1. Terminology Changes Between MOM 2000 SP1 and MOM 2005

MOM 2000 SP1MOM 2005

zone configuration group (middle tier)

source management group

master configuration group (top tier)

destination management group

DCAM

(MOM) Management Server

processing rule group

rule group

processing rule

rule

Feedback

Please direct questions and feedback about this document to msmfeed@microsoft.com.

Testing Overview

This chapter provides information about the scope of the testing that took place. In addition, it supplies physical and logical diagrams of the test environment and includes a configuration matrix of the servers used for conducting the testing.

Scope of Testing

In Scope

The following items were in scope:

Testing for the successful propagation of MOM operations data from ten source management groups and one destination management group to one MOM 2005 data warehouse

Testing the DTS job in the following network configurations:

Multidomain in the same forest having a two-way trust relationship

Multiforest with a one-way outgoing trust established between the forests. The one-way trust relationship is defined and configured as being from the source management group to the destination management group.

Same domain

Validating the 24-hour propagation interval scenario

Functionality testing of the ability to populate a MOM 2005 data warehouse from multiple management groups, by using a MOM 2005 RC2 build

Out of Scope

The following items were out of scope:

Code review of DTS script

In-depth performance and scalability testing

Testing of the DTS import in a multihomed scenario where more than one source management group has alert forwarding set up to the destination management group

Load testing for Multiple Management Group Rollup (MMGR)

Functionality of all out-of-the-box MOM 2005 reports

Test Setup

Network Diagram

The test platform consisted of a virtual enterprise environment that is based on Windows Server System™ Reference Architecture (WSSRA), formerly known as Microsoft Systems Architecture (MSA) 2.0. The lab diagrams (both physical and logical) of the test environment are shown in Figure 1 and Figure 2, respectively.

Figure 1. Physical diagram of the test environment

Figure 1. Physical diagram of the test environment
See full-sized image

Figure 2. Logical diagram of the test environment

Figure 2. Logical diagram of the test environment
See full-sized image

Configuration Matrix

The configuration matrix of the servers (shown in the following table) lists the servers used for the testing, along with the name of the management group, SQL instance name, domain, Data Access Server (DAS) account, MOM service account, hardware specifications (regarding the processor and memory), number of drives, and capacity.

Table 2. Configuration Matrix of Servers Used for Testing

Server NameName of Management GroupSQL Instance NameDomainDAS AccountMOM Service AccountH/W Specs No. of DrivesCapacity

FFL-RT-MOM-01

ZMG01

MOM1

CONTOSOCORP (corp.contoso.com)

MomAdm1

MomAdm1

2 X 1.2Ghz,  2 GB RAM

2

16 GB, 100 GB (SAN)

FFL-NA-MOM-02

ZMG02

MOM2

NA (na.corp.contoso.com)

MomAdm2

MomAdm2

2 X 1.2Ghz,  2 GB RAM

2

16 GB, 100 GB (SAN)

FFL-NA-MOM-03

ZMG03

MOM3

NA (na.corp.contoso.com)

MomAdm3

MomAdm3

2 X 800 Mhz,  

2 GB RAM

2

16 GB, 100 GB (SAN)

FFL-NA-MOM-04

ZMG04

MOM4

NA (na.corp.contoso.com)

MomAdm4

MomAdm4

2 X 1.2Ghz,  2 GB RAM

2

32 GB, 100 GB (SAN)

FFL-NA-MOM-05

ZMG05

MOM5

NA (na.corp.contoso.com)

MomAdm5

MomAdm5

2 X 1.2Ghz,  2 GB RAM

2

16 GB, 100 GB (SAN)

FFL-NA-MOM-06

ZMG06

MOM6

NA (na.corp.contoso.com)

MomAdm6

MomAdm6

2 X 800 Mhz,  

2 GB RAM

2

16 GB, 100 GB (SAN)

FFL-NA-MOM-07

ZMG07

MOM7

NA (na.corp.contoso.com)

MomAdm7

MomAdm7

2 X 800 Mhz,  

2 GB RAM

2

16 GB, 100 GB (SAN)

FFL-NA-MOM-09

ZMG08

MOM9

NA (na.corp.contoso.com)

MomAdm9

MomAdm9

2 X 800 Mhz,  

2 GB RAM

2

16 GB, 100 GB (SAN)

FFL-CP-MOM-01

ZMG09

CPMOM01

PERIMETER (perimeter.contoso.com)

NA\MomCpAdm1

NA\MomCpAdm1

2 X 1.2Ghz,  2 GB RAM

1

80 GB

FFL-CP-MOM-02

ZMG10

CPMOM02

PERIMETER (perimeter.contoso.com)

NA\MomCpAdm2

NA\MomCpAdm2

2 X 1.2Ghz,  2 GB RAM

1

80 GB

FFL-NA-MOM-08 (Destination MG)

MMG01

MOMMaster

NA (na.corp.contoso.com)

MomMaster

MomMaster

2 X 800 Mhz,  

2 GB RAM

2

16 GB, 100 GB (SAN)

FFL-NA-SC-01 (data warehouse)

 

SCDB

NA (na.corp.contoso.com)

SCAdmin

SCAdmin

2 X 1.2Ghz,  2 GB RAM

7

65 GB, 100 GB, 100 GB, 440 GB (SAN), 440 GB (SAN), 440 GB (SAN), 440 GB (SAN)

DTS Package

Populating a MOM 2005 data warehouse involves importing data from multiple source management groups and one destination management group. This data includes operational data (such as alerts, events, and sampled numeric data) as well as service discovery data.

As stated previously, the importing of data from the management groups to the data warehouse is achieved through the SQL Server Data Transformation Services (DTS) package, which is available out of the box in MOM 2005. The DTS is wrapped around an .exe file and is configured as a scheduled task. The user can run the executable file via the command prompt also.

The following figure illustrates the DTS data transfer from a single management group.

Figure 3. DTS data transfer from a single management group

Figure 3. DTS data transfer from a single management group
See full-sized image

The next figure illustrates the concept of Multiple Management Group Rollup (MMGR), whereby the operational data from multiple management groups is “rolled up” to the MOM data warehouse via DTS.

Figure 4. DTS data transfer from multiple management groups

Figure 4. DTS data transfer from multiple management groups
See full-sized image

By default, a single scheduled task is created that will run the .exe file. The .exe dynamically creates the DTS package and runs it. Only one instance of the DTS package can run at a time, since the DTS task does not support running multiple, simultaneous processes. This DTS package runs in the data warehouse server and pulls data from the management groups into the data warehouse.

The single scheduled task that is created by default after installing MOM Reporting will import data from only a single management group. To import data from multiple management groups, an additional scheduled task needs to be manually created and configured for every additional management group present, as shown in the following figure.

Figure 5. Creating and configuring additional scheduled tasks

Figure 5. Creating and configuring additional scheduled tasks

The various parameters that need to be set up and configured (as depicted in the preceding figure) are as follows:

Run. This should be entered as "C:\Program Files\Microsoft System Center Reporting\Reporting\MOM.Datawarehousing.DTSPackageGenerator.exe" /silent /srcserver:<enter name of server containing MOM database> /srcdb:OnePoint /dwserver:<enter name of data warehouse server> /dwdb:SystemCenterReporting /product:"Microsoft Operations Manager"

The parameter shown in italics needs to be manually configured, depending on the names of the different MOM database servers present in a management group.

Start in. By default this is C:\Program Files\Microsoft System Center Reporting\Reporting\.

This location only needs to be changed if the default location of MOM Reporting is changed.

Run as. An account needs to be specified. This account needs to have read-write privileges on both the OnePoint (MOM) database of the management group and the data warehouse server. It is recommended that the user specify the DAS account of the MOM database and grant read-write privileges for this account to the data warehouse.

To implement MMGR, all the scheduled tasks need to be executed sequentially. One of the ways that this can be accomplished is by wrapping all the scheduled tasks under a batch file. The logic of the batch file is to execute the next scheduled task after the completion of the previous one. This enables the “rolling-up” of data from multiple management groups.

Command-Line Details

As stated, the executable file can be run via the command prompt also, in accordance with the following details:

Name of .exe:  MOM.Datawarehousing.DTSPackageGenerator.exe

Location: <System Drive:>\Program Files\Microsoft SystemCenter Reporting\Reporting\

Switches:

/product: Product name.

    (Default=Microsoft Operations Manager)

/srcserver: Source server name.

    (Default= )  This value is blank by default.

/srcdb:  Source database name.

    (Default=OnePoint )  

/dwserver: Data warehouse server name.

    (Default= )  This value is blank by default.

/dwdb: Data warehouse database name.

    (Default=SystemCenterReporting)

/savepath: Path to save. This option indicates the location to store the DTS package.

    (Default= )  This value is blank by default.

/donotrun: Indicates do not run. This option allows the user to choose to run the DTS package or not.

    (Default is to run)

/silent: Indicates that the console window should be hidden.

    (Default is to show)

/latency: Configures the latency period.

/maxconn:  Maximum connections. Controls how many steps can run in parallel.

    (Default=8, MinimumRequired=5)

As was true for running the executable file from the graphical user interface (GUI), after the installation of MOM Reporting, only one scheduled task is created. This enables importing of data from only one management group. To import data from multiple management groups, each separate scheduled task needs to be created individually, and the server parameters need to be changed accordingly.

Event Logs

When the DTS package completes successfully, an event is logged in Event Viewer. The following screenshot captures the details of the event type.

Figure 6. Details of the event type

Figure 6. Details of the event type

As seen from the preceding figure, the event that is logged in Event Viewer does not just indicate the successful completion of the DTS package. It also includes the data statistics of each task present in the DTS package, such as the time taken for the completion of each task.

Key Findings

The following are key findings with regard to the DTS task:

The DTS successfully imports data from multiple management groups: source and destination. The alerts are stored in the data warehouse (in the table SC_AlertFact_Table) along with the reference to the source/destination management group name (column ConfigurationGroup_FK).

The running of the DTS task does not affect the functioning of MOM. For instance, alerts are raised in the management groups in the MOM Operator console and also in the forwarding of alerts (and events associated with the alerts) to the destination management group.

The management group information that is associated with the imported data is maintained in the data warehouse server.

During each DTS run, only the delta of the additive fact tables is propagated across to the data warehouse. However, the entire dimension tables are transferred across for every data import. This is because of the huge amount of difference in the size of data for facts and dimensions. (Further information about additive fact tables and dimension tables is contained in “Additive Fact Tables” and “Dimension Tables,” later in this document.)

The DTS task is robust and handles errors gracefully. Appropriate error messages are logged to Event Viewer. Once the source of the error is rectified, the DTS can be rerun to complete the transfer of data. There is no duplicate data that is transferred across to the data warehouse; this is handled by the dynamic setting of watermarks, as explained in “Additive Fact Tables,” later in this document.

Alerts raised in a multihomed agent are propagated to the data warehouse as two separate alerts. However, when alert forwarding is also configured in this scenario, only one alert is raised in the destination management group database; the repeat count is incremented by 1.

Limitations and Workarounds

During the setup of MOM Reporting, the user is asked to specify only a single management group. Therefore, only one scheduled task is created.

Resolution: In order to manage multiple management groups, scheduled tasks need to be set up individually for each management group. Further information about how to create multiple scheduled tasks to import data from different management groups is contained earlier in this chapter.

For a MOM server (OnePoint database) residing in a different forest than the data warehouse, the fully qualified domain name (FQDN) of the server should be used while specifying the server parameter in the DTS command.

If the MOM database or the data warehouse is connected to a storage area network (SAN), any unexpected sudden downtime associated with the SAN will cause the OnePoint or SystemCenterReporting database to go into SUSPECT mode after the SAN is restored.

Resolution: Bounce the SQL Server services, and the database should be restored to its normal state.

During MOM 2005 installation, the OnePoint and SystemCenterReporting databases are not set to automatically grow. This causes the DTS task to fail when the log or data files get filled up.

Resolution: In the SQL Server Enterprise Manager, manually preset the databases to a reasonable size.

Open Issues

The following are open issues:

While attempting to populate large numbers of sampled numeric data (to the order of 100 million in a single partition) in the OnePoint database, the insert time increases dramatically after the insert of around 10 million to 20 million rows. It is observed that the OnePoint database will begin to saturate the hard disk after this point, after which the insert times increase up to 10 times.

In addition, there is a bottleneck observed in the DTS job when attempting to import larger volumes of sampled numeric data. 40 million performance counters are able to be successfully transferred in a single DTS run. Beyond this volume, the DTS package hangs; the symptoms in the DTS failure are similar—heavy disk saturation on the data warehouse server. The user can get around the problem by adjusting the /latency: parameter in the DTS job (see “Command-Line Details” earlier in this document).

Every time the DTS is finished running, an error is logged in Event Viewer. This error is logged even if the DTS task is successfully completed. This is a known issue in SQL Server.

The error logged is “Unable to read local event log [reason: The data area passed to a system call is too small]”

Performance

The following table lists the load rates that were used to populate the simulated data in the MOM database.

Table 3. Load Rates Used for Simulating Data in a MOM Database

 Per Computer Per DayNumber of DaysTotal Per DayTotal Count

Computers

 

 

 

5,000

Alerts

12

3

60,000

180,000

SampledNumericData

8000

3

40,000,000

120,000,000

Events

580

3

2,900,000

8,700,000

EventParameters

10

3

50,000

150,000

EventsConsolidated

10

3

50,000

150,000

EventSources

 

 

 

100

SNDSources

 

 

 

120,000

The preceding load rates achieve a database size of ~ 31 gigabytes (GB) for the MOM Operational database. The DTS import of one day’s worth of data took 5.5 hours to complete.

Note Empty cells in the preceding table indicate that the parameter (such as computers or alerts) is independent of the number of computers per day, number of days, and so on.

MOM 2005 Data Warehouse Schema

This chapter contains useful information for querying the Microsoft Operations Manager (MOM) 2005 data warehouse. The data warehouse features a dimensional model schema optimized for reporting and analysis. The following two figures show the data warehouse schema in terms of operations data and rules. They are followed by a third figure that shows the computer, MOM server, and MOM agent classes.

Figure 7. Data warehouse schema: operations data

Figure 7. Data warehouse schema: operations data
See full-sized image

Figure 8. Data warehouse schema: rules

Figure 8. Data warehouse schema: rules
See full-sized image

Figure 9. Computer, MOM server, and MOM agent classes

Figure 9. Computer, MOM server, and MOM agent classes
See full-sized image

It is recommended that all queries against the data warehouse be restricted to the presentation area views documented here. These views are easily identified by their names, which follow the pattern SC_*_View except for the views with names of type SC_Rel_*_View. Broadly speaking, there are four types of presentation area views documented in this test execution report:

Fact views. These represent facts stored in the data warehouse. Fact view names follow the pattern SC_*Fact_View.

Dimension views. These represent common concepts that are shared by multiple facts and fact types. Dimension view names follow the pattern SC_*Dimension_View.

Class views. These are specialized views created based upon classes defined as part of Management Packs. Each class defined by a Management Pack corresponds to a single class view. Class view names follow the pattern SC_Class_*_View.

Relationship views. These are specialized views created based upon class relationships that are defined as part of Management Packs. Each relationship defined by a Management Pack corresponds to a single relationship view. Relationship view names follow the pattern SC_Class_Rel_*_View.

Property names adhere to the following conventions:

Properties that form the foreign key of a dimension view are appended with the suffix _FK (for example, Computer_FK). In this case, the value of the property is the same as the value of the SMC_Instance_ID property in the corresponding row of the dimension table.

Properties that form the primary key of a dimension view are appended with the suffix _PK (for example, ComputerName_PK).

Each view contains a property called SMC_Instance_ID. This property is a unique identifier for each row in the view. In the case of fact views, this property also serves as the primary key for the view.

Example Number One—Alert Properties

This example shows how to query the data warehouse to return a list of alerts in which the properties of the alerts are similar to the view in the MOM Operator console. Specific to this example, a list of alerts and the following properties should be returned:

Severity

Time

Computer

Name

Repeat Count

The following figure shows SC_AlertFact_View as well as some related dimension views.

Figure 10. SC_AlertFact_View and related dimension views

Figure 10. SC_AlertFact_View and related dimension views
See full-sized image

In the preceding figure, each row in SC_AlertFact_View contains information about a single alert. Data unique to individual alerts, such as the Alert ID and Repeat Count, is represented as a column in SC_AlertFact_View. Data that can be shared between alerts, such as information about the computer on which the alert was raised, is stored in the related dimension views. The alert view contains references to these related tables. For example, the property Computer_FK contains the instance ID of the row in SC_ComputerDimension_View, which in turn contains information about the computer on which that alert was raised. Multiple alerts can refer to the same computer.

In order to query the data warehouse to return the properties, it is necessary to join SC_AlertFact_View with related views containing the properties that need to be returned. Inspecting the SC_AlertFact_View diagram yields the following information.

Table 4. Field, View, and Property

FieldViewProperty

Severity

SC_AlertLevelDimension_View

AlertLevelName

Time

SC_AlertFact_View

LocalDateTimeRaised

Computer

SC_ComputerDimension_View

FullComputerName

Name

SC_AlertFact_View

AlertName

Repeat Count

SC_AlertFact_View

RepeatCount

Therefore, the query needs to join SC_AlertFact_View with SC_AlertLevelDimension_View and SC_ComputerDimension_View. The following SQL query is used to do this.

Note Some parts of the following code snippet have been displayed in multiple lines only for better readability. These should be entered in a single line.

SELECT ALD.AlertLevelName AS Severity, AF.LocalDateTimeRaised AS Time, 
CD.FullComputerName AS Computer, AF.AlertName as Name, 
AF.RepeatCount AS RepeatCount
FROM SC_AlertFact_View AF INNER JOIN SC_AlertLevelDimension_View ALD ON 
AF.AlertLevel_FK = ALD.SMC_InstanceID INNER JOIN SC_ComputerDimension_View
CD ON AF.Computer_FK = CD.SMC_InstanceID

Example Number Two—Classes and Relationships

In this example, a query is authored against the operating system and the Installed Software classes to return the server name, operating system name, application name, and installation date for all software installed on a computer. Specific to this example, the data needs to be returned in the following form:

Server name

Operating system name

Application name

Installation date

Inspecting the data warehouse schema diagram yields the information shown in the following table.

Table 5. Field, View, and Property

FieldViewProperty

Server Name

SC_Class_OS_View

Server Name

Operating System Name

SC_Class_OS_View

Operating System Name

Application Name

SC_Class_Installed Software_View

Application Name

Installation Date

SC_Class_Installed Software_View

Installation Date

Figure 11. Class views

Figure 11. Class views
See full-sized image

Therefore, the query needed to join the three views shown in the preceding figure is as follows.

Note Some parts of the following code snippet have been displayed in multiple lines only for better readability. These should be entered in a single line.

SELECT OS.[Server Name], OS.[Operating System Name], 
ISw.[Application Name], ISw.[Installation Date]
FROM SC_Class_OS_View OS INNER JOIN [SC_Class_Rel_OS-Installed
Software_View] OSIS ON OS.ClassInstanceID = OSIS.SourceClassInstanceID
INNER JOIN [SC_Class_Installed_Software_View] ISw ON 
OSIS.TargetClassInstanceID = ISw.ClassInstanceID

All the data imported from the management groups is stored in the MOM 2005 data warehouse in the dimensional model, within the fact and dimension tables as follows:

Fact table. Operational data such as alerts, events, sampled numeric data (SND), and ComputerToComputerRule are stored here.

Dimension tables. Configuration information such as AlertLevel, EventType, and ComputerRule are stored here.

Fact Tables

There are two kinds of fact tables in the data warehouse: periodic snapshot fact tables and additive fact tables. The classification is based on how the records for the fact tables are imported via the DTS package.

Periodic Snapshot Fact Tables

Periodic snapshot fact tables store the records that are collected from the MOM database with a time snapshot wrapped around them before they are added to the data warehouse. The time snapshot represents the time of the DTS execution during each run. This is done so that the views referencing the fact tables in the data warehouse retrieve and reflect the latest set of records that are imported from the MOM database, which directly translates to the user viewing the latest information in the reports.

Since all the records are brought into the data warehouse for every DTS import, from the corresponding source tables in the MOM database, the grooming schedule on these particular tables is set more frequently in the data warehouse.

The following are examples of a few periodic snapshot fact tables and their corresponding source tables in the MOM database.

Table 6. Periodic Snapshot Fact Tables and Source Tables

Periodic Snapshot Table in Data WarehouseSource Tables in MOM Database

SC_ClassAttributeInstanceFact_Table

ClassAttribute, Instance

SC_ClassInstanceFact_Table

Class Definition, Instance

SC_ComputerRuleToProcessRuleGroupFact_Table

ComputerRuleToProcessRuleGroup

SC_ComputerToComputerRuleFact_Table

Computer, ComputerRule

SC_ProcessRuleMembershipFact_Table

ProcessRuleMembership

SC_ProcessRuleToScriptFact_Table

ProcessRuleToScript

SC_RelationshipAttributeInstanceFact_Table

RelationshipAttribute, Instance

SC_RelationshipInstanceFact_Table

Relationship, Instance

Additive Fact Tables

For additive fact tables, only the delta of the rows changed since the last DTS import is brought into the data warehouse. The delta for these tables is determined by watermarks that are defined for each of the corresponding source tables present in the MOM database. (In contrast, periodic snapshot fact tables do not have watermarks defined.) Watermarks are updated after every DTS run. This is to ensure that there is no duplication of data during multiple DTS imports from a particular management group.

There are two watermarks associated with the DTS package:

Low watermark. This is computed as the maximum value of the filter column for each additive fact table.

High watermark. This is set as the system time during the start of the current DTS execution minus (–) five minutes. Five minutes is the latency period considered for calculation of the watermark. This is done to ensure that any alerts that are raised up until the high watermark time period have sufficient time to be added properly in the database.

The following table provides a few examples of additive fact tables, their corresponding source tables in the MOM database, and the filter column.

Table 7. Additive Fact Tables, Source Tables, and Filter Column

Additive Fact Table in Data WarehouseSource Table in MOM DatabaseFilter Column

SC_AlertFact_Table

Alert

DateTimeAdded

SC_AlertHistoryFact_Table

AlertHistory

DateTimeLastModified

SC_AlertToEventFact_Table

AlertToEvent

DateTimeEventStored

SC_EventFact_Table

EventAll*

DateTimeStored

SC_EventParameterFact_Table

EventParamAll*

DateTimeEventStored

SC_SampledNumericDataFact_Table

SampleNumericDataAll*

DateTimeAdded

*Denotes database views

Dimension Tables

All dimension tables contain updateable dimensions, and, as stated, they do not have any filtering or watermarks defined. Consequently, all rows in these tables within the MOM database are transferred during each DTS import. Existing rows are updated and new rows, if any, are added. The following is a list of a few dimension tables present in the data warehouse.

Table 8. Dimension Tables and Source Tables

Dimension Table in Data WarehouseSource Table in MOM Database

SC_AlertLevelDimension_Table

AlertLevel

SC_AlertResolutionStateDimension_Table

ResolutionState

SC_ClassAttributeDefinitionDimension_Table

ClassAttribute

SC_ClassDefinitionDimension_Table

ClassDefinition

SC_ComputerDimension_Table

Computer

SC_ComputerRuleDimension_Table

ComputerRule

SC_ComputerToConfigurationGroupDimension_Table

Computer, Configuration

SC_ConfigurationGroupDimension_Table

Configuration

SC_ProcessRuleDimension_Table

ProcessRule

SC_ProcessRuleToConfigurationGroupDimension_Table

ProcessRule, Configuration

SC_RelationshipAttributeDefinitionDimension_Table

RelationshipAttributeDefinition

SC_RelationshipDefinitionDimension_Table

RelationshipDefinition

SC_ScriptDimension_Table

Script

SC_ScriptToConfigurationGroupDimension_Table

Script, Configuration

SC_UserDimension_Table

User

MOM 2005 Reports

Although out of scope for testing, a few of the MOM 2005 reports were informally tested to observe the effects of multiple management group rollup. This chapter discusses these observations in terms of Management Group Health, Alert Analysis, and Agent Health Detail.

There are limitations with MOM 2005 reports when displaying data from multiple management groups, since all reports do not currently support having management group as a criterion. The latter part of this chapter includes best practices that can be used in reports to display data from multiple management groups.

Operational Data Reporting: Management Group Health

Informal testing revealed that only the management group for which the first DTS import took place is displayed in the report, in spite of data being imported from multiple management groups. This is because Management Group has not been included as a criterion when displaying reports.

Figure 12. Management Group Health

Figure 12. Management Group Health

Operational Health Analysis: Alert Analysis

The following observations were made during informal testing:

The report results are skewed, since alerts appear multiple times in the report.

This happens because the SQL Server query used to generate the report does not return the right results, since there is no filter based on management groups. Therefore, multiple rule groups appear, which in turn causes duplicate alerts to be displayed.

Figure 13. Alert Analysis

Figure 13. Alert Analysis
See full-sized image

Microsoft Operations Manager: Agent Health Detail

The following observations were made during informal testing:

The report results are skewed, since alerts are appearing multiple times in the report.

This happens because the SQL Server query used to generate the report does not return the right results, since there is no filter based on management groups. Therefore, there are multiple event details appearing, which in turn causes duplicate events to show up in the report.

Figure 14. Agent Health Detail

Figure 14. Agent Health Detail

Best Practices

There are several best practices that can be used in the reports to display data from multiple management groups. In order to incorporate these best practices, the reports need to be customized. Further information about customizing reports is available in the MOM 2005 product documentation.

1.

Include Management Group as a criterion when displaying reports. This permits the user to view data categorized by each management group.

2.

Modify the existing query that the report utilizes to fetch data. With some minor modifications to the report query, it is possible to fetch data based on each management group. This is possible because the schema of the MOM 2005 data warehouse supports categorizing data based on the management group.

The following sample SQL Server queries can be used to obtain data based on a particular management group.

To determine the number of alerts, events, and sampled numeric data (SND) in the data warehouse (SystemCenterReporting database) for a particular management group ZMGXX

Note Some parts of the following code snippet have been displayed in multiple lines only for better readability. These should be entered in a single line.

use SystemCenterReporting
SELECT
count(*) Alerts_in_DW
FROM
dbo.SC_AlertFact_View A
WHERE
A.ConfigurationGroup_FK = ( SELECT CG.SMC_InstanceID FROM 
SC_ConfigurationGroupDimension_View CG WHERE CG.
ConfigurationGroupName = 'ZMGXX' ).

SELECT
count(*) Events_in_DW
FROM
dbo.SC_EventFact_View E
WHERE
E.ConfigurationGroup_FK = ( SELECT CG.SMC_InstanceID FROM 
SC_ConfigurationGroupDimension_View CG WHERE CG.
ConfigurationGroupName = 'ZMGXX' ).

SELECT
count(*) SND_in_DW
FROM
dbo.SC_SampledNumericDataFact_View S
WHERE
S.ConfigurationGroup_FK = ( SELECT CG.SMC_InstanceID FROM 
SC_ConfigurationGroupDimension_View CG WHERE CG.
ConfigurationGroupName = 'ZMGXX' ).

Logic:

SC_ConfigurationGroupDimension_View contains the management group information.

To list all the computer groups within each computer under a particular management group ZMGXX

SELECT
CG.ConfigurationGroupName, 
CR.[Name] as ComputerGroups,
C.FullComputerName 
FROM
SC_ComputerToComputerRuleFact_Latest_View CCR,
SC_ComputerDimension_View C, 
SC_ComputerRuleDimension_View CR,
SC_ConfigurationGroupDimension_View CG
WHERE
CCR.Computer_FK = C.SMC_InstanceID AND
CCR.ComputerRule_FK = CR.SMC_InstanceID AND 
CCR.ConfigurationGroup_FK = CG.SMC_InstanceID AND 
CG.ConfigurationGroupName = 'ZMG01'
ORDER BY
CR.[Name]

Logic:

SC_ComputerToComputerRuleFact_Latest_View contains the latest ‘snapshot’ of association between Computer and Computer Rule.

SC_ComputerDimension_View contains the information on each computer.

SC_ComputerRuleDimension_View contains the list of all Computer Rule present.

SC_ConfigurationGroupDimension_View contains the Management Group information.

To determine the rules pertaining to each management group

SELECT
CG.ConfigurationGroupName, 
PR.ProcessRuleName 
FROM
SC_ConfigurationGroupDimension_View CG,
SC_ProcessRuleToConfigurationGroupDimension_View PRCG,
SC_ProcessRuleDimension_View PR
WHERE
PRCG.ConfigurationGroup_FK_PK = CG.SMC_InstanceID
AND
PRCG.ProcessRule_FK_PK = PR.SMC_InstanceID

Logic:

SC_ConfigurationGroupDimension_View contains the Management Group information.

SC_ProcessRuleToConfigurationGroupDimension_View contains the association between ProcessRule and ConfigurationGroup

SC_ProcessRuleDimension_View contains the list of all rules present.

3.

Use aggregation in reports by including ALL in the list of management groups. As stated earlier, setting Management Group as a main criterion helps obtain data from each management group. By including ALL in the list of management groups that will be available to the user to select from, the user has the option of viewing aggregated data—that is, data that is consolidated or spread across all the management groups.

The following sample SQL Server queries can be used to obtain consolidated data from all available management groups.

To determine all the alerts for a given computer (ComputerXX) in a given domain (Domainxx) across all management groups

SELECT
C.fullComputerName,
A.AlertDescription 
FROM
SC_ComputerDimension_View C
JOIN
SC_Alertfact_View A
ON
C.SMC_InstanceID = Computer_FK
AND
C.Fullcomputername = 'Domainxx\ComputerXX'

A similar query can be used to retrieve events for a given computer (ComputerXX) in domain (Domainxx).

To determine all the alerts for all computers present in a given computer group across all management groups—servers running Microsoft Windows Server™ 2003 Internet Information Services (IIS) Simple Mail Transfer Protocol (SMTP)

SELECT
CR.[Name] AS ComputerGroups,
C.FullComputerName, 
A.AlertDescription 
FROM
SC_ComputerToComputerRuleFact_Latest_View CCR, 
SC_ComputerDimension_Table C,
SC_ComputerRuleDimension_Table CR,
SC_Alertfact_table A
WHERE
C.SMC_InstanceID = A.Computer_FK AND 
CCR.Computer_FK = C.SMC_InstanceID AND 
CCR.ComputerRule_FK = CR.SMC_InstanceID AND 
CR.[name] = 'Microsoft Windows 2003 IIS SMTP Servers'

 

© 2006 Microsoft Corporation. All rights reserved. Terms of Use |Trademarks |Privacy Statement
Microsoft