From: Tom Hughes Date: Sat, 14 Mar 2015 16:09:58 +0000 (+0000) Subject: Add munin plugin to monitor rrdcached X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/d118d2178b14eefa5a486e528d730956175fdf40?ds=sidebyside Add munin plugin to monitor rrdcached --- diff --git a/cookbooks/munin/files/default/plugins/munin_rrdcached b/cookbooks/munin/files/default/plugins/munin_rrdcached new file mode 100644 index 000000000..9f9cb6db9 --- /dev/null +++ b/cookbooks/munin/files/default/plugins/munin_rrdcached @@ -0,0 +1,45 @@ +#!/usr/bin/perl -w +# -*- cperl -*- + +use strict; +use warnings; + +use IO::Socket::UNIX; + +$| = 1; + +my $arg = shift; +if ($arg && $arg eq "config") { + print "graph_title Munin rrdcached statistics\n"; + print "graph_category munin\n"; + print "QueueLength.label Queue length\n"; + print "UpdatesReceived.label UpdatesReceived\n"; + print "UpdatesReceived.type DERIVE\n"; + print "FlushesReceived.label FlushesReceived\n"; + print "FlushesReceived.type DERIVE\n"; + print "UpdatesWritten.label UpdatesWritten\n"; + print "UpdatesWritten.type DERIVE\n"; + print "DataSetsWritten.label DataSetsWritten\n"; + print "DataSetsWritten.type DERIVE\n"; + print "TreeNodesNumber.label TreeNodesNumber\n"; + print "TreeDepth.label TreeDepth\n"; + print "JournalBytes.label JournalBytes\n"; + print "JournalBytes.type DERIVE\n"; + print "JournalRotate.label JournalRotate\n"; + print "JournalRotate.type DERIVE\n"; + exit 0; +} + +my $sock = new IO::Socket::UNIX( + Type => SOCK_STREAM, + Peer => "/var/run/rrdcached.sock", +) or die "Cannot open socket : $!"; + +print $sock "STATS\n"; +print $sock "QUIT\n"; + +# skip first line +<$sock>; +print map { s/: /.value /; $_; } <$sock>; + +exit 0; diff --git a/cookbooks/munin/recipes/server.rb b/cookbooks/munin/recipes/server.rb index 84c739e49..8d9759960 100644 --- a/cookbooks/munin/recipes/server.rb +++ b/cookbooks/munin/recipes/server.rb @@ -72,3 +72,4 @@ end munin_plugin "munin_stats" munin_plugin "munin_update" +munin_plugin "munin_rrdcached"