none
Ложные алерты SCOM 2012 SP1 RRS feed

  • Вопрос

  • Добрый день, помогите решить проблему.

    Ведется мониторинг состояния тонера в принтерах через SCOM. Тип мониторов SNMP Probe, отрабатывают каждые две минуты. Все хорошо, алерты создаются когда подходит пороговое значение и скриптом powershell немного изменяются и отсылаются в ServiceDesk, но часто появляются ложные алерты (при любом количестве тонера), которые сами закрываются при повторной проверке монитором. Эти ложные алерты также попадают в SD, что мешает работе и требует от сотрудников дополнительной проверки.

    Вопрос в следующем: Как можно избавиться от ложных алертов? Или, хотя бы, есть возможность добавить дополнительную одноразовую проверку каждого алерта? 

    Да, тип переменной для OID'ов выставлен в МП Integer.

    11 июня 2014 г. 12:31

Ответы

  • Добрый день.

    Чтобы исключить ложные срабатывания нужно оценивать выборку значений вместо единичного семпла. Для этого имеет смысл использовать один из двух Condition Detection:

    Правда, оба они используют тип данных System.Performance.Data, поэтому предварительно нужно смапить вашу циферку в Performance с помощью System.Performance.DataGenericMapper

    Надеюсь, звучит не слишком страшно :)

    Делается мышкой в любой авторинговой консоли...

    12 июня 2014 г. 7:21
  • Я понял, вы делали мониторинг с помощью мастеров в консоли SCOM.

    Тогда, к сожалению, помочь мало чем можно, т.к. обычно эти мониторы создаются по определенному шаблону на основе определенного типа мониторов, и поменять в них что-то (в данном случае добавить) не получится - нужно создавать свой тип мониторов и далее по списку...

    Другим словами, решить проблему описанным выше способом в консоли SCOM не получится, уровень детализации не тот...

    Авторинг, о котором я говорил, выполняется в специализированных инструментах (Authoring Console для SCOM 2007 или Visual Studio Authoring Extensions для SCOM 2012).

    На всякий случай привожу пример использования System.Performance.ConsecutiveSamplesCondition: http://www.systemcentercentral.com/pack-catalog/system-performance-consecutivesamplescondition/


    Вот основные сведения собственно о том, что имелось в виду ранее: Основы разработки пакетов управления SCOM
    • Изменено PeTrProduct 16 июня 2014 г. 14:53
    • Помечено в качестве ответа altemans 16 июня 2014 г. 15:33
    16 июня 2014 г. 13:49

