aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2014-11-27 15:02:26 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2014-11-28 01:38:00 +0200
commit443bc6290a6a90b2c74612d7d68945e375af0ec3 (patch)
tree9ce32a260699786b745fbc22e69a62973e8a556e
parent4090bd6ff268036b5fd1fdb0fe6d344fd25b5198 (diff)
downloadvarnish-mib-443bc6290a6a90b2c74612d7d68945e375af0ec3.tar.gz
varnish-mib-443bc6290a6a90b2c74612d7d68945e375af0ec3.tar.bz2
Implement backend statistics table.
* src/betab.c: New file. * src/Makefile.am (varnish_mib_la_SOURCES): Add betab.c * src/VARNISH-MIB.txt: Add backendTable oids * src/varnish_mib.mib2c: Implement totalPipeHeaderBytes, totalPipeIn, totalPipeOut, backendRequests and backendTable. * src/varnish-mib.8: Document changes.
-rw-r--r--src/Makefile.am5
-rw-r--r--src/VARNISH-MIB.txt210
-rw-r--r--src/betab.c259
-rw-r--r--src/varnish-mib.863
-rw-r--r--src/varnish_mib.mib2c46
5 files changed, 575 insertions, 8 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 4643fde..a10abd1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -20,6 +20,7 @@ dlmod_LTLIBRARIES = varnish-mib.la
20varnish_mib_la_SOURCES = \ 20varnish_mib_la_SOURCES = \
21 auth.c\ 21 auth.c\
22 ban.c\ 22 ban.c\
23 betab.c\
23 sha256.c\ 24 sha256.c\
24 sha256.h\ 25 sha256.h\
25 varnish_mib.c\ 26 varnish_mib.c\
@@ -37,7 +38,7 @@ varnish_mib.c varnish_mib.h: varnish_mib.mib2c VARNISH-MIB.txt
37 mib2c -c $< -f $@ varnish 38 mib2c -c $< -f $@ varnish
38 39
39#NET_SNMP_INCLUDES = `$(NET_SNMP_CONFIG) --cflags` 40#NET_SNMP_INCLUDES = `$(NET_SNMP_CONFIG) --cflags`
40NET_SNMP_INCLUDES = 41#NET_SNMP_INCLUDES =
41NET_SNMP_LIBS = `$(NET_SNMP_CONFIG) --libs` 42NET_SNMP_LIBS = `$(NET_SNMP_CONFIG) --libs`
42NET_SNMP_EXLIBS = `$(NET_SNMP_CONFIG) --external-libs` 43NET_SNMP_EXLIBS = `$(NET_SNMP_CONFIG) --external-libs`
43NET_SNMP_MIBDIRS = `net-snmp-config --mibdirs` 44NET_SNMP_MIBDIRS = `net-snmp-config --mibdirs`
@@ -51,7 +52,7 @@ AM_LDFLAGS = \
51 $(NET_SNMP_LIBS)\ 52 $(NET_SNMP_LIBS)\
52 $(NET_SNMP_EXLIBS) 53 $(NET_SNMP_EXLIBS)
53 54
54AM_CPPFLAGS=-I. ${VARNISHAPI_CFLAGS} -I$NET_SNMP_INCLUDES 55AM_CPPFLAGS=-I. ${VARNISHAPI_CFLAGS}
55 56
56mibdir=@MIBDIR@ 57mibdir=@MIBDIR@
57mib_DATA = varnish_mib.mib2c 58mib_DATA = varnish_mib.mib2c
diff --git a/src/VARNISH-MIB.txt b/src/VARNISH-MIB.txt
index fe91735..bb6075d 100644
--- a/src/VARNISH-MIB.txt
+++ b/src/VARNISH-MIB.txt
@@ -14,18 +14,20 @@ IMPORTS
14 FROM SNMPv2-SMI 14 FROM SNMPv2-SMI
15 DateAndTime 15 DateAndTime
16 FROM SNMPv2-TC 16 FROM SNMPv2-TC
17 InetAddressIPv4, InetAddressIPv6, InetPortNumber,
18 FROM INET-ADDRESS-MIB
17 OBJECT-GROUP, MODULE-COMPLIANCE 19 OBJECT-GROUP, MODULE-COMPLIANCE
18 FROM SNMPv2-CONF; 20 FROM SNMPv2-CONF;
19 21
20varnishMIB MODULE-IDENTITY 22varnishMIB MODULE-IDENTITY
21 LAST-UPDATED "201411261613Z" 23 LAST-UPDATED "201411280136Z"
22 ORGANIZATION "Shared Autonomous sYstems" 24 ORGANIZATION "Shared Autonomous sYstems"
23 CONTACT-INFO "Morten Hermanrud <mhe@say.no> 25 CONTACT-INFO "Morten Hermanrud <mhe@say.no>
24 Sergey Poznyakoff <gray@gnu.org> 26 Sergey Poznyakoff <gray@gnu.org>
25 " 27 "
26 DESCRIPTION 28 DESCRIPTION
27 "This MIB module defines objects for Varnish reverse web proxy." 29 "This MIB module defines objects for Varnish reverse web proxy."
28 REVISION "201411261044Z" 30 REVISION "201411280136Z"
29 DESCRIPTION 31 DESCRIPTION
30 "Second revision." 32 "Second revision."
31 ::= { varnish 0 } 33 ::= { varnish 0 }
@@ -192,6 +194,168 @@ backendConnRetry OBJECT-TYPE
192 DESCRIPTION 194 DESCRIPTION
193 "Backend connections retried." 195 "Backend connections retried."
194 ::= { connections 8 } 196 ::= { connections 8 }
197
198backendRequests OBJECT-TYPE
199 SYNTAX Counter64
200 MAX-ACCESS read-only
201 STATUS current
202 DESCRIPTION
203 "Total backend requests made."
204 ::= { backend 2 }
205
206backendTable OBJECT-TYPE
207 SYNTAX SEQUENCE OF VarnishBackendEntry
208 MAX-ACCESS not-accessible
209 STATUS current
210 DESCRIPTION
211 "A table of configured backends and their statistics"
212 ::= { backend 3 }
213
214varnishBackendEntry OBJECT-TYPE
215 SYNTAX VarnishBackendEntry
216 MAX-ACCESS not-accessible
217 STATUS current
218 DESCRIPTION
219 "An entry (conceptual row) describing a backend."
220 INDEX { vbeIndex }
221 ::= { backendTable 1 }
222
223VarnishBackendIdentString ::= TEXTUAL-CONVENTION
224 DISPLAY-HINT "256t"
225 STATUS current
226 DESCRIPTION "An identifier of a Varnish backend."
227 SYNTAX OCTET STRING (SIZE (0..256))
228
229varnishBackendEntry ::= SEQUENCE {
230 vbeIndex Integer32,
231 vbeIdent VarnishBackendIdentString,
232 vbeIPv4 InetAddressIPv4,
233 vbeIPv6 InetAddressIPv6,
234 vbePort InetPortNumber,
235 vbeHappyProbes Counter64,
236 vbeVcls Counter64,
237 vbeRequestHeaderBytes Counter64,
238 vbeRequestBodyBytes Counter64,
239 vbeResponseHeaderBytes Counter64,
240 vbeResponseBodyBytes Counter64,
241 vbePipeHeaderBytes Counter64,
242 vbePipeIn Counter64,
243 vbePipeOut Counter64
244}
245
246vbeIndex OBJECT-TYPE
247 SYNTAX Integer32
248 MAX-ACCESS not-accessible
249 STATUS current
250 DESCRIPTION
251 "A number uniquely identifying each backend."
252 ::= { varnishBackendEntry 1 }
253
254vbeIdent OBJECT-TYPE
255 SYNTAX VarnishBackendIdentString
256 MAX-ACCESS read-only
257 STATUS current
258 DESCRIPTION
259 "Textual identifier of the backend."
260 ::= { varnishBackendEntry 2 }
261
262vbeIPv4 OBJECT-TYPE
263 SYNTAX InetAddressIPv4
264 MAX-ACCESS read-only
265 STATUS current
266 DESCRIPTION
267 "IPv4 address of the backend. Empty if the backend has no
268 IPv4 address."
269 ::= { varnishBackendEntry 3 }
270
271vbeIPv6 OBJECT-TYPE
272 SYNTAX InetAddressIPv6
273 MAX-ACCESS read-only
274 STATUS current
275 DESCRIPTION
276 "IPv6 address of the backend. Empty if the backend has no
277 IPv6 address."
278 ::= { varnishBackendEntry 4 }
279
280vbePort OBJECT-TYPE
281 SYNTAX InetPortNumber
282 MAX-ACCESS read-only
283 STATUS current
284 DESCRIPTION
285 "Port number."
286 ::= { varnishBackendEntry 5 }
287
288vbeHappyProbes OBJECT-TYPE
289 SYNTAX Counter64
290 MAX-ACCESS read-only
291 STATUS current
292 DESCRIPTION
293 "Number of successful health probes."
294 ::= { varnishBackendEntry 6 }
295
296vbeVcls OBJECT-TYPE
297 SYNTAX Counter64
298 MAX-ACCESS read-only
299 STATUS current
300 DESCRIPTION
301 "Number of VCL references."
302 ::= { varnishBackendEntry 7 }
303
304vbeRequestHeaderBytes OBJECT-TYPE
305 SYNTAX Counter64
306 MAX-ACCESS read-only
307 STATUS current
308 DESCRIPTION
309 "Total number of request header bytes sent to that backend."
310 ::= { varnishBackendEntry 8 }
311
312vbeRequestBodyBytes OBJECT-TYPE
313 SYNTAX Counter64
314 MAX-ACCESS read-only
315 STATUS current
316 DESCRIPTION
317 "Total number of request body bytes sent to that backend."
318 ::= { varnishBackendEntry 9 }
319
320vbeResponseHeaderBytes OBJECT-TYPE
321 SYNTAX Counter64
322 MAX-ACCESS read-only
323 STATUS current
324 DESCRIPTION
325 "Total number of response header bytes received from that backend."
326 ::= { varnishBackendEntry 10 }
327
328vbeResponseBodyBytes OBJECT-TYPE
329 SYNTAX Counter64
330 MAX-ACCESS read-only
331 STATUS current
332 DESCRIPTION
333 "Total number of response body bytes received from that backend."
334 ::= { varnishBackendEntry 11 }
335
336vbePipeHeaderBytes OBJECT-TYPE
337 SYNTAX Counter64
338 MAX-ACCESS read-only
339 STATUS current
340 DESCRIPTION
341 "Total number of header bytes piped to that backend."
342 ::= { varnishBackendEntry 12 }
343
344vbePipeIn OBJECT-TYPE
345 SYNTAX Counter64
346 MAX-ACCESS read-only
347 STATUS current
348 DESCRIPTION
349 "Total number of bytes piped to that backend."
350 ::= { va