在生产环境中安装了基于Windows的应用之后,通常都需要采用某种程度的看护(监控)措施。监控系统、服务、应用程序和网络的产品之多是非常惊人的。幸运的是(或许是不幸的是)某些基于微软的服务和应用都有非常具体的监控要求,这样就自己缩小了可以选择的监控工具范围。
NetIQ公司的AppManager Suite(应用程序管理器套装软件)、微软的操作系统管理器 (MOM)、VitalSuite、SiteScope、当然还有惠普的OpenView 和IBM的Tivoli 等都是目前可以使用的一些商品化的产品。在本文中,我们将介绍微软的解决方案(MOM)和NetIQ公司的AppManager,因为这两个软件在技术上关系密切,而且广泛应用于在Windows应用环境中。
MOM与NetIQ以及其它产品的关系
NetIQ与微软既是合作伙伴也是竞争对手。微软在2000年购买了NetIQ公司的AppManager Suite源代码的许可证。微软的MOM就是根据NetIQ的技术制作的。MOM 2005和MOM 2005工作组版(之前称为MOM 2005 Express)是微软正在实施的动态系统管理计划(Dynamic Systems Initiative/DSI)的一部分。动态系统计划是微软长期的系统管理战略。MOM 2005工作组版适用于配置10台以下服务器的站点。
NetIQ中的MSMQ监视
NetIQ提供了一个把NetIQ扩展到MOM的XMP (扩展管理包),使MOM 2005的用户能够管理在NT 4.0、Unix和Linux等平台上运行的非微软应用程序。这是非常有用的,因为MOM最大的缺陷之一是它把监测的内容局限在微软家族里,而且在没有连接器的情况下就不监视非微软的应用程序,如思科、Citrix、Lotus Notes或者甲骨文的应用程序。幸运的是,在MOM功能包中含有适用于MOM 2000的MOM连接器框架 (MCF)。MOM 2005完整版也包含这个功能。Veritas和惠普等许多第三方软件和硬件厂商都为自己的产品提供连接器。
如果你的预算不足以应付这些价格很高的商业性产品,或者如网络连接、正常运行时间、CPU、内存和磁盘使用等基本的监视正是你的Windows系统所需要的,那么,Nagios或者Zabbix等开源软件解决方案可能会满足这些需求。
但是,对于执行重要任务的Windows应用程序和服务来说,开源软件解决方案有时候还不适合监视这些环境。 监视活动目录、Exchange、IIS或者SQL服务器需要一些开源软件解决方案不能安装好就立刻提供的非常具体的功能。甚至Nagios也需要一些与Windows服务器沟通的代理机制,以便监控和应答Windows事件记录与服务失败的情况。对这些活动的监测对基于windows的应用来说是非常基本的要求。
基于Windows的分布式应用程序是问题儿童?
对于许多机构来说,特别重要的是监控使用.NET、COM+、MTS、MSMQ以及其它无法使用开源软件解决方案进行监控的基于Windows的分布式应用程序。
NetIQ公司的AppManager是用于监控基于Windows的分布式应用程序的最主要的商业性产品之一。AppManager能够监控一些不易监测的项目,如MSMQ “入网消息数率(Incoming Message Rate)”、“活动队列字节”(Active Queue Bytes)和“活动队列消息(Active Queue Messages)”或者“COM+反应时间”等。处理内存使用率是在基于Windows的应用中经常需要监控的另一个普通项目。对于监控含糊不清的COM计数器来说,微软首选支持服务(Microsoft Premier Support)提供了一个名为“COMPSTAT2”的.dll(动态链接库)。这个动态链接库能够显示高级的性能计算器,这样,这些数据就能够像在其它的性能监控计数器中一样由NetIQ软件处理。微软显然有一些这种类型的动态链接库。
COMPSTAT2显示额外的COM计数器
作为基于Windows的应用程序环境的一种监控工具,NetIQ AppManager有一些非常有用的功能。这些功能之一是为基于Windows的集群设置资源依赖脚本。当使用一个集群的两个节点时,它能够自动防止监控工作在一个停用的集群节点上运行,这样就不会产生错误的报警。如果出现故障转移,NetIQ能够自动转换到正在使用的节点。
维护模式同样是一种有用的功能。当一个系统处于维护模式时,监控脚本不会在这个系统上运行。这对于按计划的关机和重新启动是很有用的,因为它不会产生错误的报警。
AppManager还使用“知识脚本组”的概念。那是一组监控脚本,可用于同样类型的服务器。这能够使管理和执行监控脚本更加容易,使那些脚本更容易编辑。
NetIQ 知识脚本组
会见“临时保姆”
如果你正在为基于Windows的系统和应用程序选择一个监控解决方案,显然有很多事情需要考虑。
由于定制的脚本经常包含在监控解决方案中,你需要查明每个产品使用什么类型的脚本语言。例如,NetIQ使用VBScript。在坚持SLA(服务水平协议)的同时,你要评估导致在你的环境中造成系统或者应用程序故障的最常见的问题。为了服务水平协议和其它目的,你需要系统采取什么样的发展趋势和报告?根据对现有设备需求的日益增长,你是否需要说明购买新设备是合理的?根据你的具体需求,哪一种产品能够提供“开箱即用”的功能?这个解决方案包含了多少定制的脚本或者扩展,以及这类脚本难度有多大,成本是多少?如果这个解决方案要在公司范围内应用,它如何适应你的环境?
总之,关于监控解决方案的最佳忠告是聪明地计划并且尽可能使事情简单一些。对于监控的东西和搜集的数据要加小心。认真计划你的数据保持和报告需求。如果你收集很多性能数据并且要把这些数据保留很长时间,数据库很快就会变得非常庞大。你还要少发一些警报。警报的数量会增加得很快,特别是在你监控大量的服务器的时候。最开始的时候一般是发送很多你不需要的警报。
如果你的职责是选择一个监控解决方案,你要认真评估现有的工具。如果这个工具不能完成任务,那么,你将花费更多的时间艰难地制作自己的工具。
文章来源于领测软件测试网 https://www.ltesting.net/
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073