Custom Reporting in Microsoft Operations Manager
MOM uses two separate databases to store data collected from the systems it manages. The main MOM database is used to store all the configuration data for the MOM Server, and also acts as a short-term store for data that is collected from managed computers. Because of the sheer size of the data collected, MOM will delete older data after a certain user-defined period, and to allow this data deletion to happen in a high-performance manner, dynamically-generated partitioned tables are used to store operational data. The schema of the main operational data, and the fact that data is deleted from it on a regular basis, make it a very poor option for reporting.
To support longer-term reporting on operation data, MOM uses a DTS package to regularly move data from the main database into a data warehouse with a schema that is optimised for reporting purposes. SQL Server Reporting Services sits on top of this data warehouse, and offers a rich set of pre-built reports that can be created on demand or scheduled for publication and distribution to relevant parties. This means that a CIO can be automatically provided with a regular report in say, PDF format that is delivered via email every Monday morning, while operations staff can dynamically extract much more detailed information in a format that is more accessible to them, such as an Excel spreadsheet.
The reports that ship with MOM can easily be extended, and the process of writing new reports is quite simple and straight forward. For an overview of how SQL Server Reporting services works and how easy it is to write reports, see the two-part series of articles on Reporting Services archived on the authors website at http://www.dotnetperformance.com/articles.aspx.
Conclusion
Logging is a critical element of a real-world application. Without adequate logging, operations staff will have an extremely difficult job managing the applications that you write, increase the likelihood of animosity and outright rejections of the code that you spent so long writing. Adding logging to an application is a simple task, and the first two articles in this series showed that there is a wide range of options available for the .NET developer to choose from. With the improvements in the in-built logging and tracing functionality in the .NET 2.0 Framework Libraries, it is likely that this will end up as the default choice for most developers to provide rich instrumentation data in a manner that is not too imposing.
To allow the log output of many applications, machines and domains to be managed in a reliable manner, server software like Microsoft Operations Manager allows operations staff to see a holistic view of the IT assets they are charge with maintaining, and put in place rules that allow them to be notified automatically when systems need attention. There are a number of ways that a developer can assist with the management, including producing Management Packs, MOM Reports, and applications that interact deeply with MOM using the MOM Connector Framework.
Posted in: Software Programming| Tags: Microsoft .NET technologies Management Packs Microsoft Operations Manager MOM MOM Components MOM Management Server MOM Operator Console MOM SDK PerfMon Windows Management Instrumentation WMI