Cisco Distributed CPU / NMS-8484

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Cisco Distributed CPU / NMS-8484

Gianpietro Lavado

Has anyone achieved these kind of collection while showing card names (entPhysicalName) and automatically dealing with arbitrary indexes?

For distributed memory, NMS-8484 enhancement does the trick, since both statistics and names tables use the same index some how:

<resourceType name="entPhysicalEntry" label="Cisco Physical Entity" resourceLabel="${entPhysicalName} (index ${index})">
    <persistenceSelectorStrategy class="" />
    <storageStrategy class="" />
<resourceType name="cempMemPoolEntry" label="Cisco XR Memory Pool" resourceLabel="Card ${entPhysicalName} Pool ${poolNumber} (index ${index})">
    <persistenceSelectorStrategy class="org.opennms.netmgt.collectd.PersistRegexSelectorStrategy">
            <parameter key="match-expression" value="(#poolNumber = '1')" />
    <storageStrategy class="" />
<group name="entPhysicalTable" ifType="all">
    <mibObj oid="." instance="entPhysicalEntry" alias="entPhysicalName" type="string" />
<group name="cempMemPoolTable" ifType="all">
    <mibObj oid="." instance="cempMemPoolEntry" alias="cempMemPoolHCU" type="Gauge32" />
    <mibObj oid="." instance="cempMemPoolEntry" alias="cempMemPoolHCF" type="Gauge32" />
    <property instance="cempMemPoolEntry" alias="entPhysicalName">
        <parameter key="source-type" value="entPhysicalEntry" />
        <parameter key="source-alias" value="entPhysicalName" />
        <parameter key="index-pattern" value="^(.+)\.\d+$" />
    <property instance="cempMemPoolEntry" alias="poolNumber" class-name="org.opennms.netmgt.collectd.IndexSplitPropertyExtender">
        <parameter key="index-pattern" value="^.+\.(\d+)$" />

However, when it comes to distributed CPU, entPhysicalName uses cpmCPUTotalPhysicalIndex as its index, so statistics and names tables do not share the same index.  There is a proposed enhancement in NMS-8484 that could deal with this through a class called "org.opennms.netmgt.collectd.ColumnPropertyExtender", but it seems it was never merged.
I was trying to apply the same strategy as above, but grabbing the entPhysicalName from the value of cpmCPUTotalPhysicalIndex, like this:

<group name="cpmCPUTotalTable" ifType="all">
    <mibObj oid="." instance="cpmCPUTotalEntry" alias="cpmCPUTotal5" type="Gauge32" />
    <mibObj oid="." instance="cpmCPUTotalEntry" alias="cpmCPUTotalPhysicalIndex" type="string" />
    <property instance="cpmCPUTotalEntry" alias="entPhysicalName" class-name="org.opennms.netmgt.collectd.ColumnPropertyExtender">
        <parameter key="column-index" value="cpmCPUTotalPhysicalIndex" />
        <parameter key="source-type" value="entPhysicalEntry" />
        <parameter key="source-alias" value="entPhysicalName" />

Any ideas?


I would really appreciate any pointer to solving this kind of issue.

Check out the vibrant tech community on one of the world's most
engaging tech sites,!
Please read the OpenNMS Mailing List FAQ:

opennms-discuss mailing list

To *unsubscribe* or change your subscription options, see the bottom of this page: