脚本收集规则

 

适用对象:System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager

脚本收集规则定期运行一个脚本,并将其输出存储为一个事件或性能数据。 作为创建规则的一部分,您需要指定哪些属性包值从脚本或将用于正在创建的事件或性能数据的不同属性的目标对象中的属性。

选项

当您运行的脚本集合向导时,您需要的以下表格中的选项提供值。 每个表都表示向导中的一个页。

常规

选项

说明

规则名称

该规则使用的名称。 这将显示在 规则 在中查看 创作 窗格。

说明

该规则的可选描述。

管理包

管理包来存储该监视器。

管理包的详细信息,请参阅 选择管理包文件

规则类别

规则的类别。 对于事件收集规则,这应是 事件收集。 对于性能收集规则,这应是 性能收集

规则目标

要使用的目标的规则的类。 将具有至少一个此类的实例的任何代理上运行此规则。 在目标上的详细信息,请参阅 了解类和对象

计划

计划 页定义的计划来运行此脚本。 该脚本将根据此计划无限期地运行,直到该规则被禁用或删除或卸载管理包。

选项

说明

运行间隔

应运行该脚本的频率。 这通常不应小于 5 分钟。

于以下日期同步

如果启用,将同步计划,使之在指定的时间发生。

脚本

脚本 页包含脚本本身的正文和其参数。 您可以直接在该对话框中,键入该脚本,但您将通常使用另一个文本编辑器对其编写然后复制该脚本的文本并将其粘贴。 这样,您可以使用功能更强的编辑工具,并包括在管理包之前,测试在命令行脚本。

选项

说明

文件名

该脚本的名称。 必须具有.vbs 或.js 扩展名,具体取决于它的语言。 由于会为每个脚本在代理上提供其自己的临时目录,因此没有使此名称唯一的要求。

超时

脚本可以运行代理之前的秒数将停止它。 这可以防止脚本持续运行而为代理计算机带来过度开销的问题。

为脚本分配的超时值应在正常条件下为脚本留出足够的运行时间,但应小于脚本的计划运行间隔。 如果脚本配置为可能具有比其持续时间,然后超时值可能会同时运行该脚本的多个副本。

脚本

脚本正文。

参数

单击此项可为在脚本中的参数提供值。 有关详细信息,请参阅 脚本参数

性能映射器 (仅性能集合)

性能映射器 页用于定义所收集的性能数据的属性的值。

选项

说明

对象

对象名称的文本。 这是必需的。

计数器

计数器名称的文本。 这是必需的。

实例

实例名称的的文本。 这仅在需要规则的目标有多个实例。

性能值的数值

事件映射器 (仅适用于事件集合)

事件映射器 页用于定义将收集该事件的属性的值。 为每个字段的值是属性的显式文本字符串,该脚本的属性包中的值或目标对象的值。

选项

说明

计算机

在记录事件的计算机的名称。 这通常是计算机的用户的主体名称 $Target 变量。 可以通过单击文本框旁边的省略号按钮选择此值。

事件源

事件源。 这通常是一个显式值,但可能要使用的脚本属性的值的 $Data 变量。

事件日志

事件日志的名称。 这将通常可能是一个显式值或要使用的脚本属性的值的 $Data 变量。

事件 ID

数值的事件数。 通常,这将是一个显式值或要使用的脚本属性的值的 $Data 变量。

类别

EventCategory 参数 (一个介于 0 到 65535 之间) 的值是一个包含内容的本地化的字符串的类别动态链接库 (DLL) 消息表中的索引。 每个发布服务器定义其自己的类别集。 这些类别通常对应于各个组件 (例如: 连接器、 模块主机或数据仓库)。

级别

该事件的严重性。 您可以从下拉列表中选择此值。

创建脚本收集规则

下面的过程创建具有以下详细信息的性能脚本收集规则:

  • 在任何计算机上运行与安装了特定服务的实例。

  • 该脚本接受两个参数,一个用于计算机名称,另一个用于存储为目标类上的属性的应用程序的版本。

  • 该脚本本身仅用于测试并执行任何实际的功能。 它来模拟脚本运行综合事务,并返回一个属性包,使用静态值。

