如何有效监控.NET 应用程序

当你的.NET应用出现性能问题的时候能很快得找到问题的症结吗? 这是一个运营的企业应用所必需考虑的问题,最近工作中碰到很多这方面的问题,运行中的系统完全是一个黑盒子,不象开发中的产品可以通过代码跟踪去Debug出问题来,运行的系统一个非常重要的方面能够被监控,没有运行维护体系支持的.NET应用,就会脆弱得像入冬后树枝上最后一片叶子,最近一直被这个问题所困扰,公司内有几百个.NET系统,想对他实施监控竟然毫无对策。各位同学在你们的项目/产品中考虑到这个问题了吗,一般怎么处理,欢迎各位交流,讨论。

  WMI(Windows管理规范:Windows Management Instrumentation)是Microsoft基于Web的企业管理(WBEM)的实现,同时也是一种基于标准的系统管理接口。Windows系统层面的监控几乎基于WMI机制,而与这个机制切合最好的恐怕非MOM(Microsoft Operations Manager )莫属;无论是学习还是实际应用,事实上Enterprise Library特别是4.0版本已经成为众多.NET应用,尤其是大型应用的样板,Instrument作为Common Block的主要组成,可以说是为整个Enterprise Library内置的,它的外围是性能监控器和WMI;

   微软Patterns && Practices社区一直在关注.NET监控和性能调整,Improving .NET Application Performance and Scalability,Monitoring in .NET Distributed Application Design。这些都是文档,打印出来都是一本本厚厚的书。给人一个“半生不熟”的感觉,对于很多企业而言几乎没有多少技术力量可以把这些内容串起来。

   象Enterprise Library 可以通过WMI来发现和查询,如何让WMI来发现呢,让WMI能够查询到你的那个类?那就需要自己提供WMI Provider,这个东西在.NET 平台下(.NET 2上有 WMI 2,也就是Enterprise Library 4所支持)非常的简单了。

  WMI的一些中文资料我也整理了一些Windows管理规范- WMI,在CodeProject上有一篇 A simple guide to WMI providers ,认真研究一下Enterprise Library 4的有关系统监视Instrumentation的东西。

   ASP.NET 2.0已经有了一个ASP.NET 运行状况监视,参见 http://msdn.microsoft.com/zh-cn/library/ms178701(VS.80).aspx , 将asp.net 1.1升级到asp.net2.0对于运营来说就是一个非常不错的好处了。

本文来自云栖社区合作伙伴“doNET跨平台”,了解相关信息可以关注“opendotnet”微信公众号

上一篇:【设计模式】外观模式 ( 概念 | 适用场景 | 优缺点 | 代码示例 )


下一篇:【设计模式】外观模式