aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/.gitignore1
-rw-r--r--src/Makefile.am5
-rw-r--r--src/VARNISH-MIB.txt83
-rw-r--r--src/ban.c191
-rw-r--r--src/varnish_mib.h52
-rw-r--r--src/varnish_mib.mib2c258
6 files changed, 503 insertions, 87 deletions
diff --git a/src/.gitignore b/src/.gitignore
index 49f397c..61958b7 100644
--- a/src/.gitignore
+++ b/src/.gitignore
@@ -1 +1,2 @@
1varnish_mib.c 1varnish_mib.c
2varnish_mib.h
diff --git a/src/Makefile.am b/src/Makefile.am
index a0e7e72..4643fde 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -24,15 +24,16 @@ varnish_mib_la_SOURCES = \
24 sha256.h\ 24 sha256.h\
25 varnish_mib.c\ 25 varnish_mib.c\
26 varnish_mib.h\ 26 varnish_mib.h\
27 vcli.c 27 vcli.c
28 28
29BUILT_SOURCES = \ 29BUILT_SOURCES = \
30 varnish_mib.c 30 varnish_mib.c\
31 varnish_mib.h
31 32
32varnish_mib.c: varnish_mib.mib2c VARNISH-MIB.txt 33varnish_mib.c varnish_mib.h: varnish_mib.mib2c VARNISH-MIB.txt
33 34
34.mib2c.c: 35.mib2c.c:
35 MIBDIRS=${top_srcdir}/src:${NET_SNMP_MIBDIRS} MIBS="+VARNISH-MIB" \ 36 MIBDIRS=${top_srcdir}/src:${NET_SNMP_MIBDIRS} MIBS="+VARNISH-MIB" \
36 mib2c -c $< -f $@ varnish 37 mib2c -c $< -f $@ varnish
37 38
38#NET_SNMP_INCLUDES = `$(NET_SNMP_CONFIG) --cflags` 39#NET_SNMP_INCLUDES = `$(NET_SNMP_CONFIG) --cflags`
diff --git a/src/VARNISH-MIB.txt b/src/VARNISH-MIB.txt
index cde935a..47e39c8 100644
--- a/src/VARNISH-MIB.txt
+++ b/src/VARNISH-MIB.txt
@@ -8,22 +8,24 @@ VARNISH-MIB DEFINITIONS ::= BEGIN
8-- 8--
9-- ************************************************************* 9-- *************************************************************
10 10
11IMPORTS 11IMPORTS
12 MODULE-IDENTITY, OBJECT-TYPE, enterprises, Counter64, TimeTicks 12 MODULE-IDENTITY, OBJECT-TYPE, enterprises, Counter64, TimeTicks
13 FROM SNMPv2-SMI 13 FROM SNMPv2-SMI
14 DateAndTime
15 FROM SNMPv2-TC
14 OBJECT-GROUP, MODULE-COMPLIANCE 16 OBJECT-GROUP, MODULE-COMPLIANCE
15 FROM SNMPv2-CONF; 17 FROM SNMPv2-CONF;
16 18
17varnishMIB MODULE-IDENTITY 19varnishMIB MODULE-IDENTITY
18 LAST-UPDATED "201411241848Z" 20 LAST-UPDATED "201411260759Z"
19 ORGANIZATION "Shared Autonomous sYstems" 21 ORGANIZATION "Shared Autonomous sYstems"
20 CONTACT-INFO "mhe@say.no" 22 CONTACT-INFO "mhe@say.no"
21 DESCRIPTION 23 DESCRIPTION
22 "This MIB module defines objects for Varnish reverse web proxy." 24 "This MIB module defines objects for Varnish reverse web proxy."
23 REVISION "201411241848Z" 25 REVISION "201411260759Z"
24 DESCRIPTION 26 DESCRIPTION
25 "Initial version." 27 "Initial version."
26 ::= { varnish 0 } 28 ::= { varnish 0 }
27 29
28varnish OBJECT IDENTIFIER ::= { enterprises 33043 6 1 } 30varnish OBJECT IDENTIFIER ::= { enterprises 33043 6 1 }
29client OBJECT IDENTIFIER ::= { varnish 1 } 31client OBJECT IDENTIFIER ::= { varnish 1 }
@@ -71,14 +73,20 @@ clientCacheMisses OBJECT-TYPE
71 MAX-ACCESS read-only 73 MAX-ACCESS read-only
72 STATUS current 74 STATUS current
73 DESCRIPTION 75 DESCRIPTION
74 "Cache misses" 76 "Cache misses"
75 ::= { client 5 } 77 ::= { client 5 }
76 78
79VarnishBanString ::= TEXTUAL-CONVENTION
80 DISPLAY-HINT "1024t"
81 STATUS current
82 DESCRIPTION ""
83 SYNTAX OCTET STRING (SIZE (0..1024))
84
77clientBan OBJECT-TYPE 85clientBan OBJECT-TYPE
78 SYNTAX OCTET STRING (SIZE(0..1024)) 86 SYNTAX VarnishBanString
79 MAX-ACCESS read-write 87 MAX-ACCESS read-write
80 STATUS current 88 STATUS current
81 DESCRIPTION 89 DESCRIPTION
82 "When set, invalidates the cache using the supplied value as 90 "When set, invalidates the cache using the supplied value as
83 argument to ban. When read, returns an empty string." 91 argument to ban. When read, returns an empty string."
84 ::= { client 6 } 92 ::= { client 6 }
@@ -524,14 +532,69 @@ bansPersistedFragmentation OBJECT-TYPE
524 SYNTAX Counter64 532 SYNTAX Counter64
525 MAX-ACCESS read-only 533 MAX-ACCESS read-only
526 STATUS current 534 STATUS current
527 DESCRIPTION 535 DESCRIPTION
528 "Extra bytes in persisted ban lists due to fragmentation" 536 "Extra bytes in persisted ban lists due to fragmentation"
529 ::= { bans 17 } 537 ::= { bans 17 }
530
531 538
539banTable OBJECT-TYPE
540 SYNTAX SEQUENCE OF VarnishBanEntry
541 MAX-ACCESS not-accessible
542 STATUS current
543 DESCRIPTION
544 "The (conceptual) table listing available bans"
545 ::= { bans 18 }
546
547varnishBanEntry OBJECT-TYPE
548 SYNTAX VarnishBanEntry
549 MAX-ACCESS not-accessible
550 STATUS current
551 DESCRIPTION
552 "An entry (conceptual row) representing a ban"
553 INDEX { banIndex }
554 ::= { banTable 1 }
555
556VarnishBanEntry ::= SEQUENCE {
557 banIndex Integer32,
558 banTime DateAndTime,
559 banRefCount Counter64,
560 banExpression VarnishBanString
561}
562
563banIndex OBJECT-TYPE
564 SYNTAX Integer32
565 MAX-ACCESS not-accessible
566 STATUS current
567 DESCRIPTION
568 "A number uniquely identifying each ban"
569 ::= { varnishBanEntry 1 }
570
571banTime OBJECT-TYPE
572 SYNTAX DateAndTime
573 MAX-ACCESS read-only
574 STATUS current
575 DESCRIPTION
576 "Time when the ban was created"
577 ::= { varnishBanEntry 2 }
578
579banRefCount OBJECT-TYPE
580 SYNTAX Counter32
581 MAX-ACCESS read-only
582 STATUS current
583 DESCRIPTION
584 "Number of references to this ban"
585 ::= { varnishBanEntry 3 }
586
587banExpression OBJECT-TYPE
588 SYNTAX VarnishBanString
589 MAX-ACCESS read-only
590 STATUS current
591 DESCRIPTION
592 "VCL expression of the ban"
593 ::= { varnishBanEntry 4 }
594
532-- 595--
533-- Groups and Compliance 596-- Groups and Compliance
534-- 597--
535varnishConfs OBJECT IDENTIFIER ::= { varnish 100 } 598varnishConfs OBJECT IDENTIFIER ::= { varnish 100 }
536varnishGroups OBJECT IDENTIFIER ::= { varnishConfs 1 } 599varnishGroups OBJECT IDENTIFIER ::= { varnishConfs 1 }
537varnishCompl OBJECT IDENTIFIER ::= { varnishConfs 2 } 600varnishCompl OBJECT IDENTIFIER ::= { varnishConfs 2 }
@@ -582,14 +645,19 @@ varnishGroup OBJECT-GROUP
582 threadsPools, 645 threadsPools,
583 threadsTotal, 646 threadsTotal,
584 threadsLimitHits, 647 threadsLimitHits,
585 threadsCreated, 648 threadsCreated,
586 threadsDestroyed, 649 threadsDestroyed,
587 threadsFailed, 650 threadsFailed,
588 threadsQueueLength 651 threadsQueueLength,
589 652 banTable,
653 varnishBanEntry,
654 banIndex,
655 banTime,
656 banRefCount,
657 banExpression
590 } 658 }
591 659
592 STATUS current 660 STATUS current
593 DESCRIPTION "Group of Varnish objects" 661 DESCRIPTION "Group of Varnish objects"
594 ::= { varnishGroups 1 } 662 ::= { varnishGroups 1 }
595 663
@@ -599,14 +667,13 @@ varnishGroup OBJECT-GROUP
599varnishStandardComplianceV1 MODULE-COMPLIANCE 667varnishStandardComplianceV1 MODULE-COMPLIANCE
600 STATUS current 668 STATUS current
601 DESCRIPTION 669 DESCRIPTION
602 "Compliance for an Varnish agent" 670 "Compliance for an Varnish agent"
603 671
604 MODULE 672 MODULE
605 MANDATORY-GROUPS { 673 MANDATORY-GROUPS { varnishGroup }
606 varnishGroup}
607 674
608 ::= { varnishCompl 1 } 675 ::= { varnishCompl 1 }
609 676
610END 677END
611 678
612-- Local variables: 679-- Local variables:
diff --git a/src/ban.c b/src/ban.c
index a091e37..a3941ab 100644
--- a/src/ban.c
+++ b/src/ban.c
@@ -13,12 +13,13 @@
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*/ 16*/
17 17
18#include "varnish_mib.h"