diff options
-rw-r--r-- | src/.gitignore | 1 | ||||
-rw-r--r-- | src/Makefile.am | 5 | ||||
-rw-r--r-- | src/VARNISH-MIB.txt | 83 | ||||
-rw-r--r-- | src/ban.c | 191 | ||||
-rw-r--r-- | src/varnish_mib.h | 52 | ||||
-rw-r--r-- | src/varnish_mib.mib2c | 258 |
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 @@ | |||
1 | varnish_mib.c | 1 | varnish_mib.c |
2 | varnish_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 | ||
29 | BUILT_SOURCES = \ | 29 | BUILT_SOURCES = \ |
30 | varnish_mib.c | 30 | varnish_mib.c\ |
31 | varnish_mib.h | ||
31 | 32 | ||
32 | varnish_mib.c: varnish_mib.mib2c VARNISH-MIB.txt | 33 | varnish_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 | ||
11 | IMPORTS | 11 | IMPORTS |
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 | ||
17 | varnishMIB MODULE-IDENTITY | 19 | varnishMIB 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 | ||
28 | varnish OBJECT IDENTIFIER ::= { enterprises 33043 6 1 } | 30 | varnish OBJECT IDENTIFIER ::= { enterprises 33043 6 1 } |
29 | client OBJECT IDENTIFIER ::= { varnish 1 } | 31 | client 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 | ||
79 | VarnishBanString ::= TEXTUAL-CONVENTION | ||
80 | DISPLAY-HINT "1024t" | ||
81 | STATUS current | ||
82 | DESCRIPTION "" | ||
83 | SYNTAX OCTET STRING (SIZE (0..1024)) | ||
84 | |||
77 | clientBan OBJECT-TYPE | 85 | clientBan 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 | ||
539 | banTable 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 | |||
547 | varnishBanEntry 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 | |||
556 | VarnishBanEntry ::= SEQUENCE { | ||
557 | banIndex Integer32, | ||
558 | banTime DateAndTime, | ||
559 | banRefCount Counter64, | ||
560 | banExpression VarnishBanString | ||
561 | } | ||
562 | |||
563 | banIndex 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 | |||
571 | banTime 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 | |||
579 | banRefCount 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 | |||
587 | banExpression 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 | -- |
535 | varnishConfs OBJECT IDENTIFIER ::= { varnish 100 } | 598 | varnishConfs OBJECT IDENTIFIER ::= { varnish 100 } |
536 | varnishGroups OBJECT IDENTIFIER ::= { varnishConfs 1 } | 599 | varnishGroups OBJECT IDENTIFIER ::= { varnishConfs 1 } |
537 | varnishCompl OBJECT IDENTIFIER ::= { varnishConfs 2 } | 600 | varnishCompl 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 | |||
599 | varnishStandardComplianceV1 MODULE-COMPLIANCE | 667 | varnishStandardComplianceV1 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 | ||
610 | END | 677 | END |
611 | 678 | ||
612 | -- Local variables: | 679 | -- Local variables: |
@@ -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" |