1
0
Fork 0
mirror of https://github.com/munin-monitoring/contrib.git synced 2025-07-22 02:51:03 +00:00

Fix issue when seconds is greater than two digits.

Also only use one query rather than a loop.
This commit is contained in:
Colin Mollenhour 2014-10-15 17:11:35 -04:00
parent da06d5f459
commit e9bda2bab6

View file

@ -45,9 +45,7 @@ use strict;
my $MYSQLADMIN = $ENV{mysqladmin} || "mysql"; my $MYSQLADMIN = $ENV{mysqladmin} || "mysql";
my $MYSQLOPTS = $ENV{mysqlopts} || ""; my $MYSQLOPTS = $ENV{mysqlopts} || "";
my $COMMAND = "$MYSQLADMIN $MYSQLOPTS -e 'show slave status\\G' | grep 'Seconds_Behind_Master'";
my %WANTED = ( "Seconds" => "seconds",
);
my $arg = shift(); my $arg = shift();
@ -66,37 +64,10 @@ if ($arg eq 'config') {
my $seconds = 0; my $seconds = 0;
my (@infos,$info,$i_seconds); my (@infos,$info,$i_seconds);
my $COMMAND = "$MYSQLADMIN $MYSQLOPTS -e 'show slave status;' | grep 'Slave'"; my $info = `$COMMAND`;
$info =~ /: (\d+)/;
open(SERVICE, "$COMMAND |") print("seconds.value $1\n");
or die("Coult not execute '$COMMAND': $!");
while (<SERVICE>) {
(@infos) = split;
}
close(SERVICE);
my $i = 0;
foreach $info (@infos) {
$i++;
if ($info eq 'Seconds_Behind_Master') {
$i_seconds = $i;
next;
}
}
$COMMAND = "$MYSQLADMIN $MYSQLOPTS -e 'show slave status;' | cut -f $i_seconds | grep -v leng";
open(SERVICE, "$COMMAND |")
or die("Coult not execute '$COMMAND': $!");
while (<SERVICE>) {
(m/(\d+).*?(\d+(?:\.\d+)?)/);
$seconds += $1;
}
close(SERVICE);
print("seconds.value $seconds\n");
sub print_config { sub print_config {