SCOM 2016如何监控多个服务?

How to monitor multiple services in SCOM 2016?

我对 SCOM 很陌生。我有几台服务器,每台服务器上都有几项我需要监控的服务。这些服务都有一个共同的词("Instance")。到目前为止,根据我找到的指南 (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 服务监视器中定位的组中。感谢您发送给我的任何帮助!

我认为您的 XPath 查询在这里失败了:

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

在名称 属性 名称周围加上正确的符号。我想,那是发现数据源。