]> gitweb.fluxo.info Git - puppet-ejabberd.git/commitdiff
cronify all munin plugins
authormh <mh@immerda.ch>
Wed, 28 Nov 2012 22:53:19 +0000 (23:53 +0100)
committermh <mh@immerda.ch>
Wed, 28 Nov 2012 22:53:19 +0000 (23:53 +0100)
files/munin/ejabberd_
files/munin/ejabberd_munin.cron [new file with mode: 0644]
manifests/munin.pp

index 1b53683de165a8f2451b49cd8012f8b48aab4689..3837fb426335eeb401bc5a4441fed317116d6eef 100755 (executable)
@@ -126,15 +126,30 @@ fi
 
 
 if [ "$MODE" == "connections" ]; then
-  echo -n "s2s_connections_out.value "
-  $EJCTL outgoing-s2s-number
-  echo -n "s2s_connections_in.value "
-  $EJCTL incoming-s2s-number
+  stat_file="/var/lib/munin/plugin-state/ejabberd_conns_out"
+  if [ -f $stat_file ]; then
+    out=$(cat $stat_file)
+  else
+    out=$($EJCTL outgoing-s2s-number)
+  fi
+  stat_file="/var/lib/munin/plugin-state/ejabberd_conns_in"
+  if [ -f $stat_file ]; then
+    in=$(cat $stat_file)
+  else
+    in=$($EJCTL incoming-s2s-number)
+  fi
+  echo "s2s_connections_out.value ${out}"
+  echo "s2s_connections_in.value ${in}"
   exit 0
 fi
 
 if [ "$MODE" == "users" ]; then
-  connected_users=`$EJCTL connected-users`
+  stat_file="/var/lib/munin/plugin-state/ejabberd_users"
+  if [ -f $stat_file ]; then
+    connected_users=$(cat $stat_file)
+  else
+    connected_users=$($EJCTL connected-users)
+  fi
   for host in $vhosts; do
     formathost=$(echo $host | tr '.-' '_')
     echo -n "connected_users_$formathost.value ";
diff --git a/files/munin/ejabberd_munin.cron b/files/munin/ejabberd_munin.cron
new file mode 100644 (file)
index 0000000..fd8b5ae
--- /dev/null
@@ -0,0 +1,4 @@
+4-59/5 * * * * root /usr/sbin/ejabberdctl outgoing-s2s-number > /var/lib/munin/plugin-state/ejabberd_conns_out && chgrp munin /var/lib/munin/plugin-state/ejabberd_conns_out && chmod o-rwx /var/lib/munin/plugin-state/ejabberd_conns_out 2>/dev/null
+4-59/5 * * * * root /usr/sbin/ejabberdctl incoming-s2s-number > /var/lib/munin/plugin-state/ejabberd_conns_in && chgrp /var/lib/munin/plugin-state/ejabberd_conns_in && chmod o-rwx /var/lib/munin/plugin-state/ejabberd_conns_in 2>/dev/null
+4-59/5 * * * * root /usr/sbin/ejabberdctl connected-users > /var/lib/munin/plugin-state/ejabberd_users && chgrp munin /var/lib/munin/plugin-state/ejabberd_users && chmod o-rwx /var/lib/munin/plugin-state/ejabberd_users 2>/dev/null
+
index 2a15630896d49eb4ca9c79c0c16bd290349350bf..f87a1b57a39f55679bb0ff50097a87f8d2e825a9 100644 (file)
@@ -8,14 +8,18 @@ class ejabberd::munin {
   munin::plugin{['ejabberd_users','ejabberd_connections','ejabberd_registrations']:
     ensure  => 'ejabberd_',
     require => [ Munin::Plugin::Deploy['ejabberd_'] ],
-    config  => "env.vhosts ${domains}\ntimeout 30\nuser root\ngroup root";
+    config  => "env.vhosts ${domains}";
+  }
+  File {
+    require => Munin::Plugin['ejabberd_registrations'],
+    owner   => root,
+    group   => 0,
+    mode    => '0700',
   }
   file{
     '/etc/cron.daily/ejabberd_registrations':
-      source  => 'puppet:///modules/ejabberd/munin/ejabberd_registrations.cron',
-      require => Munin::Plugin['ejabberd_registrations'],
-      owner   => root,
-      group   => 0,
-      mode    => '0700';
+      source  => 'puppet:///modules/ejabberd/munin/ejabberd_registrations.cron';
+    '/etc/cron.d/ejabberd_munin':
+      source  => 'puppet:///modules/ejabberd/munin/ejabberd_munin.cron';
   }
 }