Projet

Général

Profil

Paste
Télécharger au format
Statistiques
| Branche: | Révision:

root / plugins / memcached / memcached_ext_hits_ @ 09b88141

Historique | Voir | Annoter | Télécharger (1,47 ko)

1
#!/usr/bin/env perl
2
# ex:ts=4
3

    
4
use strict;
5
use warnings;
6

    
7
use Cache::Memcached;
8

    
9
# Based on original plugin, extended to unix socket use
10
# https://github.com/western, westroads@gmail.com
11

    
12
=head1 example config for /plugin-conf.d/munin-node
13

    
14
 [memcached_hits_1]
15
 env.server 127.0.0.1:11211
16
 env.label "first local server"
17

    
18
 [memcached_hits_2]
19
 env.server /var/run/memcached/memcached.sock
20
 env.label "second local server"
21

    
22
=cut
23

    
24
my $label = exists $ENV{'label'} ? $ENV{'label'} : '';
25
unless( $label ){
26

    
27
	if( $0 =~ /memcached_ext_hits_([\w\d]+)$/ ){
28
		$label = $1;
29
	}
30
}
31

    
32

    
33

    
34
my $cmd = shift || '';
35
if ($cmd eq 'config') {
36
	print "graph_title Memcached cache hits and misses on $label\n";
37
	print "graph_args --base 1000 -l 0\n";
38
	print "graph_vlabel requests\n";
39
	print "graph_category memory\n";
40
	print "graph_info This graph monitors the number of cache hits and misses.\n";
41
	print "hits.label hits\n";
42
	print "hits.info Number of cache hits\n";
43
	print "hits.min 0\n";
44
	print "hits.type DERIVE\n";
45
	print "misses.label misses\n";
46
	print "misses.info Number of cache misses\n";
47
	print "misses.min 0\n";
48
	print "misses.type DERIVE\n";
49
	print "misses.draw AREA\n";
50
	exit 0;
51
}
52

    
53
my $server = exists $ENV{'server'} ? $ENV{'server'} : '127.0.0.1:11211';
54

    
55
my $memd = new Cache::Memcached { 'servers' => [$server] };
56
my $memstats = $memd->stats(['misc']);
57

    
58
print "hits.value " . $memstats->{hosts}->{$server}->{misc}->{get_hits} . "\n";
59
print "misses.value " .
60
	$memstats->{hosts}->{$server}->{misc}->{get_misses} . "\n";