Мы предлагаем полный спектр услуг по автоматизации Вашего бизнеса
 
BSS/OSS решения
| Управление инвентаризацией (Inventory); |
| Управление повреждениями, заявками (Fault Management, Troube Tickets); |
| Управления бизнес-процессами (Order management); |
| Управление взаимоотношениями с клиентом (CRM); |
Мониторинг Cisco на платформе Microsoft SCOM 2007 ч.2
В первой части статьи было рассмотрен вариант ручной конфигурации Microsoft SCOM 2007 для организации мониторинга оборудования по протоколу SNMP.
Теперь рассмотрим вариант создания собственного управляющего пакета с использованием пакета Custom SNMP Management Pack.
В нашем примере мы будем мониторить следующие параметры:
- Доступность коммутатора
- Входящий, исходящий трафик и ошибки на его интерфейсах.
- Состояние вентиляторов коммутатора
- Температурный режим коммутатора
Используемые OID для мониторинга:
| Показатель | OID | MIB |
| Входящий трафик | locIfInBitsSec(1.3.6.1.4.1.9.2.2.1.1.6) | OLD-CISCO-INTERFACES-MIB |
| Исходящий трафик | locIfOutBitsSec(1.3.6.1.4.1.9.2.2.1.1.8) | OLD-CISCO-INTERFACES-MIB |
| Ошибки на интерфейсе | ifInErrors(1.3.6.1.2.1.2.2.1.14) | OLD-CISCO-INTERFACES-MIB |
| Состояние вентиляторов | ciscoEnvMonFanState(1.3.6.1.4.1.9.9.13.1.4.1.3) | CISCO-ENVMON-MIB |
| Температурный режим | ciscoEnvMonTemperatureState (1.3.6.1.4.1.9.9.13.1.3.1.6) | CISCO-ENVMON-MIB |
XML Структура управляющего пакета для MS SCOM 2007 (структуру и описание управляющих пакетов подробно смотри на сайте Microsoft) имеет следующий вид
| <ManagementPack> <Manifest/> <TypeDefinitions/> <Monitoring/> <Templates/> <PresentationTypes/> <Presentation/> <Reporting/> <LanguagePacks/> </ManagementPack> |
2.1 Раздел Manifest.
Раздел содержит базовое описание пакета и состоит из:
Identity – Содержит идентификатор и версию пакета
Name - необязательное поле (название пакета)
References - Содержит название (Identity) пакетов, которые необходимы для работы нашего пакета.
| <ManagementPack> <Manifest> <Identity> <ID>NW.Cisco.6506.Management.Pack.Oed</ID> <Version>1.0.0.0</Version> </Identity> <Name>NW.Cisco.6506.Management.Pack.Oed</Name> <References> <Reference Alias=”NetLib”> <ID>Microsoft.SystemCenter.NetworkDevice.Library</ID> <Version>6.0.6278.0</Version> <PublicKeyToken>31bf3856ad364e35</PublicKeyToken> </Reference> ………….. |
2.2. Раздел TypeDefinitions.
Раздел содержит определение нашего контролирующего класса (расширение базового класса) и его свойства.
| ………………………. <TypeDefinitions> <EntityTypes> <ClassTypes> <ClassType Accessibility=”Internal” Abstract=”false” Base=”NetLib!Microsoft.SystemCenter.NetworkDevice” Hosted=”false” Singleton=”false”> <Property Key=”false” CaseSensitive=”false” Length=”256″ MinLength=”0″ /> <Property Key=”false” CaseSensitive=”false” Length=”256″ MinLength=”0″ /> <Property Key=”false” CaseSensitive=”false” Length=”256″ MinLength=”0″ /> <Property Key=”false” CaseSensitive=”false” Length=”256″ MinLength=”0″ /> </ClassType> </ClassTypes> </EntityTypes> </TypeDefinitions> ………………………… |
В нашем примере наш класс будет иметь название NW.Cisco.6506.Management.Pack.Oed.Switch, его базовым классом является NetLib!Microsoft.SystemCenter.NetworkDevice
Свойствами нашего класса будут параметры:
SerialNumber
ROMVersion
IOSVersion
nvRAMsize
2.3. Раздел Monitoring.
Данный раздел описывает параметры мониторинга нашего класса. В данном разделе содержаться подразделы:
Rules
Discoveries
Monitors
2.3.1 Discoveries
В данном разделе нам необходимо определить, по какому признаку наши устройства будут относится к нашему классу и каким образом будут определяться значения свойств нашего класса.
Для этого в качестве источника данных DataSource опеределяем CustomSNMP!Custom.SnmpQuery.FilteredOIDDiscoveryProvider из пакета Custom SNMP Management Pack
| …………….. <DataSource ID=”DS” TypeID=”CustomSNMP!Custom.SnmpQuery.FilteredOIDDiscoveryProvider”> …………….. |
Внутри раздела DataSource определяем SNMP OID. Путем SNMP опроса данных OID будем определять значения свойств нашего класса.
| ………………… <SnmpVarBind> <OID>1.3.6.1.2.1.1.2.0</OID> <Syntax>0</Syntax> <Value VariantType=”8″ /> </SnmpVarBind> ………………… |
В разделе Expression мы определяем выражение, с помощью которого будем идентифицировать, относится ли сетевое устройство к нашему классу.
| …………………. <Expression> <SimpleExpression> <ValueExpression> <XPathQuery>/DataItem/SnmpVarBinds/SnmpVarBind[OID='1.3.6.1.2.1.1.2.0'][1]/Value</XPathQuery> </ValueExpression> <Operator>Equal</Operator> <ValueExpression> <Value>1.3.6.1.4.1.9.5.45</Value> </ValueExpression> </SimpleExpression> </Expression> ……………….. |
XPathQuery – задаем OID, значение, которого сравниваем с Value «1.3.6.1.4.1.9.5.45».
Т.е. если snmpget 1.3.6.1.2.1.1.2.0 = «1.3.6.1.4.1.9.5.45», тогда наше устройство будет отнесено к созданному классу (<Operator>Equal</Operator>).
Раздел InstanceSettings определяет значения свойств класса.
| ………… <InstanceSettings> <Settings> <Setting> <Name>$MPElement[Name="NW.Cisco.6506.Management.Pack.Oed.Switch"]/SerialNumber$</Name> <Value>$Data/SnmpVarBinds/SnmpVarBind[OID='1.3.6.1.4.1.9.3.6.3.0'][1]/Value$</Value> </Setting> ………… |
Свойство SerialNumber класса NW.Cisco.6506.Management.Pack.Oed.Switch будет определяться путем опроса OID 1.3.6.1.4.1.9.3.6.3.0 (определенного в разделе DataSource)
2.3.2. Rules
Раздел содержит правила мониторинга.
<Rule ID> – уникальный идентификатор правила
<DataSource> – источник данных (в нашем примере описываем счетчик ошибок на интерфейсе – SNMP OID 1.3.6.1.2.1.2.2.1.14.1)
| …………….. <Rule Enabled=”true” Target=”NW.Cisco.6506.Management.Pack.Oed.Switch” ConfirmDelivery=”false” Remotable=”true” Priority=”Normal” DiscardLevel=”100″> <Category>PerformanceCollection</Category> <DataSources> <DataSource TypeID=”Performance!System.Performance.SnmpPerformanceProvider”> <Interval>900</Interval> <IsWriteAction>false</IsWriteAction> <IP>$Target/Property[Type="NetLib!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IP> <CommunityString>$Target/Property[Type="NetLib!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</CommunityString> <Version>$Target/Property[Type="NetLib!Microsoft.SystemCenter.NetworkDevice"]/Version$</Version> <SnmpVarBinds> <SnmpVarBind> <OID>1.3.6.1.2.1.2.2.1.14.1</OID> <Syntax>0</Syntax> <Value VariantType=”8″ /> </SnmpVarBind> </SnmpVarBinds> <ObjectName>Snmp Performance Object</ObjectName> <CounterName>$data/SnmpVarBinds/SnmpVarBind[1]/OID$</CounterName> <InstanceName>0</InstanceName> <Value>$data/SnmpVarBinds/SnmpVarBind[1]/Value$</Value> </DataSource> </DataSources> <WriteActions> <WriteAction TypeID=”SC!Microsoft.SystemCenter.CollectPerformanceData” /> <WriteAction TypeID=”SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData” /> </WriteActions> </Rule> ………………… |
2.3.3. Monitors
Мониторы будут обрабатывать SNMP Traps.
| ………………. <Monitors> <UnitMonitor Accessibility=”Public” Enabled=”false” Target=”NW.Cisco.6506.Management.Pack.Oed.Switch” ParentMonitorID=”Health!System.Health.AvailabilityState” Remotable=”true” Priority=”Normal” TypeID=”Snmp!System.SnmpProbe.2SingleEvent2StateMonitorType” ConfirmDelivery=”false”> <Category>Custom</Category> <AlertSettings AlertMessage=”MonitorFan1State_AlertMessageResourceID”> <AlertOnState>Warning</AlertOnState> <AutoResolve>true</AutoResolve> <AlertPriority>Normal</AlertPriority> <AlertSeverity>MatchMonitorHealth</AlertSeverity> <AlertParameters> <AlertParameter1>$Data/Context/SnmpVarBinds/SnmpVarBind[OID='1.3.6.1.4.1.9.9.13.1.4.1.3.1'][1]/Value$</AlertParameter1> </AlertParameters> </AlertSettings> <OperationalStates> <OperationalState MonitorTypeStateID=”SecondEventRaised” HealthState=”Success” /> <OperationalState MonitorTypeStateID=”FirstEventRaised” HealthState=”Warning” /> </OperationalStates> <Configuration> <FirstInterval>300</FirstInterval> <FirstIsWriteAction>false</FirstIsWriteAction> <FirstIP>$Target/Property[Type="NetLib!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</FirstIP> <FirstCommunityString>$Target/Property[Type="NetLib!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</FirstCommunityString> <FirstVersion>$Target/Property[Type="NetLib!Microsoft.SystemCenter.NetworkDevice"]/Version$</FirstVersion> <FirstSnmpVarBinds> <SnmpVarBind> <OID>1.3.6.1.4.1.9.9.13.1.4.1.3.1</OID> <Syntax>0</Syntax> <Value VariantType=”8″ /> </SnmpVarBind> </FirstSnmpVarBinds> <FirstExpression> <SimpleExpression> <ValueExpression> <XPathQuery>/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery> </ValueExpression> <Operator>NotEqual</Operator> <ValueExpression> <Value>1</Value> </ValueExpression> </SimpleExpression> </FirstExpression> <SecondInterval>300</SecondInterval> <SecondIsWriteAction>false</SecondIsWriteAction> <SecondIP>$Target/Property[Type="NetLib!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</SecondIP> <SecondCommunityString>$Target/Property[Type="NetLib!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</SecondCommunityString> <SecondVersion>$Target/Property[Type="NetLib!Microsoft.SystemCenter.NetworkDevice"]/Version$</SecondVersion> <SecondSnmpVarBinds> <SnmpVarBind> <OID>1.3.6.1.4.1.9.9.13.1.4.1.3.1</OID> <Syntax>0</Syntax> <Value VariantType=”8″ /> </SnmpVarBind> </SecondSnmpVarBinds> <SecondExpression> <SimpleExpression> <ValueExpression> <XPathQuery>/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery> </ValueExpression> <Operator>Equal</Operator> <ValueExpression> <Value>1</Value> </ValueExpression> </SimpleExpression> </SecondExpression> </Configuration> </UnitMonitor> …………………… |
В случае, если значение OID 1.3.6.1.4.1.9.9.13.1.4.1.3.1 (ciscoEnvMonFanState) не равно 1 (<Operator>NotEqual</Operator>), то возникает первое событие FirstEventRaised и монитор изменяется статус на Warning. Если значение OID 1.3.6.1.4.1.9.9.13.1.4.1.3.1 равно 1 (<Operator>Equal</Operator>), то возникает второе событие SecondEventRaised и монитор изменяется статус на Success.
2.4. Presentation
В данном разделе настраиваем презентацию данных мониторинга.
| <Presentation> <Views> <View Accessibility=”Internal” Enabled=”true” Target=”NW.Cisco.6506.Management.Pack.Oed.Switch” TypeID=”SC!Microsoft.SystemCenter.PerformanceViewType” Visible=”true”> <Category>Operations</Category> <Criteria> <RuleList> <Rule>$MPElement[Name='Interface1IncomingBits']$</Rule> …………………… <Folders> <Folder Accessibility=”Internal” ParentFolder=”NetLib!Microsoft.SystemCenter.NetworkDevice.AllDevices.ViewFolder.Root” /> </Folders> <FolderItems> <FolderItem ElementID=”NW.Cisco.6506.Management.Pack.Oed.PerformanceView” Folder=”NW.Cisco.6506.Management.Pack.Oed.ViewFolder” /> …………………… |
<View ID – уникальный идентификатор представления
<RuleList> – список правил, которые будут презентоваться в данном представлении.
<Folders>– описываем директорию нашего управляющего пакета (В структуре директорий мониторинга появится пункт Cisco Switches, название директории устанавливается в разделе LanguagePacks).
<FolderItem – добавляет описанные ранее представления в нашу директорию.
2.5. LanguagePacks
Данный раздел описываем то, как будут называться наши элементы в интерфейсе SCOM.
| ………………… <DisplayString ElementID=”NW.Cisco.6506.Management.Pack.Oed”> <Name>NW – Cisco Catalyst 6506 Management Pack</Name> <Description>This managment pack will monitor Cisco Catalyst 6506.</Description> </DisplayString> ………………. |
Элемент с ID = NW.Cisco.6506.Management.Pack.Oed будет иметь название « NW – Cisco Catalyst 6506 Management Pack» и описание «This managment pack will monitor Cisco Catalyst 6506.»
Скачать полный текст управляющего пакета, позволяющего проводить мониторинг до 48 интерфейсов – NW.Cisco.6506.Management.Pack.Oed.
3. Установка управляющих пакетов
- Заходим в панель «Administration»->Management Packs.
- В контекстном меню выбираем пункт «Import Management Packs»
- Выбираем и устанавливаем управляющий пакет Custom SNMP (файл «Custom.SNMP.Library.mp»).
4. Управляющие пакеты 3-х фирм.
Для решения задачи мониторинга коммутаторов Cisco можно также воспользоваться управляющими пакетами следующих производителей:
- Quest System Center (http://www.quest.com/system-center/)
- Jalasoft Xian Network (http://www.jalasoft.com/Web/Product/Product.aspx?id=19)
Указанные решения являются коммерческими продуктами.
При подготовки данной информации использовалиcь материалы:
http://rburri.wordpress.com/2008/04/29/snmp-discovery-provider-for-opsmgr-2007/
http://svintinner.blogspot.com/2008/08/simple-cisco-router-management-pack-for.html
5 Responses to “Мониторинг Cisco на платформе Microsoft SCOM 2007 ч.2”
Оставить комментарий
Украина, Харьков
Отправить E-mail


А вы сами так пробовали делать?
Если бы на самом деле так и было, то давно бы все об этом уже говорили, но такого нет, поэтому незачет.
Последний абзац в тему!
Фига! Молодец!
Очень интересно, но все в будущем хотелось бы еще побольше узнать об этом. Очень понравилась ваша статья!