基于探测的Script (Event)SCOM 收集规则
由于支持VBS脚本使得SCE 2007变得非常强大,所有脚本可以访问的资源SCE 2007都可以访问。基于探测(Probe Based)的脚本收集规则包括Script (Event) 收集规则和Script (Performance) 收集规则两种。前者是将脚本采集并返回SCE 2007的数据映射为事件并在事件视图上显示,后者将脚本采集并返回SCE 2007的数据映射为性能计数器数据并在性能视图上显示。
在SCE 2007中,将数据存入数据仓库以及使用Operations Manager Scripting API与MOM 2005是完全不相同的。SCE 2007引入了一个称之为属性袋(Property Bag)的新对象来存储和返回数据,当数据返回到SCE 2007时使用XPath参数(为脚本设计的定制参数)进行映射。
属性袋在脚本使用中是作为一个临时对象存储以属性名-值(name-value)对方式的操作数据并返回数据给SCE 2007。
在SCOM 2007上的操作与在SCE 2007完全相同。
本操作的技术要点:
?* 脚本中使用属性袋技术将脚本采集的数据以“属性名-值”对方式返回给SCE 2007。
?* 事件映射时只是对事件源、事件日志、事件ID、事件分类和级别指定了数据以构成SCE 2007的事件格式,并非实际产生一个真实的事件,所以并不会出现在事件查看器中。
?* 在事件映射时,Computer等前五项可以自行指定。如果采用脚本输出的“属性名-值”数据,其表达式为 $Data/Property[@Name=’属性名’]$。表达式中属性名必须和脚本中一致且大小写敏感。目前还不清楚“Category”代码的定义和“Parameters”的作用。
创建Script (Event) 收集规则
本例运行下面的脚本程序采集客户端计算机上可用内存,映射为ID=120的事件显示在事件视图上。
On Error Resume Next
Dim oAPI, oBag
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!//" & strComputer & "/root/cimv2")
strQuery = "select * from Win32_PerfFormattedData_PerfOS_Memory"
Set colMemory = objWMIService.ExecQuery (strQuery)
For Each objMemory In colMemory
AvailMemory = objMemory.AvailableMBytes
Next
Description = "Available Memories are " & AvailMemory & " MB"
Call oBag.AddValue("Event ID",120)
Call oBag.AddValue("Event Source","CustomScript")
Call oBag.AddValue("Event Description",Description)
Call oAPI.Return(oBag)
(01) 选择规则类型和管理包。
规则类型:Collection Rules->Probe Based->Script (Event)
管理包:选择新创建的Test-MP。
(02) 设置规则名称、描述,选择目标对象并启动该规则。
Rule Target: Agent
(03) 设置脚本执行周期间隔。
Run every:2分钟
(04) 输入脚本程序、脚本超时时间和脚本输入参数。
(05) 设置事件映射。
Computer: $Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$
Event source:$Data/Property[@Name=’Event source’]$
Event log:Operations Manager
Event ID::$Data/Property[@Name=’Event ID’]$
Category:0
Level: Information
(06) 在“Agent”对象上产生新的规则。
测试:
(01) 导航到Monitoring模块的Computers,选择计算机,右击->Open->Event View,展开事件视图。
(02) 在计算机CSS-27的事件视图上将不断地显示出由脚本产生的事件ID=120的事件。其数据源(CostomScript)、事件ID(120)和日志名(Operations Manager)都是脚本输出的信息。
点击“View Event Data”查看事件详细信息。