开发者社区> 技术小甜> 正文

实战SMS的软件计数功能暨故障排查:SMS2003系列之十一

简介:
+关注继续查看
实战SMS的软件计数功能暨故障排查
 
SMS服务器提供了软件计数功能(software metering),软件计数可以统计客户端计算机上特定软件的使用次数,并通过SMS的报表功能加以汇总。我们可以利用软件计数统计客户机上某个应用程序的使用频率,从而决定是否应该购买此软件的License;我们也可以利用软件计数调查最近有没有公司的用户在上班时间偷偷玩游戏,从而决定该如何修理他一顿….总之,软件计数是SMS提供的一个非常实用的管理功能,今天我们就为大家介绍如何实现SMS的软件计数功能。软件计数实现起来难度不算很大,但以往有些管理员在实现此功能时出现过问题,因此我们对软件计数功能的排错也提供一些参考思路。
实验拓扑如下图所示,Florence是域控制器,BerlinSMS服务器,Perth是客户机,所有计算机都安装了Win2003中文企业版。本次的实验目的是统计客户机上IE浏览器的使用次数。
 
 
 启用SMS软件计数功能
 
1) SMS客户端代理的软件计数功能默认并没有打开,我们首先要开启这个功能
 SMS服务器上打开SMS管理员控制台,展开站点设置下的客户端代理,查看软件计数
客户端代理属性,如下图所示
 
如下图所示,我们选择“在客户端上启用软件计数”
 
切换到软件计数客户端代理的计划标签,如下图所示,我们设置每15分钟在客户机上进行一次数据采集以及进行计数规则的下载。设置为这个频率只是为了实验方便,在生产环境下不要这么做,因为这么高的采集频率会导致网络带宽的大量消耗。
 
2) 在客户机上刷新策略
 
我们启用了SMS客户端代理的软件计数功能后,默认情况下SMS客户端需要60分钟的时间来自动更新策略,如果我们在实验环境下希望尽早启用此功能,我们可以选择在客户机上手工刷新策略。在客户机上的控制面板中打开系统管理,在系统管理属性中切换到操作标签,如下图所示,选择“计算机策略检索和评估周期”,点击“初始化操作”,这样在5分钟内客户机就可以更新到服务器上的最新策略。
 
客户机上进行初始化操作后,我们切换到系统管理属性的组件标签,如下图所示,SMS软件计数代理已经启用了。
 
 创建软件计数规则
 
启动了SMS代理的软件计数功能后,我们就可以创建软件计数规则了,我们准备通过软件计数规则来统计一下客户机上IE浏览器的使用次数。在SMS服务器上打开SMS管理员控制台,右键点击软件计数规则,如下图所示,选择新建“软件计数规则”
 
如下图所示,在软件计数规则属性中我们填写了新建规则的名称“Internet Explorer Metering”,文件名和原始文件名都填写了IEXPLORE.EXE。文件名和原始文件名是有区别的,文件名是文件系统中的文件名称,原始文件名是可执行文件文件头中的原始文件名,一般情况下这两个名称填写一个即可。版本参数我们填写通配符*,这样软件计数规则就可以支持规定软件的任何版本。语言参数选择了“任何”,显然也是为了使规则更具有适用性。
 
  检查SMS服务器服务状态
 
接下来我们检查一下SMS服务器上的服务状态,看软件计数所依赖的服务是否在正常运行。如下图所示,打开SMS管理员控制台,在SMS服务管理器的所有任务中选择“启动SMS服务管理器”
 
SMS服务管理器中检查SMS_SOFTWARE_METERING_PROCESSOR以及SMS_SQL_MONITOR的运行状态是否正常,如下图所示,这两个组件状态正常。
 
 
 在客户机上进行软件测试
 
软件计数功能生效后,客户机会根据从SMS服务器下载的软件计数规则来判断客户机上运行的程序是否匹配计数规则。如果匹配,那么客户机会将此软件的运行过程记录下来并发送给服务器,供服务器进行统计分析。下面我们在客户机上运行IE浏览器,看看是否能够被软件计数规则记录到,如下图所示,我们在客户机上打开浏览器,访问一些网站。
 
客户机运行IE后,我们在客户机的系统管理工具中选择“软件计数使用报告周期”,如下图所示,点击“初始化操作”,这样可以强制客户机将软件计数规则记录的结果发送给服务器。
 
 在服务器上汇总结果
 
服务器收到客户机发来的统计数据后,需要对数据进行汇总。打开SMS管理员控制台,如下图所示,在“站点维护”的“任务”中选择“汇总软件计数文件使用数据”,查看属性。
 
