summaryrefslogtreecommitdiffabout
path: root/src
Unidiff
Diffstat (limited to 'src') (more/less context) (show whitespace changes)
-rw-r--r--src/Makefile.am2
-rw-r--r--src/VARNISH-MIB.txt6
-rw-r--r--src/auth.c2
-rw-r--r--src/backend.h3
-rw-r--r--src/ban.c2
-rw-r--r--src/belex.l17
-rw-r--r--src/modconf.c17
-rw-r--r--src/varnish-mib.885
-rw-r--r--src/vcli.c2
9 files changed, 99 insertions, 37 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 55cdb85..5c79dfc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,5 +1,5 @@
1# This file is part of varnish-mib -*- automake -*- 1# This file is part of varnish-mib -*- automake -*-
2# Copyright (C) 2014-2015 Sergey Poznyakoff 2# Copyright (C) 2014-2018 Sergey Poznyakoff
3# 3#
4# varnish-mib is free software; you can redistribute it and/or modify 4# varnish-mib is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by 5# it under the terms of the GNU General Public License as published by
diff --git a/src/VARNISH-MIB.txt b/src/VARNISH-MIB.txt
index 6b03f21..b7e77f1 100644
--- a/src/VARNISH-MIB.txt
+++ b/src/VARNISH-MIB.txt
@@ -20,14 +20,14 @@ IMPORTS
20 FROM SNMPv2-CONF; 20 FROM SNMPv2-CONF;
21 21
22varnishMIB MODULE-IDENTITY 22varnishMIB MODULE-IDENTITY
23 LAST-UPDATED "201802020845Z" 23 LAST-UPDATED "201802052024Z"
24 ORGANIZATION "Shared Autonomous sYstems" 24 ORGANIZATION "Shared Autonomous sYstems"
25 CONTACT-INFO "Morten Hermanrud <mhe@say.no> 25 CONTACT-INFO "Morten Hermanrud <mhe@say.no>
26 Sergey Poznyakoff <gray@gnu.org> 26 Sergey Poznyakoff <gray@gnu.org>
27 " 27 "
28 DESCRIPTION 28 DESCRIPTION
29 "This MIB module defines objects for Varnish reverse web proxy." 29 "This MIB module defines objects for Varnish reverse web proxy."
30 REVISION "201802020845Z" 30 REVISION "201802052024Z"
31 DESCRIPTION 31 DESCRIPTION
32 "Second revision." 32 "Second revision."
33 ::= { varnish 0 } 33 ::= { varnish 0 }
@@ -854,7 +854,7 @@ objectsPurges OBJECT-TYPE
854 MAX-ACCESS read-only 854 MAX-ACCESS read-only
855 STATUS current 855 STATUS current
856 DESCRIPTION 856 DESCRIPTION
857 "Number of purge operations executed" 857 "Number of purge operations executed."
858 ::= { objects 8 } 858 ::= { objects 8 }
859 859
860objectsObjPurged OBJECT-TYPE 860objectsObjPurged OBJECT-TYPE
diff --git a/src/auth.c b/src/auth.c
index e9abbe4..2ff6aba 100644
--- a/src/auth.c
+++ b/src/auth.c
@@ -1,5 +1,5 @@
1/* This file is part of varnish-mib -*- c -*- 1/* This file is part of varnish-mib -*- c -*-
2 Copyright (C) 2014-2015 Sergey Poznyakoff 2 Copyright (C) 2014-2018 Sergey Poznyakoff
3 3
4 Varnish-mib is free software; you can redistribute it and/or modify 4 Varnish-mib is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by 5 it under the terms of the GNU General Public License as published by
diff --git a/src/backend.h b/src/backend.h
index d60f613..b13e644 100644
--- a/src/backend.h
+++ b/src/backend.h
@@ -5,8 +5,7 @@ typedef struct be_string {
5 5
6typedef void (*regfun_t)(be_string_t *, be_string_t *, be_string_t *, void *); 6typedef void (*regfun_t)(be_string_t *, be_string_t *, be_string_t *, void *);
7 7
8void read_defs(const char *str, size_t len, regfun_t regfun, void *d); 8struct vsm;
9void varnish_backend_table_timeout_parser(const char *token, char *line);
10struct VSC_point; 9struct VSC_point;
11void backend_register(char const *name, size_t len, char const *param, 10void backend_register(char const *name, size_t len, char const *param,
12 const struct VSC_point *vpt); 11 const struct VSC_point *vpt);
diff --git a/src/ban.c b/src/ban.c
index 1f4583b..a50b5a3 100644
--- a/src/ban.c
+++ b/src/ban.c
@@ -1,5 +1,5 @@
1/* This file is part of varnish-mib -*- c -*- 1/* This file is part of varnish-mib -*- c -*-
2 Copyright (C) 2014-2015 Sergey Poznyakoff 2 Copyright (C) 2014-2018 Sergey Poznyakoff
3 3
4 Varnish-mib is free software; you can redistribute it and/or modify 4 Varnish-mib is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by 5 it under the terms of the GNU General Public License as published by
diff --git a/src/belex.l b/src/belex.l
index f35f114..bc0bfc0 100644
--- a/src/belex.l
+++ b/src/belex.l
@@ -1,3 +1,20 @@
1/* This file is part of varnish-mib
2 Copyright (C) 2018 Sergey Poznyakoff
3
4 Varnish-mib is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 3, or (at your option)
7 any later version.
8
9 Varnish-mib is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with varnish-mib. If not, see <http://www.gnu.org/licenses/>.
16*/
17
1%option nounput 18%option nounput
2%option noinput 19%option noinput
3 20
diff --git a/src/modconf.c b/src/modconf.c
index 85b2582..64177c1 100644
--- a/src/modconf.c
+++ b/src/modconf.c
@@ -1,3 +1,20 @@
1/* This file is part of varnish-mib
2 Copyright (C) 2018 Sergey Poznyakoff
3
4 Varnish-mib is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 3, or (at your option)
7 any later version.
8
9 Varnish-mib is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with varnish-mib. If not, see <http://www.gnu.org/licenses/>.
16*/
17
1#include "varnish_mib.h" 18#include "varnish_mib.h"
2#include <ctype.h> 19#include <ctype.h>
3 20
diff --git a/src/varnish-mib.8 b/src/varnish-mib.8
index 8d86f18..77912af 100644
--- a/src/varnish-mib.8
+++ b/src/varnish-mib.8
@@ -1,5 +1,5 @@
1.\" This file is part of Varnish-mib -*- nroff -*- 1.\" This file is part of Varnish-mib -*- nroff -*-
2.\" Copyright (C) 2014-2016 Sergey Poznyakoff 2.\" Copyright (C) 2014-2018 Sergey Poznyakoff
3.\" 3.\"
4.\" Varnish-mib is free software; you can redistribute it and/or modify 4.\" Varnish-mib is free software; you can redistribute it and/or modify
5.\" it under the terms of the GNU General Public License as published by 5.\" it under the terms of the GNU General Public License as published by
@@ -13,9 +13,9 @@
13.\" 13.\"
14.\" You should have received a copy of the GNU General Public License 14.\" You should have received a copy of the GNU General Public License
15.\" along with Varnish-mib. If not, see <http://www.gnu.org/licenses/>. 15.\" along with Varnish-mib. If not, see <http://www.gnu.org/licenses/>.
16.TH VARNISH-MIB 8 "February 2, 2018" "varnish-mib" 16.TH VARNISH-MIB 8 "February 5, 2018" "varnish-mib"
17.SH NAME 17.SH NAME
18varnish\-mib \- net-snmp module for obtaining Varnish Cache statistics 18varnish\-mib \- Net-SNMP module for Varnish Cache monitoring
19.SH SYNOPSIS 19.SH SYNOPSIS
20In \fBsnmpd.conf\fR(5): 20In \fBsnmpd.conf\fR(5):
21.PP 21.PP
@@ -27,23 +27,49 @@ that provides access to Varnish Cache statistics. The module is
27loaded into 27loaded into
28.BR snmpd (8) 28.BR snmpd (8)
29as shown above (actual path can of course differ, depending on how 29as shown above (actual path can of course differ, depending on how
30the package was configured). The module is written for Varnish 30the package was configured). This version is written for Varnish
31version \fB5.\fIX\fR. 31\fB5.2.0\fR.
32.PP 32.PP
33The module obtains most of the data using Varnish API, and \fBvarnishd\fR 33The values in the OID branches
34administrative interface. You should make sure that \fBsnmpd\fR is 34.BR client ,
35able to access both data sources. 35.BR total ,
36.BR master ,
37.BR session ,
38.BR threads ", and "
39.B objects
40are obtained from Varnish API.
36.PP 41.PP
37The user \fBsnmpd\fR runs as should be able to read contents of the 42The OID branches
38\fB/var/lib/varnish/\fIHOSTNAME\fB/_.vsm_mgt\fR directory and read 43.BR backend ,
39files located in it. It must also have read permission on the varnish 44.BR bans ", and "
40secret file. 45.B vcl
46are obtained using \fBvarnishd\fR administrative interface (similar
47to
48.BR varnishadm (8)).
49.PP
50To retrieve this information, the module must
51have enough permissions to scan the Varnish management directory and
52read files located in it. This directory is normally named
53\fB/var/lib/varnish/\fIHOSTNAME\fB/_.vsm_mgt\fR, where \fIHOSTNAME\fR
54stands for the server's hostname. Unless
55.BR snmpd (8)
56is run as root, special measures should be undertaken in order to
57grant access rights. For example, if the daemon runs as user
58\fBsnmp\fR, running the following two commands after starting
59\fBvarnishd\fR will do the trick:
60
61.EX
62 setfacl -m u:snmp:rx /var/lib/varnish/$(hostname)/_.vsm_mgt
63 setfacl -m u:snmp:r /var/lib/varnish/$(hostname)/_.vsm_mgt/*
64.EE
65.PP
66
41.SH CONFIGURATION OPTIONS 67.SH CONFIGURATION OPTIONS
42Configuration statements specific to 68Configuration statements specific to
43.B varnish\-mib 69.B varnish\-mib
44must appear in the 70must appear in the
45.B snmpd.conf 71.B snmpd.conf
46file below the 72file, after the
47.B dlmod 73.B dlmod
48statement that loads the module. 74statement that loads the module.
49.PP 75.PP
@@ -64,36 +90,38 @@ Update interval for \fBbackendTable\fR. Default is 5 seconds.
64Sets timeout for I/O operations with Varnish administrative port. 90Sets timeout for I/O operations with Varnish administrative port.
65Default is 5 seconds. 91Default is 5 seconds.
66.PP 92.PP
67The following two statements are not normally needed, since 93The following two statements are not normally needed, but are
68\fBvarnish-mib\fR obtains this information automatically. 94provided for completeness sake:
69.TP 95.TP
70\fBvarnishCLISocket\fR \fIADDRESS\fR[:\fIPORT\fR] 96\fBvarnishCLISocket\fR \fIADDRESS\fR[:\fIPORT\fR]
71Sets the address of Varnish administrative interface 97Sets the address of Varnish administrative interface
72socket. 98socket.
73.TP 99.TP
74\fBvarnishCLISecretFile\fR \fIFILE\fR 100\fBvarnishCLISecretFile\fR \fIFILE\fR
75Pathname of the Varnish secret file. 101Sets the pathname of the Varnish secret file.
76.SH DEBUGGING 102.SH DEBUGGING
77The module defines the following debugging tokens: 103The module defines the following debugging tokens:
78.TP 104.TP
79.B varnish_mib 105.B varnish_mib
80General debugging information. 106Produces general debugging information.
81.TP 107.TP
82.B varnish_mib:ban 108.B varnish_mib:ban
83Debug ban table loading. 109Outputs verbose report about loading th ban table.
84.TP 110.TP
85.B varnish_mib:vcli 111.B varnish_mib:vcli
86Varnish 112Displays additional information regarding varnish
87.B CLI 113.B CLI
88interaction. 114interaction.
89.TP 115.TP
90.B varnish_mib:vcli:transcript 116.B varnish_mib:vcli:transcript
91Enables full transcript of CLI interaction. 117Enables full transcript of varnish CLI session.
92.TP 118.TP
93.B varnish_mib:backend 119.B varnish_mib:backend
94Debug loading the backend information. 120Outputs verbose information about loading the backend information.
95.SH OIDS 121.SH OIDS
96The following OIDs are defined: 122The following OIDs are defined in the
123.B VARNISH-MIB.txt
124file:
97.SS Branch \(dqclient\(dq 125.SS Branch \(dqclient\(dq
98.TP 126.TP
99.B clientAcceptedConnections 127.B clientAcceptedConnections
@@ -122,9 +150,9 @@ A write-only OID. When set, invalidates the cache using the supplied
122value as argument to ban. When read, returns an empty string. E.g., 150value as argument to ban. When read, returns an empty string. E.g.,
123to invalidate caches of all \fBpng\fR images: 151to invalidate caches of all \fBpng\fR images:
124 152
125.EE
126snmpset \fBhostname\fR VARNISH\-MIB::clientBan.0 s 'req.url ~ \(dq\\.png$\(dq'
127.EX 153.EX
154snmpset \fIhostname\fR VARNISH\-MIB::clientBan.0 s 'req.url ~ \(dq\\.png$\(dq'
155.EE
128.SS Branch \(dqbackend\(dq 156.SS Branch \(dqbackend\(dq
129.TP 157.TP
130.B backendConnSuccess 158.B backendConnSuccess
@@ -258,7 +286,8 @@ Number of sessions dropped because session queue was full.
258Number of sessions closed. 286Number of sessions closed.
259.TP 287.TP
260.B sessPipeline 288.B sessPipeline
261Session pipeline. This variable is available only in Varnish version \fR4.0\fR. 289This OID was used in Varnish \fR4.1\fR, but disappeared from version
290\fB5.0\fR.
262.TP 291.TP
263.B sessReadAhead 292.B sessReadAhead
264Session read-ahead. 293Session read-ahead.
@@ -273,8 +302,8 @@ Number of sessions dropped for thread.
273Number of session accept failures. 302Number of session accept failures.
274.TP 303.TP
275.B sessPipeOverflow 304.B sessPipeOverflow
276Number of session pipe overflows. This variable is available only in 305This OID was used in Varnish \fR4.1\fR, but disappeared in version
277Varnish version \fR4.0\fR. 306\fB5.0\fR.
278.SS Branch \(dqthreads\(dq 307.SS Branch \(dqthreads\(dq
279.TP 308.TP
280.B threadsPools 309.B threadsPools
@@ -367,7 +396,7 @@ of \fBbansTotal\fR variable. The default update interval is 60
367seconds. It can be configured in the \fBsnmpd.conf\fR file 396seconds. It can be configured in the \fBsnmpd.conf\fR file
368(see the \fBvarnishBanTableTimeout\fR statement above). 397(see the \fBvarnishBanTableTimeout\fR statement above).
369.SS Branch \(dqagent\(dq 398.SS Branch \(dqagent\(dq
370The \fBagent\fR branch is reserved for OIDs for 399The \fBagent\fR branch is reserved for
371implementation-specific management. It is not used currently. 400implementation-specific management. It is not used currently.
372.SH NOTES 401.SH NOTES
373The following OIDs were used in Varnish 4. They are no longer 402The following OIDs were used in Varnish 4. They are no longer
diff --git a/src/vcli.c b/src/vcli.c
index 7d6c2b9..94f0eef 100644
--- a/src/vcli.c
+++ b/src/vcli.c
@@ -1,5 +1,5 @@
1/* This file is part of varnish-mib -*- c -*- 1/* This file is part of varnish-mib -*- c -*-
2 Copyright (C) 2014-2015 Sergey Poznyakoff 2 Copyright (C) 2014-2018 Sergey Poznyakoff
3 3
4 Varnish-mib is free software; you can redistribute it and/or modify 4 Varnish-mib is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by 5 it under the terms of the GNU General Public License as published by

Return to:

Send suggestions and report system problems to the System administrator.