#!/usr/bin/env perl # ex:ts=4 use strict; use warnings; use Cache::Memcached; my $cmd = shift || ''; if ($cmd eq 'config') { print "graph_title Memcached bytes used\n"; print "graph_args --base 1024 -l 0\n"; print "graph_vlabel bytes\n"; print "graph_category memory\n"; print "graph_info This graph monitors the size of the memcached cache.\n"; print "bytes.label bytes used\n"; print "bytes.info Number of bytes currently used\n"; print "bytes.min 0\n"; print "bytes.draw AREA\n"; print "maxbytes.label maximum available\n"; print "maxbytes.info The configured cache size\n"; print "maxbytes.min 0\n"; exit 0; } $0 =~ /memcached_bytes_(\d+_\d+_\d+_\d+)_(\d+)$/; my ($ip, $port) = ($1, $2); $ip =~ s/_/./g; my $address = "$ip:$port"; my $memd = new Cache::Memcached { 'servers' => [$address] }; my $memstats = $memd->stats(['misc']); print "bytes.value " . $memstats->{hosts}->{$address}->{misc}->{bytes} . "\n"; print "maxbytes.value " . $memstats->{hosts}->{$address}->{misc}->{limit_maxbytes} . "\n";