如下图所示,我们选择启动此汇总任务,而且将汇总时间定为每天的 8:00-17:00

过了一段时间(我是等了一天)后,我们来查看一下软件计数的汇总结果。在SMS服务器上打开SMS管理员控制台,在报表中右键点击“已运行特定计数软件程序的计算机”,如下图所示,在所有任务中选择运行-Berlin,意思是在Berlin上运行这个查询,这个查询可以查看有多少计算机运行了指定的软件以及具体的运行次数。
 
运行查询后,如下图所示,我们分别输入软件计数规则的名称,查询的月份和年份,点击“显示”按钮
 
查询结果如下图所示,软件计数功能准确地统计出了客户机上的IE运行次数,实验成功!
 
 故障排查思路
 
上述实验是成功的,但论坛上有不少朋友反映使用软件计数功能时出现了一些错误,而且不知道错误在什么地方,该如何去进行排查?下面我们就来提供一些故障排查思路给大家参考。软件计数功能的实现大致是这样一个过程:SMS服务器上启动软件计数功能以及设置软件计数规则后,SMS客户端从服务器下载软件计数规则。然后SMS客户端就开始对每一个运行的软件进行计数规则检查,如果发现匹配规则就记录下来,然后发送给SMS服务器,服务器最后将收到的记录后进行汇总,用户就可以进行结果查询了。
按照这个流程,我们就可以构思一个排错思路了。首先我们要考虑的是客户机有没有从服务器下载软件计数规则以及用这个规则去检查客户机上的软件执行情况,如何去解决这个问题呢?检查一下客户机c:\windows\system32\ccm\logs\mtrmgr.log,如果客户机从服务器成功地下载规则,就会对客户机上执行的每一个程序进行规则匹配检查,检查的结果就记录在这个日志文件里。如下图所示,我们打开客户机上的mtrmgr.log,可以看到客户机执行的每一个程序都被记录下来,然后检查是否匹配软件计数规则。注意看下图红框处,客户机执行了IEXPLORE.EXE,然后客户机发现这个程序和软件计数规则是匹配的。这就说明客户机已经成功地从服务器下载了软件计数规则,并且能用规则对客户机执行的程序进行检查。
 
 
然后我们就要考虑客户机是否把记录到的软件使用数据发送给了服务器,这个可以通过客户机上c:\windows\system32\ccm\logs\ SWMTRReportGen.log来进行检查,打开日志文件,如下图所示,红框处的记录说明客户机已经把记录发送给了SMS服务器。
 
服务器如果收到了客户机发来的记录,就会把它记录在一些表里,我们可以通过查询这些表来确认服务器是否已经收到了客户机发来的记录,例如我们可以打开SMS服务器上SMS_001库中的Meterdata表,如下图所示,我们可以看到表中已经有客户机发来的记录了。
 
服务器收到客户机发来的统计记录,是否我们就可以查询到结果了?未必,因为客户端发来的结果还需要服务器进行汇总,服务器进行汇总有可能要经过一天,而且即使我们修改了汇总的时间也需要等待一段时间才能看到最终结果,因此请大家耐心一些。按照这个排查思路,在哪个阶段出了问题应该可以进行基本的判断了,祝大家都能顺利完成实验。

















本文转自yuelei51CTO博客,原文链接: http://blog.51cto.com/yuelei/81302,如需转载请自行联系原作者






版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《全栈性能测试修炼宝典 JMeter实战》—第1章 1.3节软件测试发展路线
测试的可塑性很强,还有很多其他方向可以发展,同样能够创造更高的价值.
1284 0
函数计算自动化运维实战2 -- 事件触发eip自动转移
函数计算 阿里云函数计算是一个事件驱动的全托管计算服务。通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传。函数计算会为您准备好计算资源,以弹性、可靠的方式运行您的代码,并提供日志查询,性能监控,报警等功能。
1809 0
《全栈性能测试修炼宝典 JMeter实战》—第1章 1.1节为什么选择软件测试
市场上有各式各样的IT培训,其中门槛低易上手的就是软件测试。就业的学员通常都以功能手工测试为切入点,掌握一些基本测试理论,学会设计测试用例,能够操作缺陷管理工具,熟悉一些业务就可以开始测试工作了。
1654 0
《全栈性能测试修炼宝典 JMeter实战》—第1章 1.2节软件测试痛处
就目前国内情况来看,大多数的测试人员并没有开发和运维的技术功底,选择测试这个行业仅仅是因为高薪和入门门槛低。近年来互联网和P2P的神话,快速抬高了测试平均工资,却没能快速提高这个行业的技术水平。
915 0
+关注
10145
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载