File munin-plugin-quota_usage_warnings.patch of Package munin

--- plugins/node.d.linux/quota_usage_.in.orig	2013-03-13 19:39:31.000000000 +0100
+++ plugins/node.d.linux/quota_usage_.in	2013-03-13 19:41:16.000000000 +0100
@@ -6,6 +6,11 @@
 # ln -s), for example quota-usage_hda3. Use underscores instead of slashes, for
 # example to monitor /dev/mapper/vol-foo, name this quota-usage_mapper_vol-foo
 #
+# This plugin uses the soft and hard quota data for warning and critical
+# levels respectively.
+#
+# Source: https://svn.koumbit.net/koumbit/trunk/munin-plugins/quota-usage
+#
 # Parameters understood:
 #
 # 	config   (required)
@@ -28,7 +33,14 @@
 	chomp;
 	if (/^-+$/../^$/) {
 		my @data = split(/ +/);
-		$users{$data[0]} = $data[2] if (@data > 2 && $data[2] > 0);
+
+		next if !$data[0] || $data[0] =~ /^#/;
+
+		if ( @data > 2 && $data[2] > 0 ) {
+		  $users{$data[0]}[0] = $data[2]; # current usage
+		  $users{$data[0]}[1] = $data[3]; # Soft quota
+		  $users{$data[0]}[2] = $data[4]; # Hard quota
+		}
 	}
 }
 close REP;
@@ -45,15 +57,26 @@
 		$name = $user if (length($name) < length($user));
 		$user = clean_fieldname($user);
 		$name = (split(/,/, $name))[0];
+
 		printf "%s.label %s\n", $user, $name;
 		printf "%s.cdef %s,1024,*\n", $user, $user;
-		printf "%s.graph no\n", $user if ($uid < 1000);
+
+		if ($users{$user}[1] && $users{$user}[1] > 0) {
+		  printf "%s.warning %s\n", $user, $users{$user}[1];
+		}
+		if ($users{$user}[2] && $users{$user}[2] > 0) {
+		  printf "%s.critical %s\n", $user, $users{$user}[2];
+		}
+
+		if ($uid < 200) {
+		  printf "%s.graph no\n", $user
+		}
 	}
 } else {
 	for my $user (@users_by_usage) {
 		my $esc = $user;
 		$esc = clean_fieldname($esc);
-		printf "%s.value %s\n", $esc, $users{$user};
+		printf "%s.value %s\n", $esc, $users{$user}[0];
 	}
 }
 
openSUSE Build Service is sponsored by