首页 > 解决方案 > 如何在 SCOM 2016 中监控多个服务?

问题描述

我对 SCOM 很陌生。我有几台服务器,每台服务器上都有我需要监控的多项服务。这些服务都有一个共同的词(“实例”)。到目前为止,从我找到的指南 ( https://www.bictt.com/blogs/scom-monitoring-multiple-services-running/ ) 中,我创建了一个管理包,然后在包中创建了一个 Windows 服务监视器。我导出了管理包并编辑为 XML 以运行 WMI 查询来查找服务。

WMI 查询 -select * from win32_Service where (name like '%Instance%') AND (startmode != 'Disabled')

但是,将 xml 导入回 SCOM 后,我无法在 Windows 服务状态下找到服务。

这是我编辑的 XML:

<DataSource ID="DS" TypeID="MicrosoftWindowsLibrary7585010!Microsoft.Windows.WmiProviderWithClassSnapshotDataMapper">
      <NameSpace>root\cimv2</NameSpace>
      <Query>select * from win32_Service where (name like '%Instance%') AND (startmode != 'Disabled')</Query>
      <Frequency>60</Frequency>
      <ClassId>$MPElement[Name="ServiceStateProbePage_f7c1e73e9bca478baa4e4499b425a019"]$</ClassId>
      <InstanceSettings>
        <Settings>
          <Setting>
            <Name>$MPElement[Name="MicrosoftWindowsLibrary7585010!Microsoft.Windows.Computer"]/PrincipalName$</Name>
            <Value>$Target/Property[Type="MicrosoftWindowsLibrary7585010!Microsoft.Windows.Computer"]/PrincipalName$</Value>
          </Setting>
          <Setting>
            <Name>$MPElement[Name="MicrosoftSystemCenterNTServiceLibrary!Microsoft.SystemCenter.NTService"]/ServiceName$</Name>
            <Value>$Data/Property[@Name='Name']$</Value>
          </Setting>
          <Setting>
            <Name>$MPElement[Name="MicrosoftSystemCenterNTServiceLibrary!Microsoft.SystemCenter.NTService"]/ServiceProcessName$</Name>
            <Value>$Data/Property[@Name='PathName']$</Value>
          </Setting>
          <Setting>
            <Name>$MPElement[Name="MicrosoftSystemCenterNTServiceLibrary!Microsoft.SystemCenter.NTService"]/DisplayName$</Name>
            <Value>$Data/Property[@Name='DisplayName']$</Value>
          </Setting>
          <Setting>
            <Name>$MPElement[Name="MicrosoftSystemCenterNTServiceLibrary!Microsoft.SystemCenter.NTService"]/Description$</Name>
            <Value>$Data/Property[@Name='Description']$</Value>
          </Setting>
          <Setting>
            <Name>$MPElement[Name="System!System.Entity"]/DisplayName$</Name>
            <Value>$Data/Property[@Name=’Name’]$</Value>
          </Setting>
        </Settings>
      </InstanceSettings>

我专门编辑了这些行

<DataSource ID="DS" TypeID="MicrosoftWindowsLibrary7585010!Microsoft.Windows.WmiProviderWithClassSnapshotDataMapper">
      <NameSpace>root\cimv2</NameSpace>
      <Query>select * from win32_Service where (name like '%Instance%') AND (startmode != 'Disabled')</Query>

<Value>$Data/Property[@Name='PathName']$</Value>

有谁知道为什么这些服务不会出现在 SCOM 中?我在我想要监控的服务器之一上的 WMI 测试器上运行了查询,并找到了正确的服务。我还确认服务器位于我在 Windows 服务监视器中定位的组中。感谢您可以发送给我的任何帮助!

标签: xmlscom

解决方案


I think your XPath query fails here:

<Name>$MPElement[Name="System!System.Entity"]/DisplayName$</Name>
<Value>$Data/Property[@Name=’Name’]$</Value>

Put correct qiotes around the Name property name. I presume, that was discovery data source.


推荐阅读