SCOM的Rule主要用来收集数据,我们看到的EventView,PerformanceData,Report所需数据大部分都是通过Rule来收集的。
SCOM Rule的基础结构是触发指定的条件,就执行指定的动作。这个我们通过Rule的属性界面可以看的清楚点:
数据源DataSource一旦有数据返回,数据就会被交给下面的执行动作WriteAction。在这个截图里,数据源一旦有Event数据产生,就会发送给下面的DatabaseWriteAction,Event就会被写进DataBase里面。
我们通过创建一条Rule来帮助理解,在Console中进入编辑Authoring版面,展开ManagementPackObject,右击Rule选择创建。
先假设我们机器上有IIS,我们需要收集w3wp.exe的内存和CPU占用情况。
第一步,需要选择RuleType。
图片里面有AlertGeneratingRules,CollectionRules,这两个师按照动作归类的,就是说这两个目录下面的RuleType所执行的动作就是收集数据和生成Alert。然后下面就分数据源,Event数据,Performance数据都可以通过截面看到。ProbeBasedScript数据源是VBS,就是你执行脚本返回Event或者Performance数据。脚本格式的话之后再讲暂时跳过。
然后下面还有Timed Command,这个是按照数据源归类的,数据源是时间触发器,执行动作是Command和Script。
针对我们假设的场景,这里选择WindowsPerformance,下面还有选择ManagementPack的,就选Default Management Pack。
第二步,填写RuleName,Category,Target。
Name不解释,随意点吧。
Category最好选PerformanceCollection,不会影响数据收集,但UI上操作选数据时候方便。
Target是Rule的应用对象,暂时选Windows Computer。
第三步,配置数据源。
我们选择的RuleType是WindowsPerformance,SCOM会去读PerformanceCounter的,需要指定一些参数。PerformanceCounter典型的参数有Object,Counters,Instance,不懂的Google。
这里我们暂且填Object:Process,Counter:% Processor Time, Instance:w3wp#1
后面还有第四步,不过也是Performance的配置,主要配置采样频率,默认。
然后Rule就创建完成了,过个几个小时可以通过Monitoring界面查看数据了。
创建PerformanceView
在Monitoring版面选择Monitoring根节点,右击选择New Performance View。
Name不说,下面Condition里勾选SpecificRule,点击下面那个超链接选择刚才创建的Rule。
基本大功告成,然后就能看到W3wp.exe的Performance数据了。