This document is part of the Operations Manager Management Pack Authoring Guide .
The following procedure shows how to create a performance collection rule by using a monitoring script in the Operations Manager 2007 Authoring console and Visual Studio Authoring Extensions.
This exercise applies to the following products:
Before you perform this procedure, you must first complete the following prerequisite procedures:
The Microsoft System Center team has validated this procedure as of Revision #1. We will continue to review any changes and periodically provide validations on later revisions as they are made. Please feel free to make any corrections or additions to this procedure that you think would assist other users
A sample of the completed code for each exercise is available in the TechNet Gallery. There is a separate sample for each exercise that includes the management pack completed at the end of that exercise and each preceding exercise. This strategy allows you to work through each exercise in order and then compare your results. For VSAE, this also includes the Visual Studio solution.
The rule created in this procedure has the following characteristics:
sComputerName = WScript.Arguments(0)
sVersion = WScript.Arguments(1)
Set
oAPI = CreateObject(
"MOM.ScriptAPI"
)
oBag = oAPI.CreatePropertyBag()
Call
oBag.AddValue(
"ComputerName"
,sComputerName)
"InstanceName"
,
"MyInstance"
"Value"
,10)
oAPI.
Return
(oBag)
<IntervalSeconds>900</IntervalSeconds> <SyncTime /> <ScriptName>MyPerfCollectionScript.vbs</ScriptName> <Arguments>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$ $Target/Property[Type="MyMP.MyComputerRoleBase"]/Version$</Arguments> <ScriptBody>$IncludeFileContent/MyPerfCollectionScript.vbs$</ScriptBody> <TimeoutSeconds>60</TimeoutSeconds> <ObjectName>MyApp</ObjectName> <CounterName>MyCounter</CounterName> <InstanceName>$Data/Property[@Name='InstanceName']$</InstanceName> <Value>$Data/Property[@Name='Value']$</Value>
<
IntervalSeconds
>900</
>
SyncTime
/>
ScriptName
>MyPerfCollectionScript.vbs</
Arguments
>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$ $Target/Property[Type="MyMP.MyComputerRoleBase"]/Version$</
ScriptBody
>$IncludeFileContent/MyPerfCollectionScript.vbs$</
TimeoutSeconds
>60</
ObjectName
>MyApp</
CounterName
>MyCounter</
InstanceName
>$Data/Property[@Name='InstanceName']$</
Value
>$Data/Property[@Name='Value']$</
Richard Mueller edited Revision 2. Comment: Added tags
J. Brewer edited Revision 1. Comment: backticks didn't work for me, substituted normal apostrophes