若要创建一个脚本基于性能收集规则

  1. 如果你没有正在监视的应用程序的管理包,请使用选择管理包文件中的过程创建一个。

  2. 创建新的目标使用中的过程 若要创建 Windows 服务模板。 可以使用此模板的测试代理上安装任何服务。

  3. 在操作控制台中,选择 创作 工作区中,,然后选择 规则

  4. 用鼠标右键单击 规则 ,然后选择 创建新规则

  5. 规则类型 页上,执行以下操作:

    1. 展开 集合规则, ,然后展开 基于探测, ,然后选择 脚本 (性能)

    2. 管理包 下拉列表中,选择步骤 1 中的管理包。

    3. 单击“下一步”

  6. 在“常规”页面上,执行以下操作:

    1. 规则名称 框中,键入 My Application Collect Script Performance

    2. 规则类别 下拉列表框中,选择 Performance Collection

    3. 单击“选择”。

    4. 选择在步骤 2 中创建的目标的名称。

    5. 单击"确定"。

  7. 计划 页上,执行以下操作:

    1. 运行每个 框中,键入 15 minutes

    2. 单击“下一步”

  8. 脚本 页上,执行以下操作:

    1. 有关 文件名 值时,请键入 MyPerfCollectionScript.vbs

    2. 有关 超时 值时,请键入 1 分钟

    3. 脚本 框中,粘贴以下脚本的完整内容。

      sComputerName = WScript.Arguments(0)
      sVersion = WScript.Arguments(1)
      
      [oAPI.LogScriptEvent]
      Set oAPI = CreateObject("MOM.ScriptAPI")
      Set oBag = oAPI.CreatePropertyBag()
      Call oBag.AddValue("ComputerName",sComputerName)
      Call oBag.AddValue("InstanceName","MyInstance")
      Call oBag.AddValue("Value",10)
      
      oAPI.Return(oBag)
      
    4. 单击 参数 按钮。

    5. 选择 目标, ,选择 (主机 = Windows 计算机), ,然后选择 主体名称 (Windows 计算机)

    6. 键入一个空格。

    7. 选择 目标 然后 版本 (我的计算机角色基础)

    8. 单击"确定"。

    9. 单击“下一步”。

  9. 性能映射器 页上,执行以下操作:

    1. 对象 框中,键入 MyApplication

    2. 计数器 框中,键入 MyCounter

    3. 实例 框中,键入 $Data/Property[@Name=FileName]$

    4. 框中,键入 $Data/Property[@Name=’FileSize’]$

    5. 单击“创建”。

下面的过程创建事件脚本收集规则具有以下详细信息:

  • 在任何计算机上运行与安装了特定服务的实例。

  • 该脚本接受两个参数,一个用于计算机名称,另一个用于存储为目标类上的属性的应用程序的版本。

  • 该脚本本身仅用于测试并执行任何实际的功能。 它来模拟脚本运行综合事务,并返回一个属性包,使用静态值。

若要创建一个脚本基于事件收集规则

  1. 如果你没有正在监视的应用程序的管理包,请使用选择管理包文件中的过程创建一个。

  2. 创建新的目标使用中的过程 若要创建 Windows 服务模板。 可以使用此模板的测试代理上安装任何服务。

  3. 在操作控制台中,选择 创作 工作区中,,然后选择 规则

  4. 用鼠标右键单击 规则 ,然后选择 创建新规则

  5. 规则类型 页上,执行以下操作:

    1. 展开 集合规则, ,然后展开 基于探测, ,然后选择 脚本 (事件)

    2. 管理包 下拉列表中,选择步骤 1 中的管理包。

    3. 单击“下一步”

  6. 在“常规”页面上,执行以下操作:

    1. 规则名称 框中,键入 My Application Collect Script Event

    2. 规则类别 下拉列表框中,选择 Event Collection

    3. 单击“选择”。

    4. 选择在步骤 2 中创建的目标的名称。

    5. 单击"确定"。

  7. 计划 页上,执行以下操作:

    1. 运行每个 框中,键入 15 minutes

    2. 单击“下一步”

  8. 脚本 页上,执行以下操作:

    1. 有关 文件名 值时,请键入 MyEventCollectionScript.vbs

    2. 有关 超时 值时,请键入 1 分钟

    3. 脚本 框中,粘贴以下脚本的完整内容。

      sComputerName = WScript.Arguments(0)
      sVersion = WScript.Arguments(1)
      
      Set oAPI = CreateObject("MOM.ScriptAPI")
      Set oBag = oAPI.CreatePropertyBag()
      Call oBag.AddValue("ComputerName",sComputerName)
      Call oBag.AddValue("EventID",100)
      Call oBag.AddValue("ParamValue","Param1")
      
      oAPI.Return(oBag)
      
    4. 单击“参数”。

    5. 选择 目标, ,选择 (主机 = Windows 计算机), ,然后选择 主体名称 (Windows 计算机)

    6. 键入一个空格。

    7. 选择 目标 然后 版本 (我的计算机角色基础)

    8. 单击"确定"。

    9. 单击“下一步”。

  9. 事件映射器 页上,执行以下操作:

    1. 计算机 框中,键入 $Data/Property[@Name='ComputerName']$

    2. 事件源 框中,键入 MyApp

    3. 事件日志 框中,键入 CustomScript

    4. 事件 ID 框中,键入 $Data/Property[@Name='EventID']$

    5. 类别 框中,键入 0

    6. 级别 框中,选择 Information

    7. 单击 参数 按钮。

    8. 类型 $Data/Property[@Name='ParamValue']$

    9. 单击"确定"。

    10. 单击“创建”。