NSS4000 and SNMP

Hello,
please how i can monitoring NSS via SNMP? Now i have latest version of firmware, and in menu i have only SNMP Traps
but i looking for SNMP monitoring like Traffic, CPU load etc, in SNMP Traps i can download MIB file for monitoring but how i can set Community?
regards,
Tomas

Sorry for the very late response, first of all.
There is another post here asking the same basic question; how can you monitor (Install SNMP Agent) on the NSS?
Unfortunately, we can't; at least I have not been able to find a way to do this. The main reason is part of your question; "How can you set the community?", there is no way to do that. All we can do is set the traps, and let our SNMP software catch them. As for looking directly at the CPU load, memory, etc. we..err; should say, I have not been able to do this in my lab. Packet captures do show the information flowing, and traps do work; the bummer part is that we really can't be very pro-active.
I hope someone else sees this post and correct what I am saying.

Similar Messages

  • SCOM SP1 Groups, Classes and SNMP

    I've been working on a management pack using some of the examples on the net (Kristopher Bash from the operating-quadrantin has been a huge inspiration) to monitor an Isilon cluster.  This had lead me to a number of interesting challenges to over come since I have to design this within the confines of SP1 and I have a unique networking to device configuration. 
    Device Overview:
    The Isilon cluster itself is a number of FreeBSD systems (nodes) joined together via and infiniband backend to create a single NAS.  While normally this would not be an issue, network connectivity to the device and SNMP response from the cluster have been.  In my configuration I have a total of 8 nodes each node has 2 network interfaces.  Of these 16 network interfaces only 2 are accessible/on the same network as my RMS (em1 node2, em1 node4).
    Device SNMP Design:
    While the cluster is highly dynamic the SNMP sub-systems are not.  The MIB created by Isilon does not join the whole of the cluster into an index for SNMP polling.  I can only poll a single nodes OID's.  To over come this limitation Isilon implemented SNMP-Proxy or comtosec within the system.  This allowed me to poll node 3 by changing the community name for the OID I was polling from the discovered name to <discoveredname>_node_3.
    MP Design:
    Now I'm not the best at MP design since I rarely work within SCOM so don't laugh too hard...  I reused items from Kristopher's Cisco MP and created a number of classes for discovery and item hosting.  To address the limitation I found within SCOM for dynamic discovery and 1 IP address 1 Community Name, I created a class property within the root called ConfiguredNodes.  I can poll the Isilon an populate this value (8).  Then I created a sub-class property value called NodeCommStr to fill in all the custom community names I generate using a VB script with Base64 encode/decode, the discovery community name and the ConfiguredNodes value, in the data source for sub-class discovery. public_node_1 public_node_2 etc...
    All in all this is working well however I have run into a few design roadblocks and I have some questions.
    1.  When I discover a set of items within the Isilon cluster the health explorer is not sorting this information alphabetically.  Is there a value I can include in the dependency roll-up to correct this?
    2.  I have run into an issue with the Isilon MIB and I'm looking for the best way to overcome the MIB's design.  They included a fan table with fan information and speed of the fans however there is no status (success{0}, warning{1}, error{2}).  I created a monitor type to compensate for this and included overrides for the warning and critical event points.  This is where I found the curve ball, seems that the fans are not the same....  There are 2 sets of fans - Chassis and Power Supply - and they have different thresholds *rolls eyes*.  Some I'm asking for the best design advice, should I create 2 classes, discoveries, monitor types, etc.?  Or can I address this issue by creating 2 monitor types with a string filter?
    3.  I've been successful in creating this MP and displaying the information as a single device however I was wondering if there was a way to create dynamic groups with sub groups.  This would have to be 100% dynamic since I can add a 9th 10th 192nd (yes 192) node to the cluster.
    Cluster
    -ClusterNode1
    -ClusterNode1Power
    -ClusterNode1Fans
    -etc
    The information is there in the NodeCommStr, I'm just in brain lock on how to design it right now.
    Again, code is raw and a work in progress so please no giggling.  Oh this is a multi post...  Code is too long.
    <Manifest>
    <Identity>
    <ID>IsilonSNMP</ID>
    <Version>1.0.1.2</Version>
    </Identity>
    <Name>IsilonSNMP</Name>
    <References>
    <Reference Alias="MicrosoftSystemCenterNetworkDeviceLibrary">
    <ID>Microsoft.SystemCenter.NetworkDevice.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="Snmp">
    <ID>System.Snmp.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="SystemHardwareLibrary">
    <ID>System.Hardware.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="Windows">
    <ID>Microsoft.Windows.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="SystemPerformanceLibrary">
    <ID>System.Performance.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="System">
    <ID>System.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="SC">
    <ID>Microsoft.SystemCenter.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="Health">
    <ID>System.Health.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    </References>
    </Manifest>
    <TypeDefinitions>
    <EntityTypes>
    <ClassTypes>
    <ClassType ID="IsilonSNMP.Class.IsilonCluster" Accessibility="Public" Abstract="false" Base="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice" Hosted="false" Singleton="false">
    <Property ID="Hostname" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    <Property ID="ConfiguredNodes" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    <!-- <Property ID="NodeCommStr" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" /> -->
    </ClassType>
    <ClassType ID="IsilonSNMP.Class.IsilonCluster.Nodes" Accessibility="Public" Abstract="false" Base="SystemHardwareLibrary!System.Chassis" Hosted="true" Singleton="false">
    <Property ID="Name" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="0" />
    </ClassType>
    <ClassType ID="IsilonSNMP.Class.IsilonCluster.PhysicalDisk" Accessibility="Public" Abstract="false" Base="SystemHardwareLibrary!System.PhysicalDisk" Hosted="true" Singleton="false">
    <Property ID="Index" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="0" />
    <!-- <Property ID="ConfiguredNodes" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" /> -->
    <Property ID="NodeCommStr" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    <Property ID="BayIndex" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    </ClassType>
    <ClassType ID="IsilonSNMP.Class.IsilonCluster.PhysicalFan" Accessibility="Public" Abstract="false" Base="SystemHardwareLibrary!System.Fan" Hosted="true" Singleton="false">
    <Property ID="Index" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="0" />
    <Property ID="NodeCommStr" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    <Property ID="FanNumber" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    </ClassType>
    <ClassType ID="IsilonSNMP.Group.IsilonClusters" Accessibility="Public" Abstract="false" Base="System!System.Group" Hosted="false" Singleton="true" />
    </ClassTypes>
    <RelationshipTypes>
    <RelationshipType ID="IsilonSNMP.Relationship.ClusterHostsNodes" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
    <Source>IsilonSNMP.Class.IsilonCluster</Source>
    <Target>IsilonSNMP.Class.IsilonCluster.Nodes</Target>
    </RelationshipType>
    <RelationshipType ID="IsilonSNMP.Relationship.IsilonClustersGroupContainsIsilonClusters" Accessibility="Public" Abstract="false" Base="System!System.Containment">
    <Source>IsilonSNMP.Group.IsilonClusters</Source>
    <Target>IsilonSNMP.Class.IsilonCluster</Target>
    </RelationshipType>
    <RelationshipType ID="IsilonSNMP.Relationship.NodesHostsPhysicalDisk" Accessibility="Public" Abstract="false" Base="System!System.Hosting">
    <Source>IsilonSNMP.Class.IsilonCluster.Nodes</Source>
    <Target>IsilonSNMP.Class.IsilonCluster.PhysicalDisk</Target>
    </RelationshipType>
    <RelationshipType ID="IsilonSNMP.Relationship.NodesHostsPhysicalFan" Accessibility="Public" Abstract="false" Base="System!System.Hosting">
    <Source>IsilonSNMP.Class.IsilonCluster.Nodes</Source>
    <Target>IsilonSNMP.Class.IsilonCluster.PhysicalFan</Target>
    </RelationshipType>
    </RelationshipTypes>
    </EntityTypes>
    <ModuleTypes>
    <DataSourceModuleType ID="IsilonSNMP.DataSource.BasicSNMPProbe" Accessibility="Internal" Batching="false">
    <Configuration>
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="CommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="OID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    </OverrideableParameters>
    <ModuleImplementation Isolation="Any">
    <Composite>
    <MemberModules>
    <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
    <Scheduler>
    <SimpleReccuringSchedule>
    <Interval>$Config/Interval$</Interval>
    <SyncTime />
    </SimpleReccuringSchedule>
    <ExcludeDates />
    </Scheduler>
    </DataSource>
    <ProbeAction ID="SNMPProbe" TypeID="Snmp!System.SnmpProbe">
    <IsWriteAction>false</IsWriteAction>
    <IP>$Config/IPAddress$</IP>
    <CommunityString>$Config/CommStr$</CommunityString>
    <SnmpVarBinds>
    <SnmpVarBind>
    <OID>$Config/OID$</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    </SnmpVarBinds>
    </ProbeAction>
    <ConditionDetection ID="ValueFilter" TypeID="System!System.ExpressionFilter">
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="String">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>NotEqual</Operator>
    <ValueExpression>
    <Value Type="String" />
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    </ConditionDetection>
    </MemberModules>
    <Composition>
    <Node ID="ValueFilter">
    <Node ID="SNMPProbe">
    <Node ID="Scheduler" />
    </Node>
    </Node>
    </Composition>
    </Composite>
    </ModuleImplementation>
    <OutputType>Snmp!System.SnmpData</OutputType>
    </DataSourceModuleType>
    <DataSourceModuleType ID="IsilonSNMP.DataSource.DiscoverContainmentClasses" Accessibility="Internal" Batching="false">
    <Configuration>
    <IncludeSchemaTypes>
    <SchemaType>System!System.ParamListSchema</SchemaType>
    <SchemaType>System!System.Discovery.MapperSchema</SchemaType>
    </IncludeSchemaTypes>
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="ClassID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="InstanceSettings" type="SettingsType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    </Configuration>
    <ModuleImplementation Isolation="Any">
    <Composite>
    <MemberModules>
    <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
    <Scheduler>
    <SimpleReccuringSchedule>
    <Interval>60</Interval>
    <SyncTime />
    </SimpleReccuringSchedule>
    <ExcludeDates />
    </Scheduler>
    </DataSource>
    <ConditionDetection ID="Mapper" TypeID="System!System.Discovery.ClassSnapshotDataMapper">
    <ClassId>$Config/ClassID$</ClassId>
    <InstanceSettings>$Config/InstanceSettings$</InstanceSettings>
    </ConditionDetection>
    </MemberModules>
    <Composition>
    <Node ID="Mapper">
    <Node ID="Scheduler" />
    </Node>
    </Composition>
    </Composite>
    </ModuleImplementation>
    <OutputType>System!System.Discovery.Data</OutputType>
    </DataSourceModuleType>
    <DataSourceModuleType ID="IsilonSNMP.DataSource.DiscoverCluster" Accessibility="Internal" Batching="false">
    <Configuration>
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="IP" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="CommunityString" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="SystemOID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    </OverrideableParameters>
    <ModuleImplementation Isolation="Any">
    <Composite>
    <MemberModules>
    <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
    <Scheduler>
    <SimpleReccuringSchedule>
    <Interval Unit="Seconds">$Config/Interval$</Interval>
    </SimpleReccuringSchedule>
    <ExcludeDates />
    </Scheduler>
    </DataSource>
    <ProbeAction ID="Probe" TypeID="Snmp!System.SnmpProbe">
    <IsWriteAction>false</IsWriteAction>
    <IP>$Config/IP$</IP>
    <CommunityString>$Config/CommunityString$</CommunityString>
    <SnmpVarBinds>
    <SnmpVarBind>
    <OID>.1.3.6.1.4.1.12124.1.1.4.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.4.1.12124.1.1.1.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.2.1.1.5.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.2.1.1.1.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.2.1.1.4.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.2.1.1.6.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.2.1.1.2.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    </SnmpVarBinds>
    </ProbeAction>
    <ConditionDetection ID="Mapper" TypeID="System!System.Discovery.FilteredClassSnapshotDataMapper">
    <Expression>
    <RegExExpression>
    <ValueExpression>
    <XPathQuery>/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>ContainsSubstring</Operator>
    <Pattern>1.3.6.1.4.1.12124.</Pattern>
    </RegExExpression>
    </Expression>
    <ClassId>$MPElement[Name="IsilonSNMP.Class.IsilonCluster"]$</ClassId>
    <InstanceSettings>
    <Settings>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Name>
    <Value>$Data/Source$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/Name$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[5]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/SystemDescription$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[4]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/SystemContact$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[3]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/SystemLocation$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[2]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/SystemOID$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[1]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="System!System.Entity"]/DisplayName$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[5]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="IsilonSNMP.Class.IsilonCluster"]/Hostname$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[6]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="IsilonSNMP.Class.IsilonCluster"]/ConfiguredNodes$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[7]/Value$</Value>
    </Setting>
    </Settings>
    </InstanceSettings>
    </ConditionDetection>
    <ConditionDetection ID="SystemOIDFilter" TypeID="System!System.ExpressionFilter">
    <Expression>
    <RegExExpression>
    <ValueExpression>
    <Value>$Config/SystemOID$</Value>
    </ValueExpression>
    <Operator>ContainsSubstring</Operator>
    <Pattern>1.3.6.1.4.1.12124.</Pattern>
    </RegExExpression>
    </Expression>
    </ConditionDetection>
    </MemberModules>
    <Composition>
    <Node ID="Mapper">
    <Node ID="Probe">
    <Node ID="SystemOIDFilter">
    <Node ID="Scheduler" />
    </Node>
    </Node>
    </Node>
    </Composition>
    </Composite>
    </ModuleImplementation>
    <OutputType>System!System.Discovery.Data</OutputType>
    </DataSourceModuleType>
    <DataSourceModuleType ID="IsilonSNMP.DataSource.DiscoverPhysicalDisk" Accessibility="Internal" Batching="false">
    <Configuration>
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="CommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="ConfiguredNodes" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="BayIndex" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="NodeCommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    </OverrideableParameters>
    <ModuleImplementation Isolation="Any">
    <Composite>
    <MemberModules>
    <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
    <Scheduler>
    <SimpleReccuringSchedule>
    <Interval>$Config/Interval$</Interval>
    <SyncTime />
    </SimpleReccuringSchedule>
    <ExcludeDates />
    </Scheduler>
    </DataSource>
    <ProbeAction ID="ScriptDiscovery" TypeID="Windows!Microsoft.Windows.ScriptDiscoveryProbe">
    <ScriptName>DiscoverIsilonDisk.vbs</ScriptName>
    <Arguments>$Config/IPAddress$ $Config/CommStr$ $MPElement$ $Target/Id$ $Config/ConfiguredNodes$</Arguments>
    <ScriptBody>
    <![CDATA['Discover PhysicalDisk
    Dim oAPI, oDiscoveryData, oInst, objWMIServices, objWMILocator, oArgs
    set oArgs = Wscript.Arguments
    if oArgs.Count <5 Then
    Wscript.Quit -1
    End If
    DeviceIP = oArgs(0)
    CommStr = oArgs(1)
    SourceID = oArgs(2)
    ManagedEntityId = oArgs(3)
    StrConfiguredNodes = oArgs(4)
    CommStr = Decode(CommStr)
    ConfiguredNodesCommStr = cstr(CommStr)
    wscript.echo CommStr
    Set oAPI = CreateObject("MOM.ScriptAPI")
    set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)
    Set objWMILocator = CreateObject("WbemScripting.SWbemLocator")
    Set objWMIServices = objWMiLocator.ConnectServer("","root\snmp\localhost")
    'Name community name
    GetPhysicalDisks
    'Created community names
    For i = 1 to StrConfiguredNodes
    CommStr = ConfiguredNodesCommStr & "_node_" & i
    GetPhysicalDisks
    Next
    'Return all data to SCOM
    Call oAPI.Return(oDiscoveryData)
    Sub GetPhysicalDisks
    on error resume next
    Set objWmiNamedValueSet = CreateObject("WbemScripting.SWbemNamedValueSet")
    objWmiNamedValueSet.Add "AgentAddress", cstr(DeviceIP)
    objWmiNamedValueSet.Add "AgentReadCommunityName", cstr(CommStr)
    Set colPhysicalDisk = objWmiServices.InstancesOf("SNMP_ISILON_MIB_diskTable", , objWMINamedValueset)
    For each objItem in colPhysicalDisk
    nIndex = objItem.diskBay
    sDesc = objItem.diskSerialNumber
    if nIndex > 0 then
    set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalDisk']$")
    call oInst.AddProperty("$MPElement[Name='MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice']/IPAddress$", DeviceIP)
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalDisk']/Index$", cstr(CommStr) & "-" & cdbl(nIndex))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalDisk']/NodeCommStr$", Encode(CommStr))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalDisk']/BayIndex$", cdbl(nIndex))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.Nodes']/Name$", "Cluster")
    call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "SNMP Host " & cstr(CommStr) & " - Bay " & nIndex & " - Serial Number " & HexToString(sDesc))
    'call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", HexToString(sDesc))
    call oDiscoveryData.AddInstance(oInst)
    'Test Section
    'wscript.echo Base64Encode(CommStr)
    'wscript.echo Base64Encoder(CommStr)
    'wscript.Echo CommStr
    'wscript.Echo nIndex
    'Wscript.Echo HexToString(sDesc)
    'wscript.echo cdbl(nIndex) & cstr(CommStr)
    end if
    Next
    on error goto 0
    End Sub
    Function Decode(strB64)
    strXML = "<B64DECODE xmlns:dt=" & Chr(34) & _
    "urn:schemas-microsoft-com:datatypes" & Chr(34) & " " & _
    "dt:dt=" & Chr(34) & "bin.base64" & Chr(34) & ">" & _
    strB64 & "</B64DECODE>"
    Set oXMLDoc = CreateObject("MSXML2.DOMDocument.3.0")
    oXMLDoc.LoadXML(strXML)
    decode = oXMLDoc.selectsinglenode("B64DECODE").nodeTypedValue
    set oXMLDoc = nothing
    End Function
    Function Encode(Str)
    'Use ADODB.Stream to write Ansi string to Unicode stream
    Set objStream = CreateObject("ADODB.Stream")
    objStream.Type = 2
    objStream.Open
    objStream.Charset = "unicode"
    objStream.WriteText Str
    objstream.Flush
    'Read the stream back as a byte array
    objStream.Position = 0
    objStream.Type = 1
    temp = objstream.read(2) 'read two bytes of the stream to discard the byte order mark
    bArray = objStream.Read
    objStream.Close
    'Convert byte array to Base64
    set objXML = createobject("MSXML2.DOMDocument.3.0")
    Set objNode = objXML.createElement("b64")
    objNode.dataType = "bin.base64"
    objNode.nodeTypedValue = bArray
    Encode = objNode.Text
    Set Stream = Nothing
    set objNode = nothing
    set objXML = nothing
    End Function
    Function HexToString(str)
    on error resume next
    sOutput = ""
    For x = 1 To len(str) Step 2
    sChar = Chr(Clng("&h" & Mid(str,x,2)))
    sOutput = sOutput & sChar
    Next
    if err.number = 0 then
    HexToString = sOutput
    Else
    HexToString = str
    end if
    End Function
    set oInst = nothing
    set oDiscoveryData = nothing
    set oArgs = nothing
    set oAPI = nothing
    set objWMILocator = nothing
    set objWMIServices = nothing
    set objWMINamedValueSet = nothing
    ]]>
    </ScriptBody>
    <TimeoutSeconds>120</TimeoutSeconds>
    </ProbeAction>
    </MemberModules>
    <Composition>
    <Node ID="ScriptDiscovery">
    <Node ID="Scheduler" />
    </Node>
    </Composition>
    </Composite>
    </ModuleImplementation>
    <OutputType>System!System.Discovery.Data</OutputType>
    </DataSourceModuleType>

    <DataSourceModuleType ID="IsilonSNMP.DataSource.DiscoverPhysicalFan" Accessibility="Internal" Batching="false">
    <Configuration>
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="CommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="ConfiguredNodes" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="FanNumber" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="NodeCommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="FanSpeedHighCritical" type="xsd:integer" />
    <xsd:element minOccurs="1" name="FanSpeedLowWarn" type="xsd:integer" />
    <xsd:element minOccurs="1" name="FanSpeedLowCritical" type="xsd:integer" />
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedHighCritical" Selector="$Config/FanSpeedHighCritical$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedLowWarn" Selector="$Config/FanSpeedLowWarn$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedLowCritical" Selector="$Config/FanSpeedLowCritical$" ParameterType="int" />
    </OverrideableParameters>
    <ModuleImplementation Isolation="Any">
    <Composite>
    <MemberModules>
    <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
    <Scheduler>
    <SimpleReccuringSchedule>
    <Interval>$Config/Interval$</Interval>
    <SyncTime />
    </SimpleReccuringSchedule>
    <ExcludeDates />
    </Scheduler>
    </DataSource>
    <ProbeAction ID="ScriptDiscovery" TypeID="Windows!Microsoft.Windows.ScriptDiscoveryProbe">
    <ScriptName>DiscoverIsilonPhysicalFan.vbs</ScriptName>
    <Arguments>$Config/IPAddress$ $Config/CommStr$ $MPElement$ $Target/Id$ $Config/ConfiguredNodes$</Arguments>
    <ScriptBody>
    <![CDATA['Discover PhysicalFan
    Dim oAPI, oDiscoveryData, oInst, objWMIServices, objWMILocator, oArgs
    set oArgs = Wscript.Arguments
    if oArgs.Count <5 Then
    Wscript.Quit -1
    End If
    DeviceIP = oArgs(0)
    CommStr = oArgs(1)
    SourceID = oArgs(2)
    ManagedEntityId = oArgs(3)
    StrConfiguredNodes = oArgs(4)
    CommStr = Decode(CommStr)
    ConfiguredNodesCommStr = cstr(CommStr)
    wscript.echo CommStr
    Set oAPI = CreateObject("MOM.ScriptAPI")
    set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)
    Set objWMILocator = CreateObject("WbemScripting.SWbemLocator")
    Set objWMIServices = objWMiLocator.ConnectServer("","root\snmp\localhost")
    'Name community name
    GetPhysicalFan
    'Created community names
    For i = 1 to StrConfiguredNodes
    CommStr = ConfiguredNodesCommStr & "_node_" & i
    GetPhysicalFan
    Next
    'Return all data to SCOM
    Call oAPI.Return(oDiscoveryData)
    Sub GetPhysicalFan
    on error resume next
    Set objWmiNamedValueSet = CreateObject("WbemScripting.SWbemNamedValueSet")
    objWmiNamedValueSet.Add "AgentAddress", cstr(DeviceIP)
    objWmiNamedValueSet.Add "AgentReadCommunityName", cstr(CommStr)
    Set colPhysicalFan = objWmiServices.InstancesOf("SNMP_ISILON_MIB_FanTable", , objWMINamedValueset)
    For each objItem in colPhysicalFan
    nIndex = objItem.fanNumber
    sDesc = objItem.fanDescription
    if nIndex > 0 then
    set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalFan']$")
    call oInst.AddProperty("$MPElement[Name='MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice']/IPAddress$", DeviceIP)
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalFan']/Index$", cstr(CommStr) & "-" & cdbl(nIndex))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalFan']/NodeCommStr$", Encode(CommStr))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalFan']/FanNumber$", cdbl(nIndex))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.Nodes']/Name$", "Cluster")
    'call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "SNMP Host " & cstr(CommStr) & " - Bay " & nIndex & " - Serial Number " & HexToString(sDesc))
    call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "SNMP Host " & cstr(CommStr) & " - " & HexToString(sDesc))
    call oDiscoveryData.AddInstance(oInst)
    'Test Section
    'wscript.echo Base64Encode(CommStr)
    'wscript.echo Base64Encoder(CommStr)
    'wscript.Echo CommStr
    'wscript.Echo nIndex
    'Wscript.Echo HexToString(sDesc)
    'wscript.echo cdbl(nIndex) & cstr(CommStr)
    end if
    Next
    on error goto 0
    End Sub
    Function Decode(strB64)
    strXML = "<B64DECODE xmlns:dt=" & Chr(34) & _
    "urn:schemas-microsoft-com:datatypes" & Chr(34) & " " & _
    "dt:dt=" & Chr(34) & "bin.base64" & Chr(34) & ">" & _
    strB64 & "</B64DECODE>"
    Set oXMLDoc = CreateObject("MSXML2.DOMDocument.3.0")
    oXMLDoc.LoadXML(strXML)
    decode = oXMLDoc.selectsinglenode("B64DECODE").nodeTypedValue
    set oXMLDoc = nothing
    End Function
    Function Encode(Str)
    'Use ADODB.Stream to write Ansi string to Unicode stream
    Set objStream = CreateObject("ADODB.Stream")
    objStream.Type = 2
    objStream.Open
    objStream.Charset = "unicode"
    objStream.WriteText Str
    objstream.Flush
    'Read the stream back as a byte array
    objStream.Position = 0
    objStream.Type = 1
    temp = objstream.read(2) 'read two bytes of the stream to discard the byte order mark
    bArray = objStream.Read
    objStream.Close
    'Convert byte array to Base64
    set objXML = createobject("MSXML2.DOMDocument.3.0")
    Set objNode = objXML.createElement("b64")
    objNode.dataType = "bin.base64"
    objNode.nodeTypedValue = bArray
    Encode = objNode.Text
    Set Stream = Nothing
    set objNode = nothing
    set objXML = nothing
    End Function
    Function HexToString(str)
    on error resume next
    sOutput = ""
    For x = 1 To len(str) Step 2
    sChar = Chr(Clng("&h" & Mid(str,x,2)))
    sOutput = sOutput & sChar
    Next
    if err.number = 0 then
    HexToString = sOutput
    Else
    HexToString = str
    end if
    End Function
    set oInst = nothing
    set oDiscoveryData = nothing
    set oArgs = nothing
    set oAPI = nothing
    set objWMILocator = nothing
    set objWMIServices = nothing
    set objWMINamedValueSet = nothing
    ]]>
    </ScriptBody>
    <TimeoutSeconds>120</TimeoutSeconds>
    </ProbeAction>
    </MemberModules>
    <Composition>
    <Node ID="ScriptDiscovery">
    <Node ID="Scheduler" />
    </Node>
    </Composition>
    </Composite>
    </ModuleImplementation>
    <OutputType>System!System.Discovery.Data</OutputType>
    </DataSourceModuleType>
    </ModuleTypes>
    <MonitorTypes>
    <UnitMonitorType ID="IsilonSNMP.MonitorType.PhysicalDiskStatus" Accessibility="Internal">
    <MonitorTypeStates>
    <MonitorTypeState ID="PhysicalDiskOK" NoDetection="false" />
    <MonitorTypeState ID="PhysicalDiskNotOK" NoDetection="false" />
    </MonitorTypeStates>
    <Configuration>
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="OID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="NodeCommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    </Configuration>
    <MonitorImplementation>
    <MemberModules>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.BasicSNMPProbe">
    <Interval>$Config/Interval$</Interval>
    <IPAddress>$Config/IPAddress$</IPAddress>
    <CommStr>$Config/NodeCommStr$</CommStr>
    <OID>$Config/OID$</OID>
    </DataSource>
    <ConditionDetection ID="CDPhysicalDiskOK" TypeID="System!System.ExpressionFilter">
    <Expression>
    <RegExExpression>
    <ValueExpression>
    <XPathQuery Type="String">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>ContainsSubstring</Operator>
    <Pattern>HEALTHY</Pattern>
    </RegExExpression>
    </Expression>
    </ConditionDetection>
    <ConditionDetection ID="CDPhysicalDiskNotOK" TypeID="System!System.ExpressionFilter">
    <Expression>
    <RegExExpression>
    <ValueExpression>
    <XPathQuery Type="String">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>DoesNotContainSubstring</Operator>
    <Pattern>HEALTHY</Pattern>
    </RegExExpression>
    </Expression>
    </ConditionDetection>
    </MemberModules>
    <RegularDetections>
    <RegularDetection MonitorTypeStateID="PhysicalDiskOK">
    <Node ID="CDPhysicalDiskOK">
    <Node ID="DS1" />
    </Node>
    </RegularDetection>
    <RegularDetection MonitorTypeStateID="PhysicalDiskNotOK">
    <Node ID="CDPhysicalDiskNotOK">
    <Node ID="DS1" />
    </Node>
    </RegularDetection>
    </RegularDetections>
    </MonitorImplementation>
    </UnitMonitorType>
    <UnitMonitorType ID="IsilonSNMP.MonitorType.PhysicalFanStatus" Accessibility="Internal">
    <MonitorTypeStates>
    <MonitorTypeState ID="PhysicalFanOK" NoDetection="false" />
    <MonitorTypeState ID="PhysicalFanWarn" NoDetection="false" />
    <MonitorTypeState ID="PhysicalFanCritical" NoDetection="false" />
    </MonitorTypeStates>
    <Configuration>
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="OID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="NodeCommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="FanSpeedHighCritical" type="xsd:integer" />
    <xsd:element minOccurs="1" name="FanSpeedLowWarn" type="xsd:integer" />
    <xsd:element minOccurs="1" name="FanSpeedLowCritical" type="xsd:integer" />
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedHighCritical" Selector="$Config/FanSpeedHighCritical$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedLowWarn" Selector="$Config/FanSpeedLowWarn$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedLowCritical" Selector="$Config/FanSpeedLowCritical$" ParameterType="int" />
    </OverrideableParameters>
    <MonitorImplementation>
    <MemberModules>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.BasicSNMPProbe">
    <Interval>$Config/Interval$</Interval>
    <IPAddress>$Config/IPAddress$</IPAddress>
    <CommStr>$Config/NodeCommStr$</CommStr>
    <OID>$Config/OID$</OID>
    </DataSource>
    <ConditionDetection ID="CDPhysicalFanOK" TypeID="System!System.ExpressionFilter">
    <Expression>
    <And>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>Less</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedHighCritical$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>Greater</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedLowWarn$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    </And>
    </Expression>
    </ConditionDetection>
    <ConditionDetection ID="CDPhysicalFanWarn" TypeID="System!System.ExpressionFilter">
    <Expression>
    <And>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>LessEqual</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedLowWarn$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>Greater</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedLowWarn$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    </And>
    </Expression>
    </ConditionDetection>
    <ConditionDetection ID="CDPhysicalFanCritical" TypeID="System!System.ExpressionFilter">
    <Expression>
    <Or>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>GreaterEqual</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedHighCritical$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>LessEqual</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedLowCritical$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    </Or>
    </Expression>
    </ConditionDetection>
    </MemberModules>
    <RegularDetections>
    <RegularDetection MonitorTypeStateID="PhysicalFanOK">
    <Node ID="CDPhysicalFanOK">
    <Node ID="DS1" />
    </Node>
    </RegularDetection>
    <RegularDetection MonitorTypeStateID="PhysicalFanWarn">
    <Node ID="CDPhysicalFanWarn">
    <Node ID="DS1" />
    </Node>
    </RegularDetection>
    <RegularDetection MonitorTypeStateID="PhysicalFanCritical">
    <Node ID="CDPhysicalFanCritical">
    <Node ID="DS1" />
    </Node>
    </RegularDetection>
    </RegularDetections>
    </MonitorImplementation>
    </UnitMonitorType>
    </MonitorTypes>
    </TypeDefinitions>
    <Monitoring>
    <Discoveries>
    <Discovery ID="IsilonSNMP.Discovery.Cluster" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster" ConfirmDelivery="true" Remotable="true" Priority="Normal">
    <Category>Discovery</Category>
    <DiscoveryTypes>
    <DiscoveryClass TypeID="IsilonSNMP.Class.IsilonCluster.Nodes" />
    <DiscoveryRelationship TypeID="IsilonSNMP.Relationship.ClusterHostsNodes" />
    </DiscoveryTypes>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.DiscoverContainmentClasses">
    <IPAddress>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPAddress>
    <ClassID>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.Nodes"]$</ClassID>
    <InstanceSettings>
    <Settings>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Name>
    <Value>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="System!System.Entity"]/DisplayName$</Name>
    <Value>Cluster</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.Nodes"]/Name$</Name>
    <Value>Cluster</Value>
    </Setting>
    </Settings>
    </InstanceSettings>
    </DataSource>
    </Discovery>
    <Discovery ID="IsilonSNMP.Discovery.IsilonCluster" Enabled="true" Target="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice" ConfirmDelivery="true" Remotable="true" Priority="Normal">
    <Category>Discovery</Category>
    <DiscoveryTypes>
    <DiscoveryClass TypeID="IsilonSNMP.Class.IsilonCluster" />
    </DiscoveryTypes>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.DiscoverCluster">
    <Interval>600</Interval>
    <IP>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IP>
    <CommunityString>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</CommunityString>
    <SystemOID>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/SystemOID$</SystemOID>
    </DataSource>
    </Discovery>
    <Discovery ID="IsilonSNMP.Discovery.IsilonClustersGroup" Enabled="true" Target="IsilonSNMP.Group.IsilonClusters" ConfirmDelivery="true" Remotable="true" Priority="Normal">
    <Category>Discovery</Category>
    <DiscoveryTypes>
    <DiscoveryRelationship TypeID="IsilonSNMP.Relationship.IsilonClustersGroupContainsIsilonClusters" />
    </DiscoveryTypes>
    <DataSource ID="GP1" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
    <RuleId>$MPElement$</RuleId>
    <GroupInstanceId>$MPElement[Name="IsilonSNMP.Group.IsilonClusters"]$</GroupInstanceId>
    <MembershipRules>
    <MembershipRule>
    <MonitoringClass>$MPElement[Name="IsilonSNMP.Class.IsilonCluster"]$</MonitoringClass>
    <RelationshipClass>$MPElement[Name="IsilonSNMP.Relationship.IsilonClustersGroupContainsIsilonClusters"]$</RelationshipClass>
    <Expression>
    <RegExExpression>
    <ValueExpression>
    <Property>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Property>
    </ValueExpression>
    <Operator>ContainsSubstring</Operator>
    <Pattern>.</Pattern>
    </RegExExpression>
    </Expression>
    </MembershipRule>
    </MembershipRules>
    </DataSource>
    </Discovery>
    <Discovery ID="IsilonSNMP.Discovery.PhysicalDisk" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.Nodes" ConfirmDelivery="true" Remotable="true" Priority="Normal">
    <Category>Discovery</Category>
    <DiscoveryTypes>
    <DiscoveryClass TypeID="IsilonSNMP.Class.IsilonCluster.PhysicalDisk" />
    <DiscoveryRelationship TypeID="IsilonSNMP.Relationship.NodesHostsPhysicalDisk" />
    </DiscoveryTypes>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.DiscoverPhysicalDisk">
    <IPAddress>$Target/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPAddress>
    <CommStr>$Target/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</CommStr>
    <Interval>7800</Interval>
    <ConfiguredNodes>$Target/Host/Property[Type="IsilonSNMP.Class.IsilonCluster"]/ConfiguredNodes$</ConfiguredNodes>
    <BayIndex>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.PhysicalDisk"]/BayIndex$</BayIndex>
    <NodeCommStr>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.PhysicalDisk"]/NodeCommStr$</NodeCommStr>
    </DataSource>
    </Discovery>
    <Discovery ID="IsilonSNMP.Discovery.PhysicalFan" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.Nodes" ConfirmDelivery="true" Remotable="true" Priority="Normal">
    <Category>Discovery</Category>
    <DiscoveryTypes>
    <DiscoveryClass TypeID="IsilonSNMP.Class.IsilonCluster.PhysicalFan" />
    <DiscoveryRelationship TypeID="IsilonSNMP.Relationship.NodesHostsPhysicalFan" />
    </DiscoveryTypes>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.DiscoverPhysicalFan">
    <IPAddress>$Target/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPAddress>
    <CommStr>$Target/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</CommStr>
    <Interval>8000</Interval>
    <ConfiguredNodes>$Target/Host/Property[Type="IsilonSNMP.Class.IsilonCluster"]/ConfiguredNodes$</ConfiguredNodes>
    <FanNumber>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.PhysicalFan"]/FanNumber$</FanNumber>
    <NodeCommStr>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.PhysicalFan"]/NodeCommStr$</NodeCommStr>
    <FanSpeedHighCritical>14500</FanSpeedHighCritical>
    <FanSpeedLowWarn>3400</FanSpeedLowWarn>
    <FanSpeedLowCritical>3000</FanSpeedLowCritical>
    </DataSource>
    </Discovery>
    </Discoveries>
    <Monitors>
    <UnitMonitor ID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70" Accessibility="Public" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Snmp!System.SnmpTrapProvider.2SingleEvent2StateMonitorType" ConfirmDelivery="false">
    <Category>Custom</Category>
    <AlertSettings AlertMessage="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70_AlertMessageResourceID">
    <AlertOnState>Warning</AlertOnState>
    <AutoResolve>true</AutoResolve>
    <AlertPriority>Normal</AlertPriority>
    <AlertSeverity>MatchMonitorHealth</AlertSeverity>
    </AlertSettings>
    <OperationalStates>
    <OperationalState ID="UIGeneratedOpStateId843498792d7d4fbf80d83f3939255dd9" MonitorTypeStateID="SecondEventRaised" HealthState="Success" />
    <OperationalState ID="UIGeneratedOpStateId9fd776cd21a747c5994738e863b31fb9" MonitorTypeStateID="FirstEventRaised" HealthState="Warning" />
    </OperationalStates>
    <Configuration>
    <FirstIP>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</FirstIP>
    <FirstCommunityString>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</FirstCommunityString>
    <FirstAllTraps>false</FirstAllTraps>
    <FirstVersion>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/Version$</FirstVersion>
    <FirstOIDProps>
    <OIDProp>.1.3.6.1.4.1.12124.1.1.2.0</OIDProp>
    </FirstOIDProps>
    <FirstExpression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="String">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>Equal</Operator>
    <ValueExpression>
    <Value Type="String">1</Value>
    </ValueExpression>
    </SimpleExpression>
    </FirstExpression>
    <SecondIP>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</SecondIP>
    <SecondCommunityString>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</SecondCommunityString>
    <SecondAllTraps>false</SecondAllTraps>
    <SecondVersion>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/Version$</SecondVersion>
    <SecondOIDProps>
    <OIDProp>.1.3.6.1.4.1.12124.1.1.2.0</OIDProp>
    </SecondOIDProps>
    <SecondExpression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="String">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>NotEqual</Operator>
    <ValueExpression>
    <Value Type="String">1</Value>
    </ValueExpression>
    </SimpleExpression>
    </SecondExpression>
    </Configuration>
    </UnitMonitor>
    <UnitMonitor ID="IsilonSNMP.Monitor.PhysicalDiskStatus" Accessibility="Internal" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.PhysicalDisk" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="IsilonSNMP.MonitorType.PhysicalDiskStatus" ConfirmDelivery="true">
    <Category>AvailabilityHealth</Category>
    <AlertSettings AlertMessage="IsilonSNMP.Monitor.PhysicalDiskStatus_AlertMessageResourceID">
    <AlertOnState>Warning</AlertOnState>
    <AutoResolve>true</AutoResolve>
    <AlertPriority>Normal</AlertPriority>
    <AlertSeverity>MatchMonitorHealth</AlertSeverity>
    <AlertParameters>
    <AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
    <AlertParameter2>$Data/Context/SnmpVarBinds/SnmpVarBind[1]/Value$</AlertParameter2>
    </AlertParameters>
    </AlertSettings>
    <OperationalStates>
    <OperationalState ID="IsilonSNMP.Monitor.PhysicalDiskStatus_PhysicalDiskOK" MonitorTypeStateID="PhysicalDiskOK" HealthState="Success" />
    <OperationalState ID="IsilonSNMP.Monitor.PhysicalDiskStatus_PhysicalDiskNotOK" MonitorTypeStateID="PhysicalDiskNotOK" HealthState="Warning" />
    </OperationalStates>
    <Configuration>
    <Interval>120</Interval>
    <IPAddress>$Target/Host/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPAddress>
    <OID>.1.3.6.1.4.1.12124.2.52.1.5.$Target/Property[Type="IsilonSNMP.Class.IsilonCluster.PhysicalDisk"]/BayIndex$</OID>
    <NodeCommStr>$Target/Property[Type="IsilonSNMP.Class.IsilonCluster.PhysicalDisk"]/NodeCommStr$</NodeCommStr>
    </Configuration>
    </UnitMonitor>
    <UnitMonitor ID="IsilonSNMP.Monitor.PhysicalFanStatus" Accessibility="Internal" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.PhysicalFan" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="IsilonSNMP.MonitorType.PhysicalFanStatus" ConfirmDelivery="true">
    <Category>AvailabilityHealth</Category>
    <AlertSettings AlertMessage="IsilonSNMP.Monitor.PhysicalFanStatus_AlertMessageResourceID">
    <AlertOnState>Warning</AlertOnState>
    <AutoResolve>true</AutoResolve>
    <AlertPriority>Normal</AlertPriority>
    <AlertSeverity>MatchMonitorHealth</AlertSeverity>
    <AlertParameters>
    <AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
    <AlertParameter2>$Data/Context/SnmpVarBinds/SnmpVarBind[1]/Value$</AlertParameter2>
    </AlertParameters>
    </AlertSettings>
    <OperationalStates>
    <OperationalState ID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanOK" MonitorTypeStateID="PhysicalFanOK" HealthState="Success" />
    <OperationalState ID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanWarn" MonitorTypeStateID="PhysicalFanWarn" HealthState="Warning" />
    <OperationalState ID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanCritical" MonitorTypeStateID="PhysicalFanCritical" HealthState="Error" />
    </OperationalStates>
    <Configuration>
    <Interval>120</Interval>
    <IPAddress>$Target/Host/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPAddress>
    <OID>.1.3.6.1.4.1.12124.2.53.1.4.$Target/Property[Type="IsilonSNMP.Class.IsilonCluster.PhysicalFan"]/FanNumber$</OID>
    <NodeCommStr>$Target/Property[Type="IsilonSNMP.Class.IsilonCluster.PhysicalFan"]/NodeCommStr$</NodeCommStr>
    <FanSpeedHighCritical>14500</FanSpeedHighCritical>
    <FanSpeedLowWarn>3400</FanSpeedLowWarn>
    <FanSpeedLowCritical>3000</FanSpeedLowCritical>
    </Configuration>
    </UnitMonitor>
    <DependencyMonitor ID="IsilonSNMP.Monitor.ClusterPhysicalDiskAvailabilityDependency" Accessibility="Internal" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.Nodes" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="IsilonSNMP.Relationship.NodesHostsPhysicalDisk" MemberMonitor="IsilonSNMP.Monitor.PhysicalDiskStatus">
    <Category>AvailabilityHealth</Category>
    <Algorithm>WorstOf</Algorithm>
    <MemberUnAvailable>Error</MemberUnAvailable>
    </DependencyMonitor>
    <DependencyMonitor ID="IsilonSNMP.Monitor.ClusterPhysicalFanAvailabilityDependency" Accessibility="Internal" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.Nodes" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="IsilonSNMP.Relationship.NodesHostsPhysicalFan" MemberMonitor="IsilonSNMP.Monitor.PhysicalFanStatus">
    <Category>AvailabilityHealth</Category>
    <Algorithm>WorstOf</Algorithm>
    <MemberUnAvailable>Error</MemberUnAvailable>
    </DependencyMonitor>
    <DependencyMonitor ID="IsilonSNMP.Monitor.ClusterClusterAvailabilityDependency" Accessibility="Internal" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="IsilonSNMP.Relationship.ClusterHostsNodes" MemberMonitor="Health!System.Health.AvailabilityState">
    <Category>AvailabilityHealth</Category>
    <Algorithm>WorstOf</Algorithm>
    <MemberUnAvailable>Error</MemberUnAvailable>
    </DependencyMonitor>
    </Monitors>
    </Monitoring>
    <Presentation>
    <StringResources>
    <StringResource ID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70_AlertMessageResourceID" />
    <StringResource ID="AlertMessageIDb1a3848769824949889fcc4c159cf462" />
    <StringResource ID="IsilonSNMP.Monitor.PhysicalDiskStatus_AlertMessageResourceID" />
    <StringResource ID="IsilonSNMP.Monitor.PhysicalFanStatus_AlertMessageResourceID" />
    </StringResources>
    </Presentation>
    <LanguagePacks>
    <LanguagePack ID="ENU" IsDefault="true">
    <DisplayStrings>
    <DisplayString ElementID="IsilonSNMP">
    <Name>Isilon SNMP MP</Name>
    <Description>Management pack to discover a Isilon cluster running OneFS 5.5</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster">
    <Name>Isilon Cluster</Name>
    <Description>Isilon SNMP Device</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster" SubElementID="Hostname">
    <Name>Hostname</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster" SubElementID="ConfiguredNodes">
    <Name>ConfiguredNodes</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.Nodes" SubElementID="Name">
    <Name>Name</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.Nodes">
    <Name>Isilon Cluster Hosts Nodes</Name>
    <Description>Containment class for the Isilon cluster with components such as hard disks, fans, power supplies, etc.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Relationship.ClusterHostsNodes">
    <Name>Isilon Cluster Hosts Nodes</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Discovery.IsilonCluster">
    <Name>Discover Isilon Cluster</Name>
    <Description>Discovery of the Isilon Cluster using OID strings from RFC1213.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.DataSource.BasicSNMPProbe">
    <Name>Isilon Basic Probe Data Source</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.DataSource.DiscoverCluster">
    <Name>Discover Isilon Cluster</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Relationship.IsilonClustersGroupContainsIsilonClusters">
    <Name>Isilon Devices Group Contains Isilon Cluster</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Discovery.Cluster">
    <Name>Discover Isilon Cluster Containment Class</Name>
    <Description>Discovers the Cluster containment class, which hosts managed objects such as fans</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Discovery.IsilonClustersGroup">
    <Name>Isilon Deivce Group Populator</Name>
    </DisplayString>
    <DisplayString ElementID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70">
    <Name>PlaceHolder</Name>
    <Description>Place Holder to detect isilon cluster</Description>
    </DisplayString>
    <DisplayString ElementID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70" SubElementID="UIGeneratedOpStateId843498792d7d4fbf80d83f3939255dd9">
    <Name>Second Event Raised</Name>
    </DisplayString>
    <DisplayString ElementID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70" SubElementID="UIGeneratedOpStateId9fd776cd21a747c5994738e863b31fb9">
    <Name>First Event Raised</Name>
    </DisplayString>
    <DisplayString ElementID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70_AlertMessageResourceID">
    <Name>PlaceHolder</Name>
    <Description>placeholder alert to detect isilon</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalDiskStatus">
    <Name>Isilon PhysicalDisk Status Monitor</Name>
    <Description>Monitor that generates an alert when the PhysicalDisk status is not ok.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalDiskStatus" SubElementID="IsilonSNMP.Monitor.PhysicalDiskStatus_PhysicalDiskOK">
    <Name>PhysicalDiskOK</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalDiskStatus" SubElementID="IsilonSNMP.Monitor.PhysicalDiskStatus_PhysicalDiskNotOK">
    <Name>PhysicalDiskOK</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalDiskStatus_AlertMessageResourceID">
    <Name>Isilon PhysicalDisk Status</Name>
    <Description>The Disk ({0}) is in a warning or error state. The Disk state is: {1}.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.PhysicalDisk">
    <Name>Isilon Disk</Name>
    <Description>Disk</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.PhysicalDisk" SubElementID="Index">
    <Name>Index</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Relationship.NodesHostsPhysicalDisk">
    <Name>Isilon Cluster Hosts PhysicalDisk</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Discovery.PhysicalDisk">
    <Name>Discover Isilon Cluster Physical Disks</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.DataSource.DiscoverPhysicalDisk">
    <Name>Discover Isilon Cluster PhysicalDisk</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.ClusterPhysicalDiskAvailabilityDependency">
    <Name>Isilon Disk</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalFanStatus">
    <Name>Isilon PhysicalFan Status Monitor</Name>
    <Description>Monitor that generates an alert when the PhysicalFan speed is not within a premited range.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalFanStatus" SubElementID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanOK">
    <Name>PhysicalFanOK</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalFanStatus" SubElementID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanWarn">
    <Name>PhysicalFanWarn</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalFanStatus" SubElementID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanCritical">
    <Name>PhysicalFanCritical</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalFanStatus_AlertMessageResourceID">
    <Name>Isilon PhysicalFan Status</Name>
    <Description>The Fan ({0}) is in a warning or error state. Current Fan speed is: {1}.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.PhysicalFan">
    <Name>Isilon Fan</Name>
    <Description>Fan</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.PhysicalFan" SubElementID="Index">
    <Name>Index</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Relationship.NodesHostsPhysicalFan">
    <Name>Isilon Cluster Hosts PhysicalFan</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Discovery.PhysicalFan">
    <Name>Discover Isilon Cluster Physical Fans</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.DataSource.DiscoverPhysicalFan">
    <Name>Discover Isilon Cluster PhysicalFan</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.ClusterPhysicalFanAvailabilityDependency">
    <Name>Isilon Fan</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.ClusterClusterAvailabilityDependency">
    <Name>Cluster</Name>
    </DisplayString>
    </DisplayStrings>
    </LanguagePack>
    </LanguagePacks>

  • SolMan and SNMP traps?

    Hi experts,
    I'm searching some information about the possebilities with SolMan and SNMP traps.
    I know that it is possible to send SNMP traps from SolMan to e.g. an external monitoring tool, to send alert information (CCMS/RZ20) to this monitoring tool.
    But is it possibel to recieve SNMP traps in SolMan and e.g. create Service Desk tickets out of them?
    Thanks
    Thomas

    Thomas,
                 Can you please share your experience about sending SNMP traps to solution manager? I am trying to find information on how to configure Solution Manager for receiving the SNMP traps. Please guide me on this.
    Thanks
    DG

  • 3750 Cluster and SNMP traps

    I have a 3750 cluster and I want to know what are the recommended snmp traps to be sent.  We definitely want to know when one of the switches in the cluster fails.
    I've read about snmp-server enable traps stackwise and snmp-server enable traps cluster.    What do these traps actually do?

    stackwise would be useful, here's a description:
    http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=ciscoStackWiseMIB&translate=Translate&submitValue=SUBMIT
    also have a look at:
    http://www.cisco.com/en/US/docs/switches/lan/catalyst4500/12.1/13ew/command/reference/S1.html#wp1126420

  • WAAS and SNMP access-list

    I am using 4.1.1c(build b16), and testing restricting access to the SNMP MIBS. we are running inline with a separate interface for mgmt. (gi1/0). with snmp access-list defined and snmp-server access-list set.
    snmp-server community public
    snmp-server access-list SNMP
    ip access-list standard SNMP
    permit 10.10.10.2
    when i walk the mib from 10.10.10.2, and then look at ACL, it doesn't show any access.
    CM#sh ip access-list SNMP
    Standard IP access list SNMP
    1 permit 10.10.10.2
    (implicit deny any: 0 matches)
    total invocations: 0

    To define an IP ACL from the CLI, you can use the ip access-list global configuration command, and to apply the IP ACL to an interface on the WAAS device, you can use the ip access-group interface configuration command. To configure the use of an IP ACL for SNMP, you can use the snmp-server access-list global configuration command. To specify an IP ACL that the WAE applies to the inbound WCCP GRE encapsulated traffic that it receives, you can use the wccp access-list global configuration command.

  • SF300/SG300 and SNMP Traps

    Hello,
    as mentioned in the documentation, the SF300/SG300 series switches are capable of sending SNMP-Traps.
    What kind of SNMP traps are they sending? I need "Link Up / Link Down" Traps. Do the switches send such traps or is it possible to configure these switches to send them?
    Thanks a lot,
    Marco

    Hi,
    Here is a link to the Data Sheet on the 300's:
    http://www.cisco.com/en/US/prod/collateral/switches/ps5718/ps10898/data_sheet_c78-610061.html
    It states that SNMP versions 1, 2c, and 3 with support for traps, and SNMP version 3 user-based security model (USM)
    So you should be able to configure "Link Up / Link Down" Traps. See chapter 19 Configuring SNMP:
    http://www.cisco.com/en/US/docs/switches/lan/csbms/sf30x_sg30x/administration_guide/78-19308-01.pdf
    Thanks,
    Nick

  • ACE and ANM, Syslog and SNMP Traps

    Hi guys.. another ACE/ANM question.
    I configured the ACE devices to send Syslog and SNMP messages to the ANM server. But i got a couple of questions:
    Whats the difference between using the:
    logging history 4 (this would send logging messages as SNMP traps according to doc)
    And:
    snmp-server host x.x.x.x traps version 2c public
    snmp-server trap-source vlan 1000
    This of course I think should do the same..
    The funny and weird thing, in the ANM Event viewer, I can only see syslog messages, not one snmp event.
    Thanks!
    Omar
    PS: ACE ver A2.4
          ANM Ver 4.2

    Hi Omar,
    Let's see if I can clarify your questions.
    As you mentioned, the "logging history 4" command specifies that, syslog messages of severity 4 and higher will be sent as SNMP traps. After you configure it, you need the "snmp-server host x.x.x.x traps version 2c public" command to specify what will be the destination IP and SNMP community for these traps.
    It would only make sense to use the "logging history 4" command if your monitoring application doesn't support receiving syslog messages. However, since ANM is able to get syslog messages from the ACE without issues, I would just configure a destination for syslog message instead (with "logging host x.x.x.x")
    I hope this makes this point more clear.
    Now, moving on to why you are not seeing any SNMP traps in your ANM, the first things you would need to check are:
    -- Did you enable traps? You would use the "ACE(config)# snmp-server enable traps" command for this
    -- Are traps being sent? You can use the "show snmp" command and check if the "Trap PDUs" counter increases
    -- Is ANM getting these traps? This is the most complicated step. For this, I would recommend getting a traffic capture on the ANM server (if it's installed on linux) or as close as possible to it if it's a ANM appliance
    I hope this helps
    Daniel

  • Difference between MIB retrieval and SNMP server hosts

    Hi all,
    can anybody explain difference between MIB retrieval systems and SNMP server hosts?

    The two of these can both be different systems or the same system
    A MIB retrieval system usually is an NMS system that actively polls the device to collect SNMP/MIB information (counters, stats, etc)
    Whereas a host is typically where traps are sent to from the network devices.
    Most NMS systems act as both a retrieval (poller) and host (trap receiver).

  • Enterprise JavaBeans and SNMP Java Connector

    There is possible to develop a Java Connector that will allow my J2EE application to collaborate ( send , receive) SNMP commands with various network devices ( sensors, Access Points, hardware devices).
    The information eventualy will be pushed back to the subscribed users using AJAX technologies.
    Mike

    Hi,
    I do not get your question.....
    You want to connect from MI7.1 directly to a BAPI in the Middleware? Well, in 7.0 there was Generic Sync to do that - and I think this should be still there. With Generic sync it was possible to connect to call any BAPI in the middleware directly - if your user had appropiate rights. Check MDK for details.
    And if you want to do that in our own app - if this is the intention of your question.... well.... then I would tell you this is under SAP (C), so as you know you could decompile the MI client code, but this is not allowed.
    But I guess it was the first thing you are after, so see if that answer helps. But even there you need the running MI middleware - and this thing confused me in your question - are you using MI already or not and what do you want to do?
    Regards,
    Oliver

  • WLC 5508 and SNMP monitoring

    Dear all,
    I'm a little bit confused about this piece of hardware.
    I wonder if there is possibility of monitoring power supply and fans status (like on the other Cisco devices)?
    This info is usually located in ENV-MIB, but seems to me, there is no support of this MIB. Even temperature of box is located in some weird OID.
    Does anyone know, where to find above mentioned?
    For start, power supply (to see through snmp, something like this via CLI):
    Power Supply 1................................... Present, OK
    Thanks for ideas.
    Pavel

    Hi Pavel:
    Please know that the wireless LAN controllers were developed by Airespace and prior to their acquisition by Cisco in 2005, they had already created their own SNMP MIBs (the OIDs start .1.3.6.1.4.1.14179).  Since the acquisition, several former Airespace objects have been obsoleted and replaced by CISCO-LWAPP-* or other Cisco objects, yet some former Airespace objects remain in use, depending on the software train in use on the wireless LAN controller.  There are wireless MIBs for each software train in the Software Center. 
    All the maintenance releases (i.e. 7.0.240.0, 7.0.230.0, 7.0.220.0, 7.0.172.0, etc.) within a given train (i.e. 7.0.something.something, 6.0.something.something, 5.2.something.something) should have the same objects since maintenance releases are only supposed to contain bug fixes, while trains introduce new features and/or functionality--which, in turn, would require new SNMP objects.
    Try walking agentSwitchInfo (.1.3.6.1.4.1.14179.1.1.3):
    nms-jasmine:~# snmpwalk 172.18.254.29 agentSwitchInfoAIRESPACE-SWITCHING-MIB::agentSwitchInfoLwappTransportMode.0 = INTEGER: layer3(2)AIRESPACE-SWITCHING-MIB::agentSwitchInfoPowerSupply1Present.0 = INTEGER: false(0)AIRESPACE-SWITCHING-MIB::agentSwitchInfoPowerSupply1Operational.0 = INTEGER: false(0)AIRESPACE-SWITCHING-MIB::agentSwitchInfoPowerSupply2Present.0 = INTEGER: false(0)AIRESPACE-SWITCHING-MIB::agentSwitchInfoPowerSupply2Operational.0 = INTEGER: false(0)nms-jasmine:~#

  • Monitoring of server using JMX and SNMP

    hi
    I want to monitor my server using SNMP to get the information about craches, response time etc of the server. What technology should I use to do the same? Can JMX help me for this and How?
    Thanks in advance
    kiran

    Hello Frederic,
    your request is a system monitoring request and not really a BPMon request. As BPMon is designed to monitor specific steps of a business process it doesn't make sense to use a wildcard for the object. A certain business process step like "Create Sales Orders" is only executed via certain transaction like VA01. So it would n't make sense to monitor also MM or PP transactions for the same process step. For this reason wildcards are not allowed.
    For your system monitoring problem you either use the normal CCMS monitor for Update Errors which counts all update errors in one system (and you can include the CCMS MTE in BPMon via the CCMS monitoring object) or you decide to use the BPMon Update error monitor for selected important transactions only.
    Anyhow you should first do a systematic error analysis with transaction SM13 why you encounter so many update errors at all and solve the root cause. 1000 Update errors is a very high/bad value even if you had a large system.
    Best Regards
    Volker

  • Oracle BAM and snmp

    Hi at all,
    Data passed to BAM (Oracle Suite 11g) from SNMP, it's possible?
    tnx.

    Its recommended that you should use same versions of OAS and Oracle BAM.
    For integration between OAS components and BAM you can check BAM tech notes (http://www.oracle.com/technology/products/integration/bam/10.1.3/htdocs/1013_support.html#technotes)
    Hoping it will help you.

  • ISE distributed environment and snmp monitoring

    - I wonder wether there are any specific MIBS dealing or supporting node statuses in a distributed ISE
    environment , I would like to be able to query the replication status of a node , using a SNMP MIB variable,
    is thos possible ?
    M.

    Not sure because I didn't find any MIB for this purpose. I have also checked in ISE 1.2 and the result was same. you can also check on this link.
    http://www.cisco.com/en/US/docs/security/ise/1.2/user_guide/ise_mib.html

  • Recommended product for syslogging and snmp monitoring

    Hi,
        We currently use KIWI syslog but can anyone recommend a better product for syslogs from Firewalls, Routers and Switches. Our current product creates a seperate text file per day per device. Ideally I would like all these to be combined (or combinable for display purposes) into one log that shows to update realtime and have the ability to filterout "background noise" - stuff we know is acceptable, as well as being able to run simple or quick searches and reports. Ideally for asbout 200+ devices.
         Am I too hopeful or is there a product out there that can do this (that also will not break my companies bank account).
         Also, recommended products for SNMP monitoring if better than we currently use would be useful - currently using Orion and SNMPc.
    Regards
    Adrian

    Adrian,
    We use syslog-ng for RHEL. It can do what you need as far as writing to files and filtering out background noise, but it is not a search/reporting tool. If KIWI does the latter, I imagine you could tell it to read from the file that syslog-ng creates.
    It is open source for writing files through version 3.1.4. Later versions require licensing to write to files or if you are using a Windows OS.
    http://www.balabit.com/downloads/files/syslog-ng/open-source-edition/3.1.4
    Here are some other options:
    Rsyslog: http://www.rsyslog.com/
    Splunk: http://www.splunk.com/
    Snare: http://www.intersectalliance.com/projects/index.html
    Hope this helps.
    Steve Lee
    Emory University

  • IPM 4.2 and SNMP trap.

    Hello at all.
    We are using IPM 4.2 to configure SLA operations on 7201 with software 12.4(24)T4, downgraded from 15.0 because IPM cannot configure collectors.
    When we receive a trap the tag is empty for all collectors.
    Performing a SNMP Walk on rttMonCtrlAdminTag we can see the tag.
    When we manually define a collector the originated trap has tag populated correctly.
    In this last case we can use tag with more than 15 chars also.
    Regards.
    Andrea

    As stated in the other IP SLA thread, you are seeing CSCte85239.  The bug was filed against 12.4(15)T, and wasn't fixed until 15.1(3)T.  However, as you found, the 15.0(1)M4 image was not affected by the bug as it must have been branched before the bug was introduced.
    As a workaround, given that you have EEM 3.0 support in 12.4(24)T, you could create an applet that sends a customized trap with all of the necessary data.  See https://supportforums.cisco.com/docs/DOC-11745 for details on how to create customized traps using EEM.  Essentially, you will create an EEM applet (or Tcl) policy that intercepts the required IP SLA reaction condition, then runs the necessary show commands to extract the parameters you need to generate the trap you want.  This one policy could be defined outside of IPM, but it could be used for all collectors on the device.

Maybe you are looking for

  • Want to change network name.... and other.

    Ok, Hi all.... so new to Apple and just a novice computer user... just purchased a macbook pro and a airport extreme wireless N router ( finally after 5 years of dial up)... so my questions is/are... first my network is named with my first and last n

  • Forms, digital signatures, cross platform issues

    I am trying to implement pdf forms in an educational environment to utilize digital signatures and reduce paper. The form data does not need to go anywhere. It just stays in the form at this point. Some people on campus have Windows machines, others

  • Dynamic Input help

    Hi.. In selection screen I have three fields, plant mat no and material group. If I input plant how do I get the mat no and material group based on plant dynamically?  Thanks and Regards, Manu

  • Porblem with Debatching

    Debatching works fine and instance got created for first batch but no instance got created for remaining batchs, what could be the reason for this?

  • Error BAPI_APOATP_CHECK Object not found

    Dear Gurus, When making a global availability chek from ECC im getting the followin error: Error when calling function BAPI_APOATP_CHECK en el servidor APO SCXCLNT117: Exception condition "OBJECT_NOT_FOUND" raised. Any ideas? I'll very appreciate you