aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2014-11-19 19:47:20 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2014-11-19 19:47:20 +0200
commitb3759f3dd958e453dfa3a12e6ab3cb3a48430cc2 (patch)
tree451a85042d17750716ace41830edbec5a8af5643
parentea3cf7a61094789123c30d8ff5edfd0e43b4fe38 (diff)
downloadvarnish-mib-b3759f3dd958e453dfa3a12e6ab3cb3a48430cc2.tar.gz
varnish-mib-b3759f3dd958e453dfa3a12e6ab3cb3a48430cc2.tar.bz2
Use 64-bit counters
* src/Makefile.am (varnish_mib.c): Depend on VARNISH-MIB.txt * src/VARNISH-MIB.txt: Change all counters to 64 bit Fix time-stamp-format variable. * src/varnish_mib.mib2c: Handle ASN_COUNTER64
-rw-r--r--src/Makefile.am2
-rw-r--r--src/VARNISH-MIB.txt46
-rw-r--r--src/varnish_mib.mib2c11
3 files changed, 35 insertions, 24 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 439cdb3..a0e7e72 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -26,13 +26,13 @@ varnish_mib_la_SOURCES = \
varnish_mib.h\
vcli.c
BUILT_SOURCES = \
varnish_mib.c
-varnish_mib.c: varnish_mib.mib2c
+varnish_mib.c: varnish_mib.mib2c VARNISH-MIB.txt
.mib2c.c:
MIBDIRS=${top_srcdir}/src:${NET_SNMP_MIBDIRS} MIBS="+VARNISH-MIB" \
mib2c -c $< -f $@ varnish
#NET_SNMP_INCLUDES = `$(NET_SNMP_CONFIG) --cflags`
diff --git a/src/VARNISH-MIB.txt b/src/VARNISH-MIB.txt
index b632924..4732745 100644
--- a/src/VARNISH-MIB.txt
+++ b/src/VARNISH-MIB.txt
@@ -6,67 +6,67 @@ VARNISH-MIB DEFINITIONS ::= BEGIN
-- Varnish reverse proxy MIB
-- by Shared Autonomous sYstems
--
-- *************************************************************
IMPORTS
- MODULE-IDENTITY, OBJECT-TYPE, enterprises, Counter32
+ MODULE-IDENTITY, OBJECT-TYPE, enterprises, Counter64
FROM SNMPv2-SMI
OBJECT-GROUP, MODULE-COMPLIANCE
FROM SNMPv2-CONF;
varnishMIB MODULE-IDENTITY
- LAST-UPDATED "201411191038Z"
+ LAST-UPDATED "201411191934Z"
ORGANIZATION "Shared Autonomous sYstems"
CONTACT-INFO "mhe@say.no"
DESCRIPTION
"This MIB module defines objects for Varnish reverse web proxy."
- REVISION "201411191038Z"
+ REVISION "201411191934Z"
DESCRIPTION
"Initial version."
::= { varnish 0 }
varnish OBJECT IDENTIFIER ::= { enterprises 33043 6 1 }
client OBJECT IDENTIFIER ::= { varnish 1 }
backend OBJECT IDENTIFIER ::= { varnish 2 }
total OBJECT IDENTIFIER ::= { varnish 3 }
clientAcceptedConnections OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Client connections accepted"
::= { client 1 }
clientRequestsReceived OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Client requests received"
::= { client 2 }
clientCacheHits OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Cache hits"
::= { client 3 }
clientCacheHitsPass OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Cache hits for pass"
::= { client 4 }
clientCacheMisses OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Cache misses"
::= { client 5 }
@@ -79,117 +79,117 @@ clientBan OBJECT-TYPE
argument to ban. When read, returns an empty string."
::= { client 6 }
connections OBJECT IDENTIFIER ::= { backend 1 }
backendConnSuccess OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Backend connections success"
::= { connections 1 }
backendConnNotAttempted OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Backend connections not attempted"
::= { connections 2 }
backendConnToMany OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Backend connections too many"
::= { connections 3 }
backendConnFailures OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Backend connections failures"
::= { connections 4 }
backendConnReuses OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Backend connections reuses"
::= { connections 5 }
backendConnRecycled OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Backend connections recycles"
::= { connections 6 }
backendConnUnused OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Backend connections unused"
::= { connections 7 }
totalSessions OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total Sessions"
::= { total 1 }
totalRequests OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total Requests"
::= { total 2 }
totalPipe OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total pipe"
::= { total 3 }
totalPass OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total pass"
::= { total 4 }
totalFetch OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total fetch"
::= { total 5 }
totalHeaderBytes OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total header bytes"
::= { total 6 }
totalBodyBytes OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total body bytes"
::= { total 7 }
@@ -247,10 +247,10 @@ varnishStandardComplianceV1 MODULE-COMPLIANCE
END
-- Local variables:
-- eval: (add-hook 'write-file-hooks 'time-stamp)
-- time-stamp-start: "\\(LAST-UPDATED\\|REVISION\\) *\""
-- time-stamp-end: "\""
--- time-stamp-format: "%:y%:m%:d%:H%:MZ"
+-- time-stamp-format: "%:y%02m%02d%02H%02MZ"
-- time-stamp-line-limit: 25
-- time-stamp-count: 2
-- end:
diff --git a/src/varnish_mib.mib2c b/src/varnish_mib.mib2c
index 6be8cd7..1bb91ce 100644
--- a/src/varnish_mib.mib2c
+++ b/src/varnish_mib.mib2c
@@ -128,17 +128,28 @@ handle_$i(netsnmp_mib_handler *handler,
switch(reqinfo->mode) {
case MODE_GET:
@if $varnish_type eq 'MAIN'@
{
struct VSC_C_main const *st = VSC_Main(vd, NULL);
+ @if $i.type eq 'ASN_COUNTER64'@
+ struct counter64 ctr;
+ if (!st)
+ return SNMP_ERR_NOSUCHNAME;
+ ctr.high = st->$varnish_member >> 32;
+ ctr.low = st->$varnish_member & 0xffffffff;
+ snmp_set_var_typed_value(requests->requestvb, $i.type,
+ &ctr,
+ sizeof(ctr));
+ @else@
if (!st)
return SNMP_ERR_NOSUCHNAME;
snmp_set_var_typed_value(requests->requestvb, $i.type,
&st->$varnish_member,
sizeof(st->$varnish_member));
+ @end@
}
@elsif $varnish_type eq 'STRING'@
{
const char *s = "$varnish_member";
snmp_set_var_typed_value(requests->requestvb, $i.type,
s, strlen(s));

Return to:

Send suggestions and report system problems to the System administrator.