root / plugins / varnish / varnish2_ @ eaf6c2d7
Historique | Voir | Annoter | Télécharger (2,05 ko)
| 1 | ff70a64e | Bj?rn Ruberg | #!/usr/bin/perl |
|---|---|---|---|
| 2 | |||
| 3 | # Original author: Bj?rn Ruberg |
||
| 4 | # Updated to Varnish 2.0/added instructions: Daniel Wirtz |
||
| 5 | # |
||
| 6 | # Installation (Debian): |
||
| 7 | # 1. Upload file to /usr/share/munin/plugins |
||
| 8 | # 2. Create symlinks: |
||
| 9 | # ln -s /usr/share/munin/plugins/varnish2_ /etc/munin/plugins/varnish_cache |
||
| 10 | # ln -s /usr/share/munin/plugins/varnish2_ /etc/munin/plugins/varnish_backend |
||
| 11 | # ln -s /usr/share/munin/plugins/varnish2_ /etc/munin/plugins/varnish_shm |
||
| 12 | # 3. Restart Munin-Node: |
||
| 13 | # /etc/init.d/munin-node restart |
||
| 14 | |||
| 15 | $arg = shift @ARGV; |
||
| 16 | |||
| 17 | %aspects = ( |
||
| 18 | 'cache' => 'Cache', |
||
| 19 | 'backend' => 'Backend', |
||
| 20 | 'shm' => 'SHM' |
||
| 21 | ); |
||
| 22 | |||
| 23 | (my $whut = $0) =~ s/^.*\_//; |
||
| 24 | |||
| 25 | # Hvis $whut IKKE fins, men $arg fins OG er noe annet enn blabla |
||
| 26 | # s? skal den trigge |
||
| 27 | |||
| 28 | if (!$whut && $arg && $arg !~ /^(suggest|autoconf)$/) {
|
||
| 29 | print "Only 'suggest' and 'autoconf' may be used w/o symlinked name\n"; |
||
| 30 | exit 2; |
||
| 31 | } elsif (!$whut && !$arg) {
|
||
| 32 | print "Uh. Bugger.\n"; |
||
| 33 | exit 2; |
||
| 34 | } |
||
| 35 | |||
| 36 | if ($arg eq 'autoconf') {
|
||
| 37 | print "Autoconf starting...\n"; |
||
| 38 | exit 0; |
||
| 39 | } elsif ($arg eq 'suggest') {
|
||
| 40 | print "Suggest starting...\n"; |
||
| 41 | exit 0; |
||
| 42 | } elsif ($arg eq 'config') {
|
||
| 43 | $config = 1; |
||
| 44 | } |
||
| 45 | |||
| 46 | $grepfor = $aspects{$whut};
|
||
| 47 | # print "Looking for $grepfor\n"; |
||
| 48 | |||
| 49 | if ($config) {
|
||
| 50 | print "graph_title Varnish $grepfor usage\n"; |
||
| 51 | print "graph_args --base 1000\n"; |
||
| 52 | print "graph_vlabel Activity / \${graph_period}\n";
|
||
| 53 | eaf6c2d7 | dipohl | print "graph_category webserver\n"; |
| 54 | ff70a64e | Bj?rn Ruberg | } |
| 55 | |||
| 56 | $i = 0; |
||
| 57 | foreach $line (`varnishstat -1`) {
|
||
| 58 | chomp $line; |
||
| 59 | if ($line =~ /\s+(\d+)\s+\d+\.\d+\s+($grepfor.*)$/) {
|
||
| 60 | $val = $1; |
||
| 61 | $key = $2; |
||
| 62 | ($printkey = lc ($key)) =~ s/\s/_/g; |
||
| 63 | if ($config) {
|
||
| 64 | print "$printkey\.label $key\n"; |
||
| 65 | print "$printkey\.type DERIVE\n"; |
||
| 66 | print "$printkey\.min 0\n"; |
||
| 67 | print "$printkey\.draw "; |
||
| 68 | if ($i == 0) {
|
||
| 69 | print "AREA\n"; |
||
| 70 | } else {
|
||
| 71 | print "STACK\n"; |
||
| 72 | } |
||
| 73 | $i++; |
||
| 74 | } else {
|
||
| 75 | print "$printkey\.value $val\n"; |
||
| 76 | } |
||
| 77 | } |
||
| 78 | } |
||
| 79 | |||
| 80 | exit; |