Все ответы

  • Добрый день.

    Чтобы исключить ложные срабатывания нужно оценивать выборку значений вместо единичного семпла. Для этого имеет смысл использовать один из двух Condition Detection:

    Правда, оба они используют тип данных System.Performance.Data, поэтому предварительно нужно смапить вашу циферку в Performance с помощью System.Performance.DataGenericMapper

    Надеюсь, звучит не слишком страшно :)

    Делается мышкой в любой авторинговой консоли...

    12 июня 2014 г. 7:21
  • Звучит страшно =) Не очень понятно, где это можно поменять

    Это имеется в виду в свойствах монитора выставить параметр Parent monitor в закладке General? - оно уже при создании монитора было выставлено в Performance. Или я не так понял?

    извиняюсь, что ответил только сегодня - праздники, интернета рядом не было

    upd:

    Это относится к WMI мониторам? Просто при создании монитора, при выборе типа я это вижу, но мне нужен SNMP запрос, чтобы увидеть значение OID'a

    • Изменено altemans 16 июня 2014 г. 13:04
    16 июня 2014 г. 7:58
  • Я понял, вы делали мониторинг с помощью мастеров в консоли SCOM.

    Тогда, к сожалению, помочь мало чем можно, т.к. обычно эти мониторы создаются по определенному шаблону на основе определенного типа мониторов, и поменять в них что-то (в данном случае добавить) не получится - нужно создавать свой тип мониторов и далее по списку...

    Другим словами, решить проблему описанным выше способом в консоли SCOM не получится, уровень детализации не тот...

    Авторинг, о котором я говорил, выполняется в специализированных инструментах (Authoring Console для SCOM 2007 или Visual Studio Authoring Extensions для SCOM 2012).

    На всякий случай привожу пример использования System.Performance.ConsecutiveSamplesCondition: http://www.systemcentercentral.com/pack-catalog/system-performance-consecutivesamplescondition/


    Вот основные сведения собственно о том, что имелось в виду ранее: Основы разработки пакетов управления SCOM
    • Изменено PeTrProduct 16 июня 2014 г. 14:53
    • Помечено в качестве ответа altemans 16 июня 2014 г. 15:33
    16 июня 2014 г. 13:49
  • Спасибо, попробую разобраться.
    16 июня 2014 г. 15:47
  • В Operations Manager 2012 модуль System.ExpressionFilter был расширен, теперь можно непосредственно в данном модуле указывать количество сэмплов (MatchCount), прежде чем фильтр пропустит данные, если вы откроете пакет Microsoft.Windows.Library и посмотрите монитор Microsoft.Windows.CheckNTServiceStateMonitorType, то увидите этот параметр:

            <SuppressionSettings>
              <MatchCount>2</MatchCount>
            </SuppressionSettings>

    http://msdn.microsoft.com/en-us/library/jj129836.aspx


    Vladimir Zelenov | http://systemcenter4all.wordpress.com

    23 июля 2014 г. 7:08
    Отвечающий
  • прощу прощения за столь долгий ответ, был отпуск и временно приостановленная работа над заданием

    по поводу matchcount

    допустим, есть код монитора

    <UnitMonitor ID="UIGeneratedMonitor6e10c52192654e9dbd96408b28c93e86" Accessibility="Public" Enabled="false" Target="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true"
     Priority="Normal" TypeID="SystemNetworkManagementLibrary7095380!System.NetworkManagement.SnmpProbe.2SingleEvent2StateMonitorType" ConfirmDelivery="false">
            <Category>Custom</Category>
            <AlertSettings AlertMessage="UIGeneratedMonitor6e10c52192654e9dbd96408b28c93e86_AlertMessageResourceID">
              <AlertOnState>Warning</AlertOnState>
              <AutoResolve>false</AutoResolve>
              <AlertPriority>Normal</AlertPriority>
              <AlertSeverity>Error</AlertSeverity>
              <AlertParameters>
                <AlertParameter1>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/PortNumber$</AlertParameter1>
                <AlertParameter2>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/Model$</AlertParameter2>
                <AlertParameter3>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/SystemObjectID$</AlertParameter3>
              </AlertParameters>
            </AlertSettings>
            <OperationalStates>
              <OperationalState ID="UIGeneratedOpStateIdba9e13638abd4e45ae022f3175ae81a9" MonitorTypeStateID="SecondEventRaised" HealthState="Success" />
              <OperationalState ID="UIGeneratedOpStateId20bb5bbb56064116aed485fc0d7a26a4" MonitorTypeStateID="FirstEventRaised" HealthState="Warning" />
            </OperationalStates>
            <Configuration>
              <FirstInterval>120</FirstInterval>
              <FirstIP>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/SNMPAddress$</FirstIP>
              <FirstVersion>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/SNMPVersion$</FirstVersion>
              <FirstSnmpVarBinds>
                <SnmpVarBind>
                  <OID>1.3.6.1.2.1.43.11.1.1.9.1.1</OID>
                  <Syntax>0</Syntax>
                  <Value VariantType="8" />
                </SnmpVarBind>
              </FirstSnmpVarBinds>
              <FirstExpression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>LessEqual</Operator>
                  <ValueExpression>
                    <Value Type="Integer">250</Value>
                  </ValueExpression>
                </SimpleExpression>
              </FirstExpression>
     <SecondInterval>120</SecondInterval>
              <SecondIP>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/SNMPAddress$</SecondIP>
              <SecondVersion>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/SNMPVersion$</SecondVersion>
              <SecondSnmpVarBinds>
                <SnmpVarBind>
                  <OID>1.3.6.1.2.1.43.11.1.1.9.1.1</OID>
                  <Syntax>0</Syntax>
                  <Value VariantType="8" />
                </SnmpVarBind>
              </SecondSnmpVarBinds>
              <SecondExpression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>Greater</Operator>
                  <ValueExpression>
                    <Value Type="Integer">251</Value>
                  </ValueExpression>
                </SimpleExpression>
              </SecondExpression>
     <NoOfRetries>3</NoOfRetries>
              <Timeout>500</Timeout>
              <Port>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/PortNumber$</Port>
            </Configuration>
          </UnitMonitor>

    я правильно понимаю, что для добавления в него фильтра, мне надо поменять конфигурацию на 

    <Configuration>
        <IncludeSchemaTypes>
          <SchemaType>System.ExpressionEvaluatorSchema</SchemaType>
        </IncludeSchemaTypes>
        <xsd:element name="Expression" type="ExpressionType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
        <xsd:element name="SuppressionSettings" minOccurs="0" maxOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="MatchCount" type="xsd:unsignedByte" />
              <xsd:element name="SampleCount" type="xsd:unsignedByte" minOccurs="0" maxOccurs="1" />
              </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </Configuration>

    и то, что было в конфигурации монитора занести в

    <Epression></Expression>

    а уже потом добавлять фильтр

    <SuppressionSettings>     

        <MatchCount>3</MatchCount>     

        <SampleCount>4</SampleCount>

    </SuppressionSettings>





    • Изменено altemans 13 августа 2014 г. 8:46
    13 августа 2014 г. 8:40
  • написал такое 

    <UnitMonitor ID="UIGeneratedMonitor6e10c52192654e9dbd96408b28c93e86" Accessibility="Public" Enabled="false" Target="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemNetworkManagementLibrary7095380!System.NetworkManagement.SnmpProbe.2SingleEvent2StateMonitorType" ConfirmDelivery="false">
            <Category>Custom</Category>
            <AlertSettings AlertMessage="UIGeneratedMonitor6e10c52192654e9dbd96408b28c93e86_AlertMessageResourceID">
              <AlertOnState>Warning</AlertOnState>
              <AutoResolve>false</AutoResolve>
              <AlertPriority>Normal</AlertPriority>
              <AlertSeverity>Error</AlertSeverity>
              <AlertParameters>
                <AlertParameter1>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/PortNumber$</AlertParameter1>
                <AlertParameter2>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/Model$</AlertParameter2>
                <AlertParameter3>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/SystemObjectID$</AlertParameter3>
              </AlertParameters>
            </AlertSettings>
            <OperationalStates>
              <OperationalState ID="UIGeneratedOpStateIdba9e13638abd4e45ae022f3175ae81a9" MonitorTypeStateID="SecondEventRaised" HealthState="Success" />
              <OperationalState ID="UIGeneratedOpStateId20bb5bbb56064116aed485fc0d7a26a4" MonitorTypeStateID="FirstEventRaised" HealthState="Warning" />
            </OperationalStates>
            <Configuration>
    		<IncludeSchemaTypes>
             <SchemaType>System.ExpressionEvaluatorSchema</SchemaType>
            </IncludeSchemaTypes>
    		  <xsd:element name="Expression" type="ExpressionType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
              <xsd:element name="SuppressionSettings" minOccurs="0" maxOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
               <xsd:complexType>
                <xsd:sequence>
                 <xsd:element name="MatchCount" type="xsd:unsignedByte" />
                 <xsd:element name="SampleCount" type="xsd:unsignedByte" minOccurs="0" maxOccurs="1" />
                </xsd:sequence>
               </xsd:complexType>
              </xsd:element>
    		</Configuration>
    		<OverrideableParameters>
    		  <OverrideableParameter ID="SampleCount" Selector="$Config/SampleCount$" ParameterType="int" />
              <OverrideableParameter ID="MatchCount" Selector="$Config/MatchCount$" ParameterType="int" />
    		</OverrideableParameters>
              <FirstInterval>120</FirstInterval>
              <FirstIP>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/SNMPAddress$</FirstIP>
              <FirstVersion>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/SNMPVersion$</FirstVersion>
              <FirstSnmpVarBinds>
                <SnmpVarBind>
                  <OID>1.3.6.1.2.1.43.11.1.1.9.1.1</OID>
                  <Syntax>0</Syntax>
                  <Value VariantType="8" />
                </SnmpVarBind>
              </FirstSnmpVarBinds>
    		  <Expression>
              <FirstExpression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>LessEqual</Operator>
                  <ValueExpression>
                    <Value Type="Integer">250</Value>
                  </ValueExpression>
                </SimpleExpression>
              </FirstExpression>
    		  </Expression>
    		  <SecondInterval>120</SecondInterval>
              <SecondIP>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/SNMPAddress$</SecondIP>
              <SecondVersion>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/SNMPVersion$</SecondVersion>
              <SecondSnmpVarBinds>
                <SnmpVarBind>
                  <OID>1.3.6.1.2.1.43.11.1.1.9.1.1</OID>
                  <Syntax>0</Syntax>
                  <Value VariantType="8" />
                </SnmpVarBind>
              </SecondSnmpVarBinds>
    		  <Expression>
              <SecondExpression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>Greater</Operator>
                  <ValueExpression>
                    <Value Type="Integer">251</Value>
                  </ValueExpression>
                </SimpleExpression>
              </SecondExpression>
    		  </Expression>
    		 <SuppressionSettings>
              <MatchCount>3</MatchCount>
              <SampleCount>4</SampleCount>
    		 </SuppressionSettings>
    		  <NoOfRetries>3</NoOfRetries>
              <Timeout>500</Timeout>
              <Port>$Target/Property[Type="SystemNetworkManagementLibrary7095380!System.NetworkManagement.Node"]/PortNumber$</Port>
          </UnitMonitor>

    но при попытке добавить пакет управления в SCOM выдает ошибку

    This management pack cannot be imported.

    : XSD verification failed for the management pack. [Line: 730, Position: 6]
    The element 'Configuration' has invalid child element 'element' in namespace 'http://www.w3.org/2001/XMLSchema'. List of possible elements expected: any element in namespace '##targetNamespace'.

    грызем дальше

    15 августа 2014 г. 15:50