Squid überwachen

Posted: 5th Juli 2012 by marcel in OpenNMS, Proxy
Tags: , ,

So bekommt ihr alle möglichen Squiddaten in euer OpenNMS. Diese alle zu verstehen ist eine andere Baustelle…
Als Basis für dieses Howto (Datacollections und Graphen) diente mir das Wiki von OpenNMS und Google :-)

Im Einsatz ist:
NMS:
Ubuntu 10.04 Server i386
OpenNMS 1.10.0
(also die neue Datacollection-Notation)

Proxy:
Ubuntu 10.04 Server x64
Squid Version: 3.0.STABLE19-1ubuntu0.2

In der /etc/opennms/datacollection-config.xml muss diese Zeile mit rein:

 <include-collection dataCollectionGroup="squid-custom"/>

Dann fix die Datei /etc/opennms/datacollection/squid-custom.xml angelegt und das hier eingefügt:

<?xml version="1.0"?>
<datacollection-group name="squid-custom">

<!-- Squid Cache resource types -->
    <resourceType name="cacheMedianSvcTable" label="Squid Cache Median Service Times">
      <persistenceSelectorStrategy class="org.opennms.netmgt.collectd.PersistAllSelectorStrategy"/>
      <storageStrategy class="org.opennms.netmgt.dao.support.IndexStorageStrategy"/>
    </resourceType>
    <resourceType name="cachePeerTable" label="Squid Cache Peer Information">
      <persistenceSelectorStrategy class="org.opennms.netmgt.collectd.PersistAllSelectorStrategy"/>
      <storageStrategy class="org.opennms.netmgt.dao.support.IndexStorageStrategy"/>
    </resourceType>
<!-- The cacheClientTable is very resource intensive.
    <resourceType name="cacheClientTable" label="Squid Cache Client Information">
      <persistenceSelectorStrategy class="org.opennms.netmgt.collectd.PersistAllSelectorStrategy"/>
      <storageStrategy class="org.opennms.netmgt.dao.support.IndexStorageStrategy"/>
    </resourceType>
-->


<!-- Squid MIB OIDs -->
      <group name="squidCacheScalars" ifType="ignore">
        <mibObj oid=".1.3.6.1.4.1.3495.1.1.1"        instance="0"  alias="cacheSysVMsize"       type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.1.2"        instance="0"  alias="cacheSysStorage"      type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.1.3"        instance="0"  alias="cacheUptime"          type="TimeTicks" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.2.5.1"      instance="0"  alias="cacheMemMaxSize"      type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.2.5.2"      instance="0"  alias="cacheSwapMaxSize"     type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.2.5.3"      instance="0"  alias="cacheSwapHighWM"      type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.2.5.4"      instance="0"  alias="cacheSwapLowWM"       type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.1.1"      instance="0"  alias="cacheSysPageFaults"   type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.1.2"      instance="0"  alias="cacheSysNumReads"     type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.1.3"      instance="0"  alias="cacheMemUsage"        type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.1.4"      instance="0"  alias="cacheCpuTime"         type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.1.5"      instance="0"  alias="cacheCpuUsage"        type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.1.6"      instance="0"  alias="cacheMaxResSize"      type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.1.7"      instance="0"  alias="cacheNumObjCount"     type="Gauge32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.1.8"      instance="0"  alias="cacheCurrLRUExp"      type="TimeTicks" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.1.9"      instance="0"  alias="cacheCurrUnlinkReq"   type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.1.10"     instance="0"  alias="cacheCurrUnusedFD"    type="Gauge32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.1.11"     instance="0"  alias="cacheCurrResFD"       type="Gauge32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.1.1"    instance="0"  alias="cacheClientHttpReq"   type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.1.2"    instance="0"  alias="cacheHttpHits"        type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.1.3"    instance="0"  alias="cacheHttpErrors"      type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.1.4"    instance="0"  alias="cacheHttpInKb"        type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.1.5"    instance="0"  alias="cacheHttpOutKb"       type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.1.6"    instance="0"  alias="cacheIcpPktsSent"     type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.1.7"    instance="0"  alias="cacheIcpPktsRecv"     type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.1.8"    instance="0"  alias="cacheIcpKbSent"       type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.1.9"    instance="0"  alias="cacheIcpKbRecv"       type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.1.10"   instance="0"  alias="cacheServerRequests"  type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.1.11"   instance="0"  alias="cacheServerErrors"    type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.1.12"   instance="0"  alias="cacheServerInKb"      type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.1.13"   instance="0"  alias="cacheServerOutKb"     type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.1.14"   instance="0"  alias="cacheCurrentSwapSz"   type="Gauge32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.1.15"   instance="0"  alias="cacheClients"         type="Gauge32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.1.1"      instance="0"  alias="cacheEntries"         type="Gauge32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.1.2"      instance="0"  alias="cacheRequests"        type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.1.3"      instance="0"  alias="cacheHits"            type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.1.4"      instance="0"  alias="cachePendingHits"     type="Gauge32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.1.5"      instance="0"  alias="cacheNegativeHits"    type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.1.6"      instance="0"  alias="cacheMisses"          type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.1.7"      instance="0"  alias="cacheBlockGtHByName"  type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.1.8"      instance="0"  alias="cacheAttRelLockEntr"  type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.2.1"      instance="0"  alias="cacheFqdnEntries"     type="Gauge32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.2.2"      instance="0"  alias="cacheFqdnRequests"    type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.2.3"      instance="0"  alias="cacheFqdnHits"        type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.2.4"      instance="0"  alias="cacheFqdnPendHits"    type="Gauge32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.2.5"      instance="0"  alias="cacheFqdnNegHits"     type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.2.6"      instance="0"  alias="cacheFqdnMisses"      type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.2.7"      instance="0"  alias="cacheBlockGtHByAddr"  type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.3.1"      instance="0"  alias="cacheDnsRequests"     type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.3.2"      instance="0"  alias="cacheDnsReplies"      type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.4.3.3"      instance="0"  alias="cacheDnsNumberServs"  type="Counter32" />
      </group>
      <group name="squidCacheMedianSvcTable" ifType="all">
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.2.1.2"  instance="cacheMedianSvcTable" alias="cacheHttpAllSvcTm"   type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.2.1.3"  instance="cacheMedianSvcTable" alias="cacheHttpMisSvcTm"   type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.2.1.2"  instance="cacheMedianSvcTable" alias="cacheHttpAllSvcTm"   type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.2.1.3"  instance="cacheMedianSvcTable" alias="cacheHttpMisSvcTm"   type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.2.1.4"  instance="cacheMedianSvcTable" alias="cacheHttpNmSvcTm"    type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.2.1.5"  instance="cacheMedianSvcTable" alias="cacheHttpHitSvcTm"   type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.2.1.6"  instance="cacheMedianSvcTable" alias="cacheIcpQrySvcTm"    type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.2.1.7"  instance="cacheMedianSvcTable" alias="cacheIcpRepSvcTm"    type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.2.1.8"  instance="cacheMedianSvcTable" alias="cacheDnsSvcTime"     type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.2.1.9"  instance="cacheMedianSvcTable" alias="cacheReqHitRatio"    type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.3.2.2.1.10" instance="cacheMedianSvcTable" alias="cacheReqByteRatio"   type="Integer32" />
      </group>
      <group name="squidCacheCachePeerTable" ifType="all">
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.1.1.1"    instance="cachePeerTable"    alias="cachePeerName"      type="String" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.1.1.2"    instance="cachePeerTable"    alias="cachePeerAddr"      type="String" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.1.1.3"    instance="cachePeerTable"    alias="cachePeerPortHttp"  type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.1.1.4"    instance="cachePeerTable"    alias="cachePeerPortIcp"   type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.1.1.5"    instance="cachePeerTable"    alias="cachePeerType"      type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.1.1.6"    instance="cachePeerTable"    alias="cachePeerState"     type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.1.1.7"    instance="cachePeerTable"    alias="cachePeerPingsSnt"  type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.1.1.8"    instance="cachePeerTable"    alias="cachePeerPingsAck"  type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.1.1.9"    instance="cachePeerTable"    alias="cachePeerFetches"   type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.1.1.10"   instance="cachePeerTable"    alias="cachePeerRtt"       type="Integer32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.1.1.11"   instance="cachePeerTable"    alias="cachePeerIgnored"   type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.1.1.12"   instance="cachePeerTable"    alias="cachePeerKeepAlSnt" type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.1.1.13"   instance="cachePeerTable"    alias="cachePeerKeepAlRcv" type="Counter32" />
      </group>

      <!-- The cacheClientTable is very resource intensive.
      <group name="squidCacheCacheClientTable" ifType="all">
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.2.1.1"    instance="cacheClientTable"  alias="cacheClientAddr"    type="String" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.2.1.2"    instance="cacheClientTable"  alias="cacheClientHttpReq" type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.2.1.3"    instance="cacheClientTable"  alias="cacheClientHttpKb"  type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.2.1.4"    instance="cacheClientTable"  alias="cacheClientHttpHit" type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.2.1.5"    instance="cacheClientTable"  alias="cacheClientHttpHKb" type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.2.1.6"    instance="cacheClientTable"  alias="cacheClientIcpReq"  type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.2.1.7"    instance="cacheClientTable"  alias="cacheClientIcpKb"   type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.2.1.8"    instance="cacheClientTable"  alias="cacheClientIcpHit"  type="Counter32" />
        <mibObj oid=".1.3.6.1.4.1.3495.1.5.2.1.9"    instance="cacheClientTable"  alias="cacheClientIcpHKb"  type="Counter32" />
      </group>
