Friday, September 05, 2003

KB .NETDevelopment - MEIF

The Microsoft Enterprise Instrumentation framework provides unified management, eventing, and diagnostic tracing services for enterprise applications in a production environment. Enterprise Instrumentation enables developers to consistently instrument enterprise applications, which are increasingly decoupled and distributed, and enables support staff to use a "white-box" approach to monitoring and diagnosing application health, faults, or other internal conditions.

Every released software application, regardless of size or complexity, imposes a common requirement on the business that the application serves: it must be managed to ensure that the application provides its services correctly and reliably during its operational lifetime. Instrumentation plays a key role in application manageability, allowing a particular software or hardware element to publish — or be queried for — relevant information. Examples of common instrumentation mechanisms include performance counters, event logs, Windows 2000 Event Trace, and Windows Management Instrumentation (WMI). These mechanisms are often complementary, as in the example of querying an event log through a WMI provider.

Achieving consistent instrumentation across all enterprise applications is a difficult task. Today, enterprises that build applications on Microsoft platforms must instrument their applications by directly writing to event logs, performance counters, third-party instrumentation APIs, or their own common instrumentation wrappers and libraries. Implementing and supporting the various forms of instrumentation brings additional challenges, given the distributed nature of today's n-tier, Web-enabled applications.

Operations staff must be able to trace specific paths through the system, not just monitor individual events and event sources. Logically related events from physically different servers need to be correlated. The instrumentation itself must be suitable for a production application; instrumentation overhead must minimally effect application throughput. Finally, organizations must be able to leverage as many existing management tools and infrastructure as possible, to monitor and troubleshoot the enterprise applications they support.

Key features of this framework are:

* Unified programming model, suitable for both enterprise developers and system developers.
* Structured WMI event schema, which acts as a supportability contract between Development, Test, and Operations teams.
* Scriptable configuration layer, allowing operations teams to configure how events are raised or logged from an application.
* Support for raising or logging events through WMI, Windows Event Log, and Windows Event Tracing, a high-speed kernel-
mode tracing system.
* Correlation of events to business processes or operations with Request Tracing, which allows operations staff to
troubleshoot requests across a distributed application.

No comments: