rendered paste body
Nsclient-datacollection-config.xml:
<?xml version="1.0"?>
<nsclient-datacollection-config
rrdRepository="/usr/local/opennms/share/rrd/snmp/">
<nsclient-collection name="default">
<rrd step="300">
<rra>RRA:AVERAGE:0.5:1:8928</rra>
<rra>RRA:AVERAGE:0.5:12:8784</rra>
<rra>RRA:MIN:0.5:12:8784</rra>
<rra>RRA:MAX:0.5:12:8784</rra>
</rrd>
<wpms>
<!-- A group for collecting processor stats.
Check the keyvalue "% Processor Time" - if it's there (should
be) collect this whole group.
Check every recheckInterval milliseconds (3600000 = 1hr) -->
<wpm name="Processor" keyvalue="\Processor(_Total)\% Processor
Time" recheckInterval="3600000">
<!-- Collect these attributes. Name is the name to pass to
NSClient.
Alias is the local name for the RRD file
Type is used to convert values around
maxval/minval are optional-->
<attrib name="\Processor(_Total)\% Processor Time"
alias="cpuProcTime" type="Gauge"/>
<attrib name="\Processor(_Total)\% Interrupt Time"
alias="cpuIntrTime" type="Gauge"/>
<attrib name="\Processor(_Total)\% Privileged Time"
alias="cpuPrivTime" type="Gauge"/>
<attrib name="\Processor(_Total)\% User Time"
alias="cpuUserTime" type="Gauge"/>
</wpm>
<!-- IIS stats -->
<wpm name="IIS" keyvalue="\Web Service(_Total)\Bytes Total/sec"
recheckInterval="86400000">
<attrib name="\Web Service(_Total)\Total Bytes Transfered"
alias="iisbytes" type="Counter"/>
<attrib name="\Web Service(_Total)\Total CGI Requests"
alias="iiscgireq" type="Counter"/>
<attrib name="\Web Service(_Total)\Total Get Requests"
alias="iisgetreq" type="Counter"/>
<attrib name="\Web Service(_Total)\Total Head Requests"
alias="iisheadreq" type="Counter"/>
<attrib name="\Web Service(_Total)\Total Post Requests"
alias="iispostreq" type="Counter"/>
<attrib name="\Web Service(_Total)\Maximum Connections"
alias="iismaxconn" type="Gauge"/>
</wpm>
<wpm name="Exchange" keyvalue="\MSExchangeMTA\Inbound Messages
Total" recheckInterval="86400000">
<attrib name="\SMTP Server(_Total)\Message Bytes Sent Total"
alias="exchangebytessent" type="Counter"/>
<attrib name="\SMTP Server(_Total)\Message Bytes Received Total"
alias="exchangebytesrecv" type="Counter"/>
<attrib name="\SMTP Server(_Total)\Messages Sent Total"
alias="exchangemsgsent" type="Counter"/>
<attrib name="\SMTP Server(_Total)\Messages Received Total"
alias="exchangemsgrecv" type="Counter"/>
<attrib name="\SMTP Server(_Total)\Messages Delivered Total"
alias="exchangemsgdeliv" type="Counter"/>
<attrib name="\SMTP Server(_Total)\% Recipients Local"
alias="exchangereciplocal" type="Gauge"/>
<attrib name="\SMTP Server(_Total)\% Recipients Remote"
alias="exchangerecipremote" type="Gauge"/>
</wpm>
<wpm name="DNS" keyvalue="\DNS\Total Query Received"
recheckInterval="86400000">
<attrib name="\DNS\Total Query Received" alias="dnsqueryrecv"
type="Counter"/>
<attrib name="\DNS\Total Response Sent" alias="dnsresponsesent"
type="Counter"/>
</wpm>
<wpm name="SQLServer" keyvalue="\SQLServer:General Statistics\User
Connections" recheckInterval="86400000">
<attrib name="\SQLServer:General Statistics\User Connections"
alias="sqluserconn" type="Gauge"/>
<attrib name="\SQLServer:Buffer Manager\Buffer cache hit ratio"
alias="sqlbuffhitratio" type="Gauge"/>
<attrib name="\SQLServer:Cache Manager(_Total)\Cache Hit Ratio"
alias="sqlcachehitratio" type="Gauge"/>
<attrib name="\SQLServer:Databases(_Total)\Active Transactions"
alias="sqlactivetrans" type="Gauge"/>
<attrib name="\SQLServer:Databases(_Total)\Log Cache Hit Ratio"
alias="sqllogcachehitratio" type="Gauge"/>
<attrib name="\SQLServer:Locks(_Total)\Average Wait Time (ms)"
alias="sqllockavgwaittime" type="Gauge"/>
<attrib name="\SQLServer:Memory Manager\Connect Memory (KB)"
alias="sqlconnmemory" type="Gauge"/>
<attrib name="\SQLServer:Memory Manager\Lock Memory (KB)"
alias="sqllockmemory" type="Gauge"/>
<attrib name="\SQLServer:Memory Manager\Optimizer Memory (KB)"
alias="sqloptmemory" type="Gauge"/>
<attrib name="\SQLServer:Memory Manager\SQL Cache Memory (KB)"
alias="sqlsqlcachememory" type="Gauge"/>
<attrib name="\SQLServer:Memory Manager\Target Server
Memory(KB)" alias="sqltargetmemory" type="Gauge"/>
<attrib name="\SQLServer:Memory Manager\Total Server Memory
(KB)" alias="sqltotalmemory" type="Gauge"/>
</wpm>
</wpms>
</nsclient-collection>
</nsclient-datacollection-config>
I ran the SQL ones past our DBA, and he approved of the general possible
usefulness.
My graphs for these (in snmp-graph.properties):
report.iisRequests.name=IIS Requests
report.iisRequests.columns=iisgetreq,iispostreq,iisheadreq,iiscgireq
report.iisRequests.type=nodeSnmp
report.iisRequests.command=--title="IIS Requests Stats" \
--lower-limit 0 \
DEF:gets={rrd1}:iisgetreq:AVERAGE \
DEF:posts={rrd2}:iispostreq:AVERAGE \
DEF:heads={rrd3}:iisheadreq:AVERAGE \
DEF:cgis={rrd4}:iiscgireq:AVERAGE \
LINE1:gets#0000FF:"Gets/s" \
GPRINT:gets:AVERAGE:"Avg:%4.2lf" \
GPRINT:gets:MAX:"Max:%4.2lf" \
GPRINT:gets:MIN:"Min:%4.2lf\\n" \
LINE1:posts#00FF00:"Posts/s" \
GPRINT:posts:AVERAGE:"Avg:%4.2lf" \
GPRINT:posts:MAX:"MAx:%4.2lf" \
GPRINT:posts:MIN:"Min:%4.2lf" \
LINE1:heads#FF0000:"Heads/s" \
GPRINT:heads:AVERAGE:"Avg:%4.2lf" \
GPRINT:heads:MAX:"Max:%4.2lf" \
GPRINT:heads:MIN:"Min:%4.2lf" \
LINE1:cgis#000000:"CGIs/s" \
GPRINT:cgis:AVERAGE:"Avg:%4.2lf" \
GPRINT:cgis:MAX:"Max:%4.2lf" \
GPRINT:cgis:MIN:"Min:%4.2lf"
report.iisTraffic.name=IIS Traffic Stats
report.iisTraffic.columns=iisbytes
report.iisTraffic.type=nodeSnmp
report.iisTraffic.command=--title="IIS Traffic Stats" \
--lower-limit 0 \
DEF:bytesTrans={rrd1}:iisbytes:AVERAGE \
CDEF:kbTrans=bytesTrans,1024,/ \
LINE2:kbTrans#0000FF:"KB/s " \
GPRINT:kbTrans:AVERAGE:"Avg: %3.2lf" \
GPRINT:kbTrans:MAX:"Max: %3.2lf" \
GPRINT:kbTrans:MIN:"Min: %3.2lf"
report.exchangeMessages.name=Exchange Message Volumes
report.exchangeMessages.columns=exchangemsgsent,exchangemsgrecv,exchange
msgdeliv
#report.exchangeMessages.columns=exchangemsgsent,exchangemsgdeliv
report.exchangeMessages.type=nodeSnmp
report.exchangeMessages.command=--title="Exchange Message Volumes" \
--lower-limit 0 \
DEF:outmsgs={rrd1}:exchangemsgsent:AVERAGE \
DEF:inmsgs={rrd2}:exchangemsgrecv:AVERAGE \
DEF:localdel={rrd3}:exchangemsgdeliv:AVERAGE \
LINE2:outmsgs#00FF00:"Messages Out/s:" \
GPRINT:outmsgs:AVERAGE:"Avg:%4.2lf" \
GPRINT:outmsgs:MAX:"Max:%4.2lf" \
GPRINT:outmsgs:MIN:"Min:%4.2lf" \
LINE2:inmsgs#0000FF:"Messages In/s:" \
GPRINT:inmsgs:AVERAGE:"Avg:%4.2lf" \
GPRINT:inmsgs:MAX:"Max:%4.2lf" \
GPRINT:inmsgs:MIN:"Min:%4.2lf" \
LINE2:localdel#FF0000:"Messages Delivered Locally/s :" \
GPRINT:localdel:AVERAGE:"Avg:%4.2lf" \
GPRINT:localdel:MAX:"Max:%4.2lf" \
GPRINT:localdel:MIN:"Min:%4.2lf"
report.exchangeBytes.name=Exchange Byte Volumes
report.exchangeBytes.columns=exchangebytesrecv,exchangebytessent
report.exchangeBytes.type=nodeSnmp
report.exchangeBytes.command=--title="Exchange Byte Volumes" \
--lower-limit 0 \
DEF:inbytes={rrd1}:exchangebytesrecv:AVERAGE \
DEF:outbytes={rrd2}:exchangebytessent:AVERAGE \
CDEF:inkbytes=inbytes,1024,/ \
CDEF:outkbytes=outbytes,1024,/ \
LINE2:inkbytes#0000FF:"KB In/s:" \
GPRINT:inkbytes:AVERAGE:"Avg:%4.2lf" \
GPRINT:inkbytes:MAX:"Max: %4.2lf" \
GPRINT:inkbytes:MIN:"Min: %4.2lf \\n" \
LINE2:outkbytes#00FF00:"KB Out/s:" \
GPRINT:outkbytes:AVERAGE:"Avg:%4.2lf" \
GPRINT:outkbytes:MAX:"Max:%4.2lf" \
GPRINT:outkbytes:MIN:"Min:%4.2lf"
report.exchangeRecipPartitions.name=Exchange Recipient Partitions
report.exchangeRecipPartitions.columns=exchangereciplocal,exchangerecipr
emote
report.exchangeRecipPartitions.type=nodeSnmp
report.exchangeRecipPartitions.command=--title="Exchange Recipients" \
--lower-limit 0 \
DEF:local={rrd1}:exchangereciplocal:AVERAGE \
DEF:remote={rrd2}:exchangerecipremote:AVERAGE \
LINE2:local#0000FF:"% Recipients Local:" \
GPRINT:local:AVERAGE:"Avg:%4.1lf" \
GPRINT:local:MAX:"Max: %4.1lf" \
GPRINT:local:MIN:"Min: %4.1lf \\n" \
LINE2:remote#00FF00:"% Recipients Remote:" \
GPRINT:remote:AVERAGE:"Avg:%4.1lf" \
GPRINT:remote:MAX:"Max:%4.1lf" \
GPRINT:remote:MIN:"Min:%4.1lf"
report.dnsThroughput.name=DNS Throughput
report.dnsThroughput.columns=dnsqueryrecv,dnsresponsesent
report.dnsThroughput.type=nodeSnmp
report.dnsThroughput.command=--title="DNS Throughput" \
DEF:query={rrd1}:dnsqueryrecv:AVERAGE \
DEF:response={rrd2}:dnsresponsesent:AVERAGE \
LINE2:query#0000FF:"Queries/s:" \
GPRINT:query:AVERAGE:"Avg:%4.1lf" \
GPRINT:query:MAX:"Max: %4.1lf" \
GPRINT:query:MIN:"Min: %4.1lf \\n" \
LINE2:response#00FF00:"Responses/s:" \
GPRINT:response:AVERAGE:"Avg:%4.1lf" \
GPRINT:response:MAX:"Max: %4.1lf" \
GPRINT:response:MIN:"Min: %4.1lf \\n"
report.mssqlmemory.name=MSSQL Memory
report.mssqlmemory.columns=sqlconnmemory,sqllockmemory,sqloptmemory,sqls
qlcachememory,sqltargetmemory,sqltotalmemory
report.mssqlmemory.type=nodeSnmp
report.mssqlmemory.command=--title="MSSQL Memory" \
--lower-limit 0 \
DEF:conn={rrd1}:sqlconnmemory:AVERAGE \
DEF:lock={rrd2}:sqllockmemory:AVERAGE \
DEF:opt={rrd3}:sqloptmemory:AVERAGE \
DEF:sqlcache={rrd4}:sqlsqlcachememory:AVERAGE \
DEF:target={rrd5}:sqltargetmemory:AVERAGE \
DEF:total={rrd6}:sqltotalmemory:AVERAGE \
AREA:lock#00FF00:"Lock :" \
GPRINT:lock:AVERAGE:"Avg:%4.1lf" \
STACK:opt#0000FF:"Optimizer :" \
GPRINT:opt:AVERAGE:"Avg:%4.1lf" \
STACK:sqlcache#FFFF00:"SQL Cache :" \
GPRINT:sqlcache:AVERAGE:"Avg:%4.1lf" \
STACK:conn#FF0000:"Connection :" \
GPRINT:conn:AVERAGE:"Avg:%4.1lf" \
LINE2:target#00FFFF:"Target :" \
GPRINT:target:AVERAGE:"Avg:%4.1lf" \
LINE2:total#000000:"Actual:" \
GPRINT:total:AVERAGE:"Avg:%4.1lf"
report.mssqlusage.name=MSSQL Usage
report.mssqlusage.columns=sqluserconn,sqlactivetrans
report.mssqlusage.type=nodeSnmp
report.mssqlusage.command=--title="MSSQL Usage" \
DEF:conns={rrd1}:sqluserconn:AVERAGE \
DEF:trans={rrd2}:sqlactivetrans:AVERAGE \
LINE2:conns#0000FF:"Connections :" \
GPRINT:conns:AVERAGE:"Avg:%4.1lf" \
LINE2:trans#00FF00:"Transactions :" \
GPRINT:trans:AVERAGE:"Avg:%4.1lf"
report.mssqlhitratios.name=MSSQL Hit Ratios
report.mssqlhitratios.columns=sqlbuffhitratio,sqlcachehitratio,sqllogcac
hehitratio
report.mssqlhitratios.type=nodeSnmp
report.mssqlhitratios.command=--title="MSSQL Hit Ratios" \
--lower-limit 0 \
DEF:buff={rrd1}:sqlbuffhitratio:AVERAGE \
DEF:cache={rrd2}:sqlcachehitratio:AVERAGE \
DEF:logcache={rrd3}:sqllogcachehitratio:AVERAGE \
LINE2:buff#0000FF:"Buffer Hit Ratio :" \
GPRINT:buff:AVERAGE:"Avg:%4.1lf" \
GPRINT:buff:MAX:"Max:%4.1lf" \
GPRINT:buff:MIN:"Min:%4.1lf" \
LINE2:cache#00FF00:"Cache Hit Ratio :" \
GPRINT:cache:AVERAGE:"Avg:%4.1lf" \
GPRINT:cache:MAX:"Max:%4.1lf" \
GPRINT:cache:MIN:"Min:%4.1lf" \
LINE2:logcache#FF0000:"Log Cache Hit Ratio :" \
GPRINT:logcache:AVERAGE:"Avg:%4.1lf" \
GPRINT:logcache:MAX:"Max:%4.1lf" \
GPRINT:logcache:MIN:"Min:%4.1lf" \
report.mssqllockwaittime.name=MSSQL Lock Wait Time
report.mssqllockwaittime.columns=sqllockavgwaittime
report.mssqllockwaittime.type=nodeSnmp
report.mssqllockwaittime.command=--title="MSSQL Lock Avg Wait Time" \
DEF:wait={rrd1}:sqllockavgwaittime:AVERAGE \
LINE2:wait#0000FF:"Lock Avg Wait Time :" \
GPRINT:wait:AVERAGE:"Avg:%4.1lf"