-->
</datacollection-group>

In der Datei /etc/opennms/datacollection/netsnmp.xml
noch diese Zeilen in den systemDef Net-SNMP Abschnitt hinzufügen:

          <includeGroup>squidCacheScalars</includeGroup>
          <includeGroup>squidCacheMedianSvcTable</includeGroup>
          <includeGroup>squidCacheCachePeerTable</includeGroup>
          <!-- <includeGroup>squidCacheCacheClientTable</includeGroup> -->

Z.B.:

  <systemDef name="Net-SNMP">
        <sysoidMask>.1.3.6.1.4.1.8072.3.</sysoidMask>
        <collect>
          <includeGroup>mib2-host-resources-system</includeGroup>
          <includeGroup>mib2-host-resources-memory</includeGroup>
          <includeGroup>mib2-X-interfaces</includeGroup>
          <includeGroup>net-snmp-disk</includeGroup>
          <includeGroup>net-snmp-disk-more</includeGroup>
          <includeGroup>net-snmp-disk-highlow</includeGroup>
          <includeGroup>squidCacheScalars</includeGroup>
          <includeGroup>squidCacheMedianSvcTable</includeGroup>
          <includeGroup>squidCacheCachePeerTable</includeGroup>
          <!-- <includeGroup>squidCacheCacheClientTable</includeGroup> -->
          <includeGroup>ucd-loadavg</includeGroup>
          <includeGroup>ucd-memory</includeGroup>
          <includeGroup>ucd-sysstat</includeGroup>
          <includeGroup>ucd-sysstat-raw</includeGroup>
          <includeGroup>ucd-sysstat-raw-more</includeGroup>
        </collect>
      </systemDef>

Wer es drauf anlegt, kann auch gerne die auskommentierten „CacheClientTable“ Einträge auskommentieren. Aber das ist a) wie es schon dran steht ressourcenfressend und b) meines Erachtens nicht so wichtig.

Dann noch die Graphen dazu.

Eine neue Datei erstellen:
/etc/opennms/snmp-graph.properties.d/squid-graph.properties

