diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2014-11-27 15:02:26 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2014-11-28 01:38:00 +0200 |
commit | 443bc6290a6a90b2c74612d7d68945e375af0ec3 (patch) | |
tree | 9ce32a260699786b745fbc22e69a62973e8a556e /src | |
parent | 4090bd6ff268036b5fd1fdb0fe6d344fd25b5198 (diff) | |
download | varnish-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.
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.am | 5 | ||||
-rw-r--r-- | src/VARNISH-MIB.txt | 210 | ||||
-rw-r--r-- | src/betab.c | 259 | ||||
-rw-r--r-- | src/varnish-mib.8 | 63 | ||||
-rw-r--r-- | src/varnish_mib.mib2c | 46 |
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 | |||
20 | varnish_mib_la_SOURCES = \ | 20 | varnish_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` |
40 | NET_SNMP_INCLUDES = | 41 | #NET_SNMP_INCLUDES = |
41 | NET_SNMP_LIBS = `$(NET_SNMP_CONFIG) --libs` | 42 | NET_SNMP_LIBS = `$(NET_SNMP_CONFIG) --libs` |
42 | NET_SNMP_EXLIBS = `$(NET_SNMP_CONFIG) --external-libs` | 43 | NET_SNMP_EXLIBS = `$(NET_SNMP_CONFIG) --external-libs` |
43 | NET_SNMP_MIBDIRS = `net-snmp-config --mibdirs` | 44 | NET_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 | ||
54 | AM_CPPFLAGS=-I. ${VARNISHAPI_CFLAGS} -I$NET_SNMP_INCLUDES | 55 | AM_CPPFLAGS=-I. ${VARNISHAPI_CFLAGS} |
55 | 56 | ||
56 | mibdir=@MIBDIR@ | 57 | mibdir=@MIBDIR@ |
57 | mib_DATA = varnish_mib.mib2c | 58 | mib_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 | ||
20 | varnishMIB MODULE-IDENTITY | 22 | varnishMIB 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 | |||
198 | backendRequests OBJECT-TYPE | ||
199 | SYNTAX Counter64 | ||
200 | MAX-ACCESS read-only | ||
201 | STATUS current | ||
202 | DESCRIPTION | ||
203 | "Total backend requests made." | ||
204 | ::= { backend 2 } | ||
205 | |||
206 | backendTable 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 | |||
214 | varnishBackendEntry 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 | |||
223 | VarnishBackendIdentString ::= 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 | |||
229 | varnishBackendEntry ::= 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 | |||
246 | vbeIndex 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 | |||
254 | vbeIdent 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 | |||
262 | vbeIPv4 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 | |||
271 | vbeIPv6 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 | |||
280 | vbePort OBJECT-TYPE | ||
281 | SYNTAX InetPortNumber | ||
282 | MAX-ACCESS read-only | ||
283 | STATUS current | ||
284 | DESCRIPTION | ||
285 | "Port number." | ||
286 | ::= { varnishBackendEntry 5 } | ||
287 | |||
288 | vbeHappyProbes 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 | |||
296 | vbeVcls OBJECT-TYPE | ||
297 | SYNTAX Counter64 | ||
298 | MAX-ACCESS read-only | ||
299 | STATUS current | ||
300 | DESCRIPTION | ||
301 | "Number of VCL references." | ||
302 | ::= { varnishBackendEntry 7 } | ||
303 | |||
304 | vbeRequestHeaderBytes 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 | |||
312 | vbeRequestBodyBytes 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 | |||
320 | vbeResponseHeaderBytes 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 | |||
328 | vbeResponseBodyBytes 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 | |||
336 | vbePipeHeaderBytes 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 | |||
344 | vbePipeIn OBJECT-TYPE | ||
345 | SYNTAX Counter64 | ||
346 | MAX-ACCESS read-only | ||
347 | STATUS current | ||
348 | DESCRIPTION | ||