nobody seems to have done any work on Equallogic SAN support in OpenNMS so far - so here's what I use...Hopefully you can add it into the next 1.6 release!
FWIW - i think out-of-the-box snmp hardware support is the most important thing in an NMS. OpenNMS already does a better job than most, but there's definitely room for improvement.
nobody seems to have done any work on Equallogic SAN support in OpenNMS so far - so here's what I use...Hopefully you can add it into the next 1.6 release!
FWIW - i think out-of-the-box snmp hardware support is the most important thing in an NMS. OpenNMS already does a better job than most, but there's definitely room for improvement.
regards
James Masson
##############
<!-- "Equallogic"-->
<group name="equallogic-volumes" ifType="all">
<mibObj oid=".1.3.6.1.4.1.12740.5.1.7.1.1.14" instance="EqVol" alias="EqVolName" type="string" />
<mibObj oid=".1.3.6.1.4.1.12740.5.1.7.34.1.3" instance="EqVol" alias="EqVolTx" type="counter" />
<mibObj oid=".1.3.6.1.4.1.12740.5.1.7.34.1.4" instance="EqVol" alias="EqVolRx" type="counter" />
<mibObj oid=".1.3.6.1.4.1.12740.5.1.7.34.1.6" instance="EqVol" alias="EqVolReLat" type="counter" />
<mibObj oid=".1.3.6.1.4.1.12740.5.1.7.34.1.7" instance="EqVol" alias="EqVolWrLat" type="counter" />
<mibObj oid=".1.3.6.1.4.1.12740.5.1.7.34.1.8" instance="EqVol" alias="EqVolReOp" type="counter" />
<mibObj oid=".1.3.6.1.4.1.12740.5.1.7.34.1.9" instance="EqVol" alias="EqVolWrOp" type="counter" />
<mibObj oid=".1.3.6.1.4.1.12740.5.1.7.1.1.8" instance="EqVol" alias="EqVolSize" type="integer" />
<mibObj oid=".1.3.6.1.4.1.12740.5.1.7.1.1.27" instance="EqVol" alias="EqVolThnResPc" type="integer" />
<mibObj oid=".1.3.6.1.4.1.12740.5.1.7.7.1.13" instance="EqVol" alias="EqVolAlloc" type="integer" />
</group>
<systemDef name="Equallogic SANs">
<sysoidMask>.1.3.6.1.4.1.12740.</sysoidMask>
<collect>
<includeGroup>equallogic-volumes</includeGroup>
</collect>
</systemDef>
<!-- Custom Equallogic support -->
<resourceType name="EqVol" label="Equallogic Volume ID" resourceLabel="${EqVolName}">
<persistenceSelectorStrategy class="org.opennms.netmgt.collectd.PersistAllSelectorStrategy"/>
<storageStrategy class="org.opennms.netmgt.dao.support.IndexStorageStrategy"/>
</resourceType>
report.eql.vol.io.name=Equallogic Volume IO
report.eql.vol.io.columns=EqVolRx,EqVolTx
report.eql.vol.io.type=EqVol
report.eql.vol.io.propertiesValues=EqVolName
report.eql.vol.io.command=--title="Volume iSCSI IO in Bytes" \ --vertical-label Bytes \ DEF:EqVolRx={rrd1}:EqVolRx:AVERAGE \ DEF:minEqVolRx={rrd1}:EqVolRx:MIN \ DEF:maxEqVolRx={rrd1}:EqVolRx:MAX \ DEF:EqVolTx={rrd2}:EqVolTx:AVERAGE \ DEF:minEqVolTx={rrd2}:EqVolTx:MIN \ DEF:maxEqVolTx={rrd2}:EqVolTx:MAX \ CDEF:EqVolRxNeg=0,EqVolRx,- \ LINE1:EqVolRxNeg#0000ff:"IO Rx Bytes" \ AREA:EqVolRxNeg#0000ff: \ GPRINT:EqVolRx:AVERAGE:" Avg
: %8.2lf %s" \ GPRINT:EqVolRx:MIN:"Min
: %8.2lf %s" \ GPRINT:EqVolRx:MAX:"Max
: %8.2lf %s
n" \ LINE1:EqVolTx#ff0000:"IO Tx Bytes" \ AREA:EqVolTx#ff0000: \ GPRINT:EqVolTx:AVERAGE:" Avg
: %8.2lf %s" \ GPRINT:EqVolTx:MIN:"Min
: %8.2lf %s" \ GPRINT:EqVolTx:MAX:"Max
: %8.2lf %s
n"
report.eql.vol.lat.name=Equallogic Volume IO Latency
report.eql.vol.lat.columns=EqVolReLat,EqVolWrLat
report.eql.vol.lat.type=EqVol
report.eql.vol.lat.propertiesValues=EqVolName
report.eql.vol.lat.command=--title="Volume iSCSI Latency " \ --vertical-label seconds \ DEF:EqVolReLat={rrd1}:EqVolReLat:AVERAGE \ DEF:minEqVolReLat={rrd1}:EqVolReLat:MIN \ DEF:maxEqVolReLat={rrd1}:EqVolReLat:MAX \ DEF:EqVolWrLat={rrd2}:EqVolWrLat:AVERAGE \ DEF:minEqVolWrLat={rrd2}:EqVolWrLat:MIN \ DEF:maxEqVolWrLat={rrd2}:EqVolWrLat:MAX \ CDEF:SecEqVolReLat=EqVolReLat,1000,/ \ CDEF:minSecEqVolReLat=EqVolReLat,1000,/ \ CDEF:maxSecEqVolReLat=EqVolReLat,1000,/ \ CDEF:SecEqVolWrLat=EqVolWrLat,1000,/ \ CDEF:minSecEqVolWrLat=EqVolWrLat,1000,/ \ CDEF:maxSecEqVolWrLat=EqVolWrLat,1000,/ \ CDEF:NegSecEqVolWrLat=0,SecEqVolWrLat,- \ LINE1:SecEqVolReLat#0000ff:"Read Latency" \ AREA:SecEqVolReLat#0000ff: \ GPRINT:EqVolReLat:AVERAGE:" Avg
: %8.2lf %s" \ GPRINT:EqVolReLat:MIN:"Min
: %8.2lf %s" \ GPRINT:EqVolReLat:MAX:"Max
: %8.2lf %s
n" \ LINE1:NegSecEqVolWrLat#ff0000:"Write Latency" \ AREA:NegSecEqVolWrLat#ff0000: \ GPRINT:EqVolWrLat:AVERAGE:" Avg
: %8.2lf %s" \ GPRINT:EqVolWrLat:MIN:"Min
: %8.2lf %s" \ GPRINT:EqVolWrLat:MAX:"Max
: %8.2lf %s
n"
report.eql.vol.op.name=Equallogic Volume IO Operations
report.eql.vol.op.columns=EqVolReOp,EqVolWrOp
report.eql.vol.op.type=EqVol
report.eql.vol.op.propertiesValues=EqVolName
report.eql.vol.op.command=--title="Volume IO Operations" \ --vertical-label Ops \ DEF:EqVolReOp={rrd1}:EqVolReOp:AVERAGE \ DEF:minEqVolReOp={rrd1}:EqVolReOp:MIN \ DEF:maxEqVolReOp={rrd1}:EqVolReOp:MAX \ DEF:EqVolWrOp={rrd2}:EqVolWrOp:AVERAGE \ DEF:minEqVolWrOp={rrd2}:EqVolWrOp:MIN \ DEF:maxEqVolWrOp={rrd2}:EqVolWrOp:MAX \ CDEF:EqVolReOpNeg=0,EqVolReOp,- \ LINE1:EqVolReOpNeg#0000ff:"Read IO Ops" \ AREA:EqVolReOpNeg#0000ff: \ GPRINT:EqVolReOp:AVERAGE:" Avg
: %8.2lf %s" \ GPRINT:EqVolReOp:MIN:"Min
: %8.2lf %s" \ GPRINT:EqVolReOp:MAX:"Max
: %8.2lf %s
n" \ LINE1:EqVolWrOp#ff0000:"Write IO Ops" \ AREA:EqVolWrOp#ff0000: \ GPRINT:EqVolWrOp:AVERAGE:" Avg
: %8.2lf %s" \ GPRINT:EqVolWrOp:MIN:"Min
: %8.2lf %s" \ GPRINT:EqVolWrOp:MAX:"Max
: %8.2lf %s
n"
report.eql.vol.size.name=Equallogic Volume Size
report.eql.vol.size.columns=EqVolSize,EqVolAlloc,EqVolThnResPc
report.eql.vol.size.type=EqVol
report.eql.vol.size.propertiesValues=EqVolName
report.eql.vol.size.command=--title="Volume Size" \ --vertical-label Bytes \ DEF:EqVolSize={rrd1}:EqVolSize:AVERAGE \ DEF:minEqVolSize={rrd1}:EqVolSize:MIN \ DEF:maxEqVolSize={rrd1}:EqVolSize:MAX \ CDEF:EqVolSizeBytes=EqVolSize,1048576,* \ CDEF:minEqVolSizeBytes=minEqVolSize,1048576,* \ CDEF:maxEqVolSizeBytes=maxEqVolSize,1048576,* \ LINE1:EqVolSizeBytes#0000ff:"Size Bytes" \ GPRINT:EqVolSizeBytes:AVERAGE:" Avg
: %8.2lf %s" \ GPRINT:EqVolSizeBytes:MIN:"Min
: %8.2lf %s" \ GPRINT:EqVolSizeBytes:MAX:"Max
: %8.2lf %s
n" \ \ DEF:EqVolAlloc={rrd2}:EqVolAlloc:AVERAGE \ DEF:minEqVolAlloc={rrd2}:EqVolAlloc:MIN \ DEF:maxEqVolAlloc={rrd2}:EqVolAlloc:MAX \ CDEF:EqVolAllocBytes=EqVolAlloc,1048576,* \ CDEF:minEqVolAllocBytes=minEqVolAlloc,1048576,* \ CDEF:maxEqVolAllocBytes=maxEqVolAlloc,1048576,* \ LINE1:EqVolAllocBytes#ff0000:"Allocated Bytes" \ AREA:EqVolAllocBytes#ff0000: \ GPRINT:EqVolAllocBytes:AVERAGE:" Avg
: %8.2lf %s" \ GPRINT:EqVolAllocBytes:MIN:"Min
: %8.2lf %s" \ GPRINT:EqVolAllocBytes:MAX:"Max
: %8.2lf %s
n" \ \ DEF:EqVolThnResPc={rrd3}:EqVolThnResPc:AVERAGE \ DEF:minEqVolThnResPc={rrd3}:EqVolThnResPc:MIN \ DEF:maxEqVolThnResPc={rrd3}:EqVolThnResPc:MAX \ CDEF:EqVolThnResBytes=EqVolThnResPc,100,/,EqVolSizeBytes,* \ CDEF:minEqVolThnResBytes=minEqVolThnResPc,100,/,EqVolSizeBytes,* \ CDEF:maxEqVolThnResBytes=maxEqVolThnResPc,100,/,EqVolSizeBytes,* \ LINE1:EqVolThnResBytes#660066:"Thin Reserve Bytes" \ GPRINT:EqVolThnResBytes:AVERAGE:" Avg
: %8.2lf %s" \ GPRINT:EqVolThnResBytes:MIN:"Min
: %8.2lf %s" \ GPRINT:EqVolThnResBytes:MAX:"Max
: %8.2lf %s
n" \