reports=cacheCurrentSwapSz, cacheUptime, cacheSysVMsize, cacheSysStorage, cacheMemMaxSize, cacheSwap, \
cacheSysPages, cacheMemUsage, cacheCpuUsage, cacheMaxResSize,cacheNumObjCount, cacheCurrLRUExp, \
cacheCurrUnlinkReq, cacheCurrFD, cacheClientHttpReq, cacheHttpHits, cacheHttpInKb, cacheIcpPkts, \
cacheServer, cacheServerKb, cacheClients, cacheEntries, cacheRequests, cacheHits, cacheBlockGtHByName, \
cacheBlockGtHByAddr, cacheFqdnEntries, cacheFqdnRequests, cacheFqdnHits, cacheDns, cacheDnsNumberServs, \
cacheAttRelLockEntr, cacheMedianHttp, cacheDnsSvcTime, cacheReqHitRatio, cacheReqByteRatio, \
cacheMedianIcp

#############
# Squid Cache
#############
report.cacheSwap.name=Squid Cache Swap
report.cacheSwap.columns=cacheSwapMaxSize, cacheSwapHighWM, cacheSwapLowWM
report.cacheSwap.type=nodeSnmp
report.cacheSwap.command=–title=“Squid Cache Swap“ \
–vertical-label kilobytes \
DEF:cacheSwapMaxSize={rrd1}:cacheSwapMaxSize:AVERAGE \
DEF:cacheSwapHighWM={rrd2}:cacheSwapHighWM:AVERAGE \
DEF:cacheSwapLowWM={rrd3}:cacheSwapLowWM:AVERAGE \
LINE2:cacheSwapMaxSize#00ff00:“Max size:“ \
GPRINT:cacheSwapMaxSize:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheSwapMaxSize:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheSwapMaxSize:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cacheSwapHighWM#ff0000:“High Watermark:“ \
GPRINT:cacheSwapHighWM:AVERAGE:“Avg \\: %8.2lf %s“ \
GPRINT:cacheSwapHighWM:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheSwapHighWM:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cacheSwapLowWM#0000ff:“Low Watermark:“ \
GPRINT:cacheSwapLowWM:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheSwapLowWM:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheSwapLowWM:MAX:“Max \\: %8.2lf %s\\n“

report.cacheMemMaxSize.name=Squid Cache Memory Maximum Size
report.cacheMemMaxSize.columns=cacheMemMaxSize
report.cacheMemMaxSize.type=nodeSnmp
report.cacheMemMaxSize.command=–title=“Squid Cache Memory Maximum Size“ \
–vertical-label Size \
DEF:cacheMemMaxSize={rrd1}:cacheMemMaxSize:AVERAGE \
LINE2:cacheMemMaxSize#0000ff:“Virtual memory size:“ \
GPRINT:cacheMemMaxSize:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheMemMaxSize:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheMemMaxSize:MAX:“Max \\: %8.2lf %s\\n“

report.cacheSysVMsize.name=Squid Virtual Memory Size
report.cacheSysVMsize.columns=cacheSysVMsize
report.cacheSysVMsize.type=nodeSnmp
report.cacheSysVMsize.command=–title=“Squid Virtual Memory Size“ \
–vertical-label kilobytes \
DEF:cacheSysVMsize={rrd1}:cacheSysVMsize:AVERAGE \
LINE2:cacheSysVMsize#0000ff:“Virtual memory size:“ \
GPRINT:cacheSysVMsize:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheSysVMsize:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheSysVMsize:MAX:“Max \\: %8.2lf %s\\n“

report.cacheSysStorage.name=Squid Diskspace
report.cacheSysStorage.columns=cacheSysStorage
report.cacheSysStorage.type=nodeSnmp
report.cacheSysStorage.command=–title=“Squid Diskspace“ \
–vertical-label kilobytes \
DEF:cacheSysStorage={rrd1}:cacheSysStorage:AVERAGE \
LINE2:cacheSysStorage#0000ff:“Diskspace in KB:“ \
GPRINT:cacheSysStorage:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheSysStorage:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheSysStorage:MAX:“Max \\: %8.2lf %s\\n“

report.cacheCurrentSwapSz.name=Squid Disk Space used
report.cacheCurrentSwapSz.columns=cacheCurrentSwapSz
report.cacheCurrentSwapSz.type=nodeSnmp
report.cacheCurrentSwapSz.command=–title=“Squid Disk Space used“ \
–vertical-label Megabytes \
DEF:cacheCurrentSwapSz={rrd1}:cacheCurrentSwapSz:AVERAGE \
LINE2:cacheCurrentSwapSz#0000ff:“Disk space used:“ \
GPRINT:cacheCurrentSwapSz:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheCurrentSwapSz:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheCurrentSwapSz:MAX:“Max \\: %8.2lf %s\\n“

report.cacheUptime.name=Squid Cache Uptime
report.cacheUptime.columns=cacheUptime
report.cacheUptime.type=nodeSnmp
report.cacheUptime.command=–title=“Squid Cache Uptime“ \
–vertical-label Days \
report.cacheUptime.command=–title=“Squid Cache Uptime“ \
–vertical-label Days \
DEF:time={rrd1}:cacheUptime:AVERAGE \
DEF:minTime={rrd1}:cacheUptime:MIN \
DEF:maxTime={rrd1}:cacheUptime:MAX \
CDEF:days=time,8640000,/ \
CDEF:minDays=minTime,8640000,/ \
CDEF:maxDays=maxTime,8640000,/ \
LINE2:days#0000ff:“Uptime (Days):“ \
GPRINT:days:AVERAGE:“Avg \\: %8.1lf %s“ \
GPRINT:days:MIN:“Min \\: %8.1lf %s“ \
GPRINT:days:MAX:“Max \\: %8.1lf %s\\n“

report.cacheSysPages.name=Squid System Pages
report.cacheSysPages.columns=cacheSysPageFaults, cacheSysNumReads
report.cacheSysPages.type=nodeSnmp
report.cacheSysPages.command=–title=“Squid System Pages“ \
–vertical-label number \
DEF:cacheSysPageFaults={rrd1}:cacheSysPageFaults:AVERAGE \
DEF:cacheSysNumReads={rrd2}:cacheSysNumReads:AVERAGE \
LINE2:cacheSysPageFaults#ff0000:“Page faults: “ \
GPRINT:cacheSysPageFaults:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheSysPageFaults:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheSysPageFaults:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cacheSysNumReads#0000ff:“Page reads: “ \
GPRINT:cacheSysNumReads:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheSysNumReads:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheSysNumReads:MAX:“Max \\: %8.2lf %s\\n“

report.cacheMemUsage.name=Squid Memory Usage
report.cacheMemUsage.columns=cacheMemUsage
report.cacheMemUsage.type=nodeSnmp
report.cacheMemUsage.command=–title=“Squid Memory Usage“ \
–vertical-label amount \
DEF:cacheMemUsage={rrd1}:cacheMemUsage:AVERAGE \
LINE2:cacheMemUsage#0000ff:“Memory Usage: “ \
GPRINT:cacheMemUsage:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheMemUsage:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheMemUsage:MAX:“Max \\: %8.2lf %s\\n“

report.cacheCpuUsage.name=Squid CPU Usage
report.cacheCpuUsage.columns=cacheCpuUsage
report.cacheCpuUsage.type=nodeSnmp
report.cacheCpuUsage.command=–title=“Squid CPU Usage“ \
–vertical-label seconds \
DEF:cacheCpuUsage={rrd1}:cacheCpuUsage:AVERAGE \
LINE2:cacheCpuUsage#ff0000:“CPU usage: “ \
GPRINT:cacheCpuUsage:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheCpuUsage:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheCpuUsage:MAX:“Max \\: %8.2lf %s\\n“

report.cacheMaxResSize.name=Squid Maximum Resident Size
report.cacheMaxResSize.columns=cacheMaxResSize
report.cacheMaxResSize.type=nodeSnmp
report.cacheMaxResSize.command=–title=“Squid Maximum Resident Size“ \
–vertical-label size \
DEF:cacheMaxResSize={rrd1}:cacheMaxResSize:AVERAGE \
LINE2:cacheMaxResSize#0000ff:“Max. resident size: “ \
GPRINT:cacheMaxResSize:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheMaxResSize:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheMaxResSize:MAX:“Max \\: %8.2lf %s\\n“

report.cacheNumObjCount.name=Squid Cache Objects
report.cacheNumObjCount.columns=cacheNumObjCount
report.cacheNumObjCount.type=nodeSnmp
report.cacheNumObjCount.command=–title=“Squid Cache Objects“ \
–vertical-label number \
DEF:cacheNumObjCount={rrd1}:cacheNumObjCount:AVERAGE \
LINE2:cacheNumObjCount#0000ff:“Objects: “ \
GPRINT:cacheNumObjCount:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheNumObjCount:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheNumObjCount:MAX:“Max \\: %8.2lf %s\\n“

report.cacheCurrLRUExp.name=Squid Current LRU Expiration
report.cacheCurrLRUExp.columns=cacheCurrLRUExp
report.cacheCurrLRUExp.type=nodeSnmp
report.cacheCurrLRUExp.columns=cacheCurrLRUExp
report.cacheCurrLRUExp.type=nodeSnmp
report.cacheCurrLRUExp.command=–title=“Squid Current LRU Expiration“ \
–vertical-label time \
DEF:cacheCurrLRUExp={rrd1}:cacheNumObjCount:AVERAGE \
LINE2:cacheCurrLRUExp#0000ff:“LRU Expiration: “ \
GPRINT:cacheCurrLRUExp:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheCurrLRUExp:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheCurrLRUExp:MAX:“Max \\: %8.2lf %s\\n“

report.cacheCurrUnlinkReq.name=Squid Current Unlink Requests
report.cacheCurrUnlinkReq.columns=cacheCurrUnlinkReq
report.cacheCurrUnlinkReq.type=nodeSnmp
report.cacheCurrUnlinkReq.command=–title=“Squid Current Unlink Requests“ \
–vertical-label number \
DEF:cacheCurrUnlinkReq={rrd1}:cacheCurrUnlinkReq:AVERAGE \
LINE2:cacheCurrUnlinkReq#0000ff:“Unlink requests: “ \
GPRINT:cacheCurrUnlinkReq:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheCurrUnlinkReq:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheCurrUnlinkReq:MAX:“Max \\: %8.2lf %s\\n“

report.cacheCurrFD.name=Squid File Descriptor
report.cacheCurrFD.columns=cacheCurrResFD, cacheCurrUnusedFD
report.cacheCurrFD.type=nodeSnmp
report.cacheCurrFD.command=–title=“Squid File Descriptor“ \
–vertical-label count \
DEF:cacheCurrResFD={rrd1}:cacheCurrResFD:AVERAGE \
DEF:cacheCurrUnusedFD={rrd2}:cacheCurrUnusedFD:AVERAGE \
LINE2:cacheCurrResFD#ff0000:“Reserved: “ \
GPRINT:cacheCurrResFD:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheCurrResFD:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheCurrResFD:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cacheCurrUnusedFD#0000ff:“Unused: “ \
GPRINT:cacheCurrUnusedFD:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheCurrUnusedFD:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheCurrUnusedFD:MAX:“Max \\: %8.2lf %s\\n“

report.cacheClientHttpReq.name=Squid Client HTTP Requests
report.cacheClientHttpReq.columns=cacheClientHttpReq
report.cacheClientHttpReq.type=nodeSnmp
report.cacheClientHttpReq.command=–title=“Squid Client HTTP Requests“ \
–vertical-label number \
DEF:cacheClientHttpReq={rrd1}:cacheClientHttpReq:AVERAGE \
LINE2:cacheClientHttpReq#0000ff:“Client Http Req: “ \
GPRINT:cacheClientHttpReq:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheClientHttpReq:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheClientHttpReq:MAX:“Max \\: %8.2lf %s\\n“

report.cacheHttpHits.name=Squid HTTP Hits
report.cacheHttpHits.columns=cacheHttpHits, cacheHttpErrors
report.cacheHttpHits.type=nodeSnmp
report.cacheHttpHits.command=–title=“Squid HTTP Hits“ \
–vertical-label count \
DEF:cacheHttpHits={rrd1}:cacheHttpHits:AVERAGE \
DEF:cacheHttpErrors={rrd2}:cacheHttpErrors:AVERAGE \
LINE2:cacheHttpHits#00ff00:“Hits: “ \
GPRINT:cacheHttpHits:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheHttpHits:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheHttpHits:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cacheHttpErrors#ff0000:“Error: “ \
GPRINT:cacheHttpErrors:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheHttpErrors:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheHttpErrors:MAX:“Max \\: %8.2lf %s\\n“

report.cacheHttpInKb.name=Squid HTTP bandwith
report.cacheHttpInKb.columns=cacheHttpInKb, cacheHttpOutKb
report.cacheHttpInKb.type=nodeSnmp
report.cacheHttpInKb.command=–title=“Squid HTTP bandwith“ \
–vertical-label kilobyte \
DEF:cacheHttpInKb={rrd1}:cacheHttpInKb:AVERAGE \
DEF:cacheHttpOutKb={rrd2}:cacheHttpOutKb:AVERAGE \
CDEF:cacheHttpOutKbNeg=0,cacheHttpOutKb,- \
AREA:cacheHttpInKb#00ff00:“In: “ \
GPRINT:cacheHttpInKb:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheHttpInKb:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheHttpInKb:MIN:“Min \\: %8.2lf %s\\n“ \
GPRINT:cacheHttpInKb:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheHttpInKb:MIN:“Min \\: %8.2lf %s\\n“ \
AREA:cacheHttpOutKbNeg#0000ff:“Out: “ \
GPRINT:cacheHttpOutKbNeg:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheHttpOutKbNeg:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheHttpOutKbNeg:MAX:“Max \\: %8.2lf %s\\n“

report.cacheIcpPkts.name=Squid ICP Packets
report.cacheIcpPkts.columns=cacheIcpPktsRecv, cacheIcpPktsSent
report.cacheIcpPkts.type=nodeSnmp
report.cacheIcpPkts.command=–title=“Squid ICP Packets“ \
–vertical-label packets \
DEF:cacheIcpPktsRecv={rrd1}:cacheIcpPktsRecv:AVERAGE \
DEF:cacheIcpPktsSent={rrd2}:cacheIcpPktsSent:AVERAGE \
CDEF:cacheIcpPktsSentNeg=0,cacheIcpPktsSent,- \
AREA:cacheIcpPktsRecv#00ff00:“Received: “ \
GPRINT:cacheIcpPktsRecv:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheIcpPktsRecv:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheIcpPktsRecv:MIN:“Min \\: %8.2lf %s\\n“ \
AREA:cacheIcpPktsSentNeg#0000ff:“Sent: “ \
GPRINT:cacheIcpPktsSentNeg:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheIcpPktsSentNeg:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheIcpPktsSentNeg:MAX:“Max \\: %8.2lf %s\\n“

report.cacheIcpKb.name=Squid ICP bandwith
report.cacheIcpKb.columns=cacheIcpKbRecv, cacheIcpKbSent
report.cacheIcpKb.type=nodeSnmp
report.cacheIcpKb.command=–title=“Squid ICP bandwith“ \
–vertical-label kilobyte \
DEF:cacheIcpKbRecv={rrd1}:cacheIcpKbRecv:AVERAGE \
DEF:cacheIcpKbSent={rrd2}:cacheIcpKbSent:AVERAGE \
CDEF:cacheIcpKbSentNeg=0,cacheIcpKbSent,- \
AREA:cacheIcpKbRecv#00ff00:“Received: “ \
GPRINT:cacheIcpKbRecv:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheIcpKbRecv:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheIcpKbRecv:MIN:“Min \\: %8.2lf %s\\n“ \
AREA:cacheIcpKbSentNeg#0000ff:“Sent: “ \
GPRINT:cacheIcpKbSentNeg:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheIcpKbSentNeg:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheIcpKbSentNeg:MAX:“Max \\: %8.2lf %s\\n“

report.cacheServer.name=Squid Server Requests
report.cacheServer.columns=cacheServerRequests, cacheServerErrors
report.cacheServer.type=nodeSnmp
report.cacheServer.command=–title=“Squid Server Requests“ \
–vertical-label requests \
DEF:cacheServerRequests={rrd1}:cacheServerRequests:AVERAGE \
DEF:cacheServerErrors={rrd2}:cacheServerErrors:AVERAGE \
LINE2:cacheServerRequests#0000ff:“Requests: “ \
GPRINT:cacheServerRequests:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheServerRequests:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheServerRequests:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cacheServerErrors#ff0000:“Errors: “ \
GPRINT:cacheServerErrors:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheServerErrors:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheServerErrors:MAX:“Max \\: %8.2lf %s\\n“

report.cacheServerKb.name=Squid Server bandwith
report.cacheServerKb.columns=cacheServerInKb, cacheServerOutKb
report.cacheServerKb.type=nodeSnmp
report.cacheServerKb.command=–title=“Squid Server bandwith“ \
–vertical-label kilobyte \
DEF:cacheServerInKb={rrd1}:cacheServerInKb:AVERAGE \
DEF:cacheServerOutKb={rrd2}:cacheServerOutKb:AVERAGE \
CDEF:cacheServerOutKbNeg=0,cacheServerOutKb,- \
AREA:cacheServerInKb#00ff00:“In: “ \
GPRINT:cacheServerInKb:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheServerInKb:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheServerInKb:MIN:“Min \\: %8.2lf %s\\n“ \
AREA:cacheServerOutKbNeg#0000ff:“Out: “ \
GPRINT:cacheServerOutKbNeg:AVERAGE:“Avg \\: %8.2lf %s“ \
GPRINT:cacheServerOutKbNeg:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheServerOutKbNeg:MAX:“Max \\: %8.2lf %s\\n“

report.cacheClients.name=Squid Cache Client
report.cacheClients.columns=cacheClients
report.cacheClients.name=Squid Cache Client
report.cacheClients.columns=cacheClients
report.cacheClients.type=nodeSnmp
report.cacheClients.command=–title=“Squid Client HTTP Requests“ \
–vertical-label number \
DEF:cacheClients={rrd1}:cacheClients:AVERAGE \
LINE2:cacheClients#0000ff:“Client Http Req: “ \
GPRINT:cacheClients:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheClients:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheClients:MAX:“Max \\: %8.2lf %s\\n“

report.cacheRequests.name=Squid Cache Requests
report.cacheRequests.columns=cacheRequests
report.cacheRequests.type=nodeSnmp
report.cacheRequests.command=–title=“Squid Cache Requests“ \
–vertical-label requests \
DEF:cacheRequests={rrd1}:cacheRequests:AVERAGE \
LINE2:cacheRequests#0000ff:“Requests: “ \
GPRINT:cacheRequests:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheRequests:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheRequests:MAX:“Max \\: %8.2lf %s\\n“

report.cacheEntries.name=Squid Cache Entries
report.cacheEntries.columns=cacheEntries
report.cacheEntries.type=nodeSnmp
report.cacheEntries.command=–title=“Squid Client Entries“ \
–vertical-label number \
DEF:cacheEntries={rrd1}:cacheEntries:AVERAGE \
LINE2:cacheEntries#0000ff:“Entries: “ \
GPRINT:cacheEntries:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheEntries:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheEntries:MAX:“Max \\: %8.2lf %s\\n“

report.cacheHits.name=Squid Hit Statistics
report.cacheHits.columns=cacheHits, cachePendingHits, cacheNegativeHits, cacheMisses
report.cacheHits.type=nodeSnmp
report.cacheHits.command=–title=“Squid Hit Statistics“ \
–vertical-label hits \
DEF:cacheHits={rrd1}:cacheHits:AVERAGE \
DEF:cachePendingHits={rrd2}:cachePendingHits:AVERAGE \
DEF:cacheNegativeHits={rrd3}:cacheNegativeHits:AVERAGE \
DEF:cacheMisses={rrd4}:cacheMisses:AVERAGE \
LINE2:cacheHits#00ff00:“Hits: “ \
GPRINT:cacheHits:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheHits:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheHits:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cachePendingHits#0000ff:“Pending: “ \
GPRINT:cachePendingHits:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cachePendingHits:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cachePendingHits:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cacheNegativeHits#000000:“Negative: “ \
GPRINT:cacheNegativeHits:AVERAGE:“Avg \\: %8.2lf %s“ \
GPRINT:cacheNegativeHits:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheNegativeHits:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cacheMisses#ff0000:“Error: “ \
GPRINT:cacheMisses:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheMisses:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheMisses:MAX:“Max \\: %8.2lf %s\\n“

report.cacheBlockGtHByName.name=Squid Blocking getHostByName
report.cacheBlockGtHByName.columns=cacheBlockGtHByName
report.cacheBlockGtHByName.type=nodeSnmp
report.cacheBlockGtHByName.command=–title=“Squid Blocking getHostByName“ \
–vertical-label count \
DEF:cacheBlockGtHByName={rrd1}:cacheBlockGtHByName:AVERAGE \
LINE2:cacheBlockGtHByName#0000ff:“Count: “ \
GPRINT:cacheBlockGtHByName:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheBlockGtHByName:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheBlockGtHByName:MAX:“Max \\: %8.2lf %s\\n“

report.cacheBlockGtHByAddr.name=Squid Blocking getHostByAddress
report.cacheBlockGtHByAddr.columns=cacheBlockGtHByAddr
report.cacheBlockGtHByAddr.type=nodeSnmp
report.cacheBlockGtHByAddr.command=–title=“Squid Blocking getHostByAddress“ \
–vertical-label count \
DEF:cacheBlockGtHByAddr={rrd1}:cacheBlockGtHByAddr:AVERAGE \
–vertical-label count \
DEF:cacheBlockGtHByAddr={rrd1}:cacheBlockGtHByAddr:AVERAGE \
LINE2:cacheBlockGtHByAddr#0000ff:“Count: “ \
GPRINT:cacheBlockGtHByAddr:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheBlockGtHByAddr:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheBlockGtHByAddr:MAX:“Max \\: %8.2lf %s\\n“

report.cacheFqdnEntries.name=Squid FQDN Entries
report.cacheFqdnEntries.columns=cacheFqdnEntries
report.cacheFqdnEntries.type=nodeSnmp
report.cacheFqdnEntries.command=–title=“Squid FQDN Entries“ \
–vertical-label entries \
DEF:cacheFqdnEntries={rrd1}:cacheFqdnEntries:AVERAGE \
LINE2:cacheFqdnEntries#0000ff:“Count: “ \
GPRINT:cacheFqdnEntries:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheFqdnEntries:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheFqdnEntries:MAX:“Max \\: %8.2lf %s\\n“

report.cacheFqdnRequests.name=Squid FQDN Requests
report.cacheFqdnRequests.columns=cacheFqdnRequests, cacheFqdnHits
report.cacheFqdnRequests.type=nodeSnmp
report.cacheFqdnRequests.command=–title=“Squid FQDN Requests“ \
–vertical-label requests \
DEF:cacheFqdnRequests={rrd1}:cacheFqdnRequests:AVERAGE \
DEF:cacheFqdnHits={rrd2}:cacheFqdnHits:AVERAGE \
LINE2:cacheFqdnRequests#0000ff:“Requests: “ \
GPRINT:cacheFqdnRequests:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheFqdnRequests:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheFqdnRequests:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cacheFqdnHits#00ff00:“Hits: “ \
GPRINT:cacheFqdnHits:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheFqdnHits:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheFqdnHits:MAX:“Max \\: %8.2lf %s\\n“

report.cacheFqdnHits.name=Squid FQDN Hit Statistics
report.cacheFqdnHits.columns=cacheFqdnHits, cacheFqdnPendHits, cacheFqdnNegHits, cacheFqdnMisses
report.cacheFqdnHits.type=nodeSnmp
report.cacheFqdnHits.command=–title=“Squid FQDN Hit Statistics“ \
–vertical-label hits \
DEF:cacheFqdnHits={rrd1}:cacheFqdnHits:AVERAGE \
DEF:cacheFqdnPendHits={rrd2}:cacheFqdnPendHits:AVERAGE \
DEF:cacheFqdnNegHits={rrd3}:cacheFqdnNegHits:AVERAGE \
DEF:cacheFqdnMisses={rrd4}:cacheFqdnMisses:AVERAGE \
LINE2:cacheFqdnHits#00ff00:“Hits: “ \
GPRINT:cacheFqdnHits:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheFqdnHits:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheFqdnHits:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cacheFqdnPendHits#0000ff:“Pending: “ \
GPRINT:cacheFqdnPendHits:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheFqdnPendHits:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheFqdnPendHits:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cacheFqdnNegHits#000000:“Negative: “ \
GPRINT:cacheFqdnNegHits:AVERAGE:“Avg \\: %8.2lf %s“ \
GPRINT:cacheFqdnNegHits:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheFqdnNegHits:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cacheFqdnMisses#ff0000:“Misses: “ \
GPRINT:cacheFqdnMisses:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheFqdnMisses:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheFqdnMisses:MAX:“Max \\: %8.2lf %s\\n“

report.cacheDns.name=Squid DNS
report.cacheDns.columns=cacheDnsRequests, cacheDnsReplies
report.cacheDns.type=nodeSnmp
report.cacheDns.command=–title=“Squid DNS“ \
–vertical-label request/replies \
DEF:cacheDnsRequests={rrd1}:cacheDnsRequests:AVERAGE \
DEF:cacheDnsReplies={rrd2}:cacheDnsReplies:AVERAGE \
CDEF:cacheDnsRepliesNeg=0,cacheDnsReplies,- \
AREA:cacheDnsRequests#0000ff:“Requests: “ \
GPRINT:cacheDnsRequests:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheDnsRequests:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheDnsRequests:MIN:“Min \\: %8.2lf %s\\n“ \
AREA:cacheDnsRepliesNeg#00ff00:“Replies: “ \
GPRINT:cacheDnsRepliesNeg:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheDnsRepliesNeg:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheDnsRepliesNeg:MAX:“Max \\: %8.2lf %s\\n“
GPRINT:cacheDnsRepliesNeg:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheDnsRepliesNeg:MAX:“Max \\: %8.2lf %s\\n“

report.cacheDnsNumberServs.name=Squid DNS Number Servers
report.cacheDnsNumberServs.columns=cacheDnsNumberServs
report.cacheDnsNumberServs.type=nodeSnmp
report.cacheDnsNumberServs.command=–title=“Squid DNS Number Servers“ \
–vertical-label servers \
DEF:cacheDnsNumberServs={rrd1}:cacheDnsNumberServs:AVERAGE \
LINE2:cacheDnsNumberServs#0000ff:“Count: “ \
GPRINT:cacheDnsNumberServs:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheDnsNumberServs:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheDnsNumberServs:MAX:“Max \\: %8.2lf %s\\n“

report.cacheAttRelLockEntr.name=Squid Attempt Release Locked
report.cacheAttRelLockEntr.columns=cacheAttRelLockEntr
report.cacheAttRelLockEntr.type=nodeSnmp
report.cacheAttRelLockEntr.command=–title=“Squid Attempt Release Locked“ \
–vertical-label entries \
DEF:cacheAttRelLockEntr={rrd1}:cacheAttRelLockEntr:AVERAGE \
LINE2:cacheAttRelLockEntr#0000ff:“Entries: “ \
GPRINT:cacheAttRelLockEntr:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheAttRelLockEntr:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheAttRelLockEntr:MAX:“Max \\: %8.2lf %s\\n“

report.cacheMedianHttp.name=Squid Median Service
report.cacheMedianHttp.columns=cacheHttpAllSvcTm, cacheHttpMisSvcTm, cacheHttpNmSvcTm, cacheHttpHitSvcTm
report.cacheMedianHttp.type=cacheMedianSvcTable
report.cacheMedianHttp.command=–title=“Squid Median Service“ \
–vertical-label entries \
DEF:cacheHttpAllSvcTm={rrd1}:cacheHttpAllSvcTm:AVERAGE \
DEF:cacheHttpMisSvcTm={rrd2}:cacheHttpMisSvcTm:AVERAGE \
DEF:cacheHttpNmSvcTm={rrd3}:cacheHttpNmSvcTm:AVERAGE \
DEF:cacheHttpHitSvcTm={rrd4}:cacheHttpHitSvcTm:AVERAGE \
LINE2:cacheHttpAllSvcTm#00ff00:“Http all: “ \
GPRINT:cacheHttpAllSvcTm:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheHttpAllSvcTm:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheHttpAllSvcTm:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cacheHttpMisSvcTm#ff0000:“Http miss: “ \
GPRINT:cacheHttpMisSvcTm:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheHttpMisSvcTm:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheHttpMisSvcTm:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cacheHttpNmSvcTm#000000:“Http Nm: “ \
GPRINT:cacheHttpNmSvcTm:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheHttpNmSvcTm:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheHttpNmSvcTm:MIN:“Min \\: %8.2lf %s\\n“ \
LINE2:cacheHttpHitSvcTm#0000ff:“Http hit: “ \
GPRINT:cacheHttpHitSvcTm:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheHttpHitSvcTm:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheHttpHitSvcTm:MAX:“Max \\: %8.2lf %s\\n“

