当你的NET应用出现性能问题的时候能很快得找到问题的症结吗? 这是一个运营的企业应用所必需考虑的问题最近工作中碰到很多这方面的问题运行中的系统完全是一个黑盒子不象开发中的产品可以通过代码跟蹤去Debug出问题来运行的系统一个非常重要的方面能够被监控没有运行维护体系支持的NET应用就会脆弱得像入冬后树枝上最后一片叶子最近一直被这个问题所困扰公司内有几百个NET系统想对他实施监控竟然毫无对策各位同学在你们的项目/产品中考虑到这个问题了吗一般怎么处理欢迎各位交流讨论
WMI(Windows管理规范Windows Management Instrumentation)是Microsoft基于Web的企业管理(WBEM)的实现同时也是一种基于标准的系统管理接口Windows系统层面的监控几乎基于WMI机制而与这个机制切合最好的恐怕非MOM(Microsoft Operations Manager )莫属无论是学习还是实际应用事实上Enterprise Library特别是版本已经成为众多NET应用尤其是大型应用的样板Instrument作为Common Block的主要组成可以说是为整个Enterprise Library内置的它的外围是性能监控器和WMI微软Patterns && Practices社区一直在关注NET监控和性能调整Improving NET Application Performance and ScalabilityMonitoring in NET Distributed Application Design这些都是文档打印出来都是一本本厚厚的书给人一个半生不熟的感觉对于很多企业而言几乎没有多少技术力量可以把这些内容串起来
象Enterprise Library 可以通过WMI来发现和查询如何让WMI来发现呢让WMI能够查询到你的那个类?那就需要自己提供WMI Provider这个东西在NET 平台下(NET 上有 WMI 也就是Enterprise Library 所支持)非常的简单了
WMI的一些中文资料我也整理了一些Windows管理规范 WMI在CodeProject上有一篇 A simple guide to WMI providers 认真研究一下Enterprise Library 的有关系统监视Instrumentation的东西
ASPNET 已经有了一个ASPNET 运行状况监视参见 http://msdnmicrosoftcom/zhcn/library/ms(VS)aspx 将aspnet 升级到aspnet对于运营来说就是一个非常不错的好处了