report.cacheDnsSvcTime.name=Squid DNS Service Time
report.cacheDnsSvcTime.columns=cacheDnsSvcTime
report.cacheDnsSvcTime.type=cacheMedianSvcTable
report.cacheDnsSvcTime.command=–title=“Squid DNS Service Time“ \
–vertical-label time \
DEF:cacheDnsSvcTime={rrd1}:cacheDnsSvcTime:AVERAGE \
LINE2:cacheDnsSvcTime#0000ff:“Time: “ \
GPRINT:cacheDnsSvcTime:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheDnsSvcTime:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheDnsSvcTime:MAX:“Max \\: %8.2lf %s\\n“

report.cacheReqHitRatio.name=Squid Request Hit Ratio
report.cacheReqHitRatio.columns=cacheReqHitRatio
report.cacheReqHitRatio.type=cacheMedianSvcTable
report.cacheReqHitRatio.command=–title=“Squid Request Hit Ratio“ \
–vertical-label ratio \
DEF:cacheReqHitRatio={rrd1}:cacheReqHitRatio:AVERAGE \
LINE2:cacheReqHitRatio#0000ff:“Request Hit Ratio: “ \
GPRINT:cacheReqHitRatio:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheReqHitRatio:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheReqHitRatio:MAX:“Max \\: %8.2lf %s\\n“

report.cacheReqByteRatio.name=Squid Request Byte Ratio
report.cacheReqByteRatio.columns=cacheReqByteRatio
report.cacheReqByteRatio.type=cacheMedianSvcTable
report.cacheReqByteRatio.columns=cacheReqByteRatio
report.cacheReqByteRatio.type=cacheMedianSvcTable
report.cacheReqByteRatio.command=–title=“Squid Request Byte Ratio“ \
–vertical-label ratio \
DEF:cacheReqByteRatio={rrd1}:cacheReqByteRatio:AVERAGE \
LINE2:cacheReqByteRatio#0000ff:“Request Byte Ratio: “ \
GPRINT:cacheReqByteRatio:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheReqByteRatio:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheReqByteRatio:MAX:“Max \\: %8.2lf %s\\n“

report.cacheMedianIcp.name=Squid Cache Median Service ICP
report.cacheMedianIcp.columns=cacheIcpQrySvcTm, cacheIcpRepSvcTm
report.cacheMedianIcp.type=cacheMedianSvcTable
report.cacheMedianIcp.command=–title=“Squid Median Service ICP“ \
–vertical-label queries/replies \
DEF:cacheIcpQrySvcTm={rrd1}:cacheIcpQrySvcTm:AVERAGE \
DEF:cacheIcpRepSvcTm={rrd2}:cacheIcpRepSvcTm:AVERAGE \
CDEF:cacheIcpRepSvcTmNeg=0,cacheIcpRepSvcTm,- \
AREA:cacheIcpQrySvcTm#0000ff:“Queries: “ \
GPRINT:cacheIcpQrySvcTm:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheIcpQrySvcTm:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheIcpQrySvcTm:MIN:“Min \\: %8.2lf %s\\n“ \
AREA:cacheIcpRepSvcTmNeg#00ff00:“Replies: “ \
GPRINT:cacheIcpRepSvcTmNeg:AVERAGE:“ Avg \\: %8.2lf %s“ \
GPRINT:cacheIcpRepSvcTmNeg:MIN:“Min \\: %8.2lf %s“ \
GPRINT:cacheIcpRepSvcTmNeg:MAX:“Max \\: %8.2lf %s\\n“

Noch ein

service opennms restart

und fertig sind wir seitens OpenNMS.

Seitens Squid müssen folgende Einstellungen getroffen werden:

/etc/squid3/squid3.conf

acl SNMPCOMM snmp_community SNMPCOMMUNITYSTRING
acl NMSSERVER src IPADRESSE
snmp_port 3401
snmp_access allow SNMPCOMM localhost
snmp_access allow SNMPCOMM NMSSERVER

Der NMS Server muss nicht zwangsläufig freigegeben werden. Aber zu Testzwecken ist es nicht verkehrt.
Z.B. für ein:

snmpwalk -v2c -c COMMUNITYSTRING PROXYSERVER .1.3.6.1.4.1.3495.1

vom NMS Server aus.

/etc/snmp/snmpd.conf

proxy -v2c -c COMMUNITYSTRING localhost:3401 .1.3.6.1.4.1.3495.1

Hier auch noch mal das Ergebnis:
Squid_Resource_Graph

Wer noch die Verfügbarkeit des Proxydienst überwachen will muss in /etc/opennms/capsd-configuration.xml diesen Dienst hinzufügen, damit dieser auf den Maschinen gefunden wird:

    <protocol-plugin protocol="Proxy" class-name="org.opennms.netmgt.capsd.plugins.TcpPlugin" scan="on">
       <property key="port" value="3128"/>
       <property key="timeout" value="2000"/>
       <property key="retry" value="1"/>
    </protocol-plugin>

und für das Polling in /etc/opennms/poller-configuration.xml den Service:

        <service name="Proxy" interval="300000" user-defined="false" status="on">
            <parameter key="retry" value="3"/>
            <parameter key="timeout" value="3000"/>
            <parameter key="port" value="3128"/>
            <parameter key="service-name" value="Proxy"/>
        </service>

und am Ende den Monitor:

    <monitor service="Proxy" class-name="org.opennms.netmgt.poller.monitors.TcpMonitor"/>

hinzufügen.

PS: Falls mir jemand sagen kann, wie ich die Squid Einträge einfügen kann ohne sie unter Net-SNMP einzutragen und warum „Squid Current LRU Expiration“ keinen Graph anzeigt, bitte als Kommentar posten. Danke.