mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-22 02:51:03 +00:00
Gearmand workers count and jobs queue
This commit is contained in:
parent
88e1563b48
commit
04ad36b605
2 changed files with 105 additions and 0 deletions
44
plugins/gearman/gearman_queue
Executable file
44
plugins/gearman/gearman_queue
Executable file
|
@ -0,0 +1,44 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
my $HOST = exists $ENV{'host'} ? $ENV{'host'} : "localhost";
|
||||||
|
my $PORT = exists $ENV{'port'} ? $ENV{'port'} : "4730";
|
||||||
|
my $ADMIN = exists $ENV{'admin'} ? $ENV{'admin'} : "gearadmin";
|
||||||
|
|
||||||
|
my @result = `$ADMIN -h$HOST -p$PORT --status 2>&1`;
|
||||||
|
|
||||||
|
my $gearman = {};
|
||||||
|
my $keys = ["queue", "running", "total"];
|
||||||
|
|
||||||
|
foreach my $line (@result) {
|
||||||
|
last if ($line =~ /\./);
|
||||||
|
my @array = split(/\s+/, $line);
|
||||||
|
chomp @array;
|
||||||
|
my $string_name = shift @array;
|
||||||
|
my %hash;
|
||||||
|
@hash{@$keys} = @array;
|
||||||
|
|
||||||
|
$gearman->{$string_name}=\%hash;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (defined $ARGV[0] and $ARGV[0] eq 'config') {
|
||||||
|
print "graph_title Gearman queue\n";
|
||||||
|
print "graph_args --base 1000\n";
|
||||||
|
print "graph_vlabel jobs\n";
|
||||||
|
print "graph_category Gearman\n";
|
||||||
|
while ( my ($key, $value) = each(%$gearman) ) {
|
||||||
|
my $param = $key."_"."queue";
|
||||||
|
print "$param.type GAUGE\n";
|
||||||
|
print "$param.label $param\n";
|
||||||
|
print "$param.draw LINE\n";
|
||||||
|
print "$param.min 0\n";
|
||||||
|
}
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
while ( my ($key, $value) = each(%$gearman) ) {
|
||||||
|
my $param = $key."_"."queue";
|
||||||
|
print "$param.value ".$value->{"queue"}."\n";
|
||||||
|
}
|
61
plugins/gearman/gearman_workers
Executable file
61
plugins/gearman/gearman_workers
Executable file
|
@ -0,0 +1,61 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Data::Dumper;
|
||||||
|
|
||||||
|
my $HOST = exists $ENV{'host'} ? $ENV{'host'} : "localhost";
|
||||||
|
my $PORT = exists $ENV{'port'} ? $ENV{'port'} : "4730";
|
||||||
|
my $ADMIN = exists $ENV{'admin'} ? $ENV{'admin'} : "gearadmin";
|
||||||
|
|
||||||
|
my @result = `$ADMIN -h$HOST -p$PORT --status 2>&1`;
|
||||||
|
|
||||||
|
my $gearman = {};
|
||||||
|
my $keys = ["queue", "running", "total"];
|
||||||
|
|
||||||
|
foreach my $line (@result) {
|
||||||
|
last if ($line =~ /\./);
|
||||||
|
my @array = split(/\s+/, $line);
|
||||||
|
chomp @array;
|
||||||
|
my $string_name = shift @array;
|
||||||
|
my %hash;
|
||||||
|
@hash{@$keys} = @array;
|
||||||
|
|
||||||
|
$gearman->{$string_name}=\%hash;
|
||||||
|
};
|
||||||
|
|
||||||
|
sub hashValueTotalDesc {
|
||||||
|
my (%hash) = @_;
|
||||||
|
return $hash{$b}->{"total"} <=> $hash{$a}->{"total"};
|
||||||
|
}
|
||||||
|
|
||||||
|
my @sorted = sort { hashValueTotalDesc (%$gearman) } keys %$gearman;
|
||||||
|
|
||||||
|
if (defined $ARGV[0] and $ARGV[0] eq 'config') {
|
||||||
|
print "graph_title Gearman workers\n";
|
||||||
|
print "graph_args --base 1000\n";
|
||||||
|
print "graph_vlabel workers\n";
|
||||||
|
print "graph_category Gearman\n";
|
||||||
|
foreach my $key (@sorted) {
|
||||||
|
my $param = $key."_"."total";
|
||||||
|
print "$param.type GAUGE\n";
|
||||||
|
print "$param.label $param\n";
|
||||||
|
print "$param.draw AREA\n";
|
||||||
|
print "$param.min 0\n";
|
||||||
|
}
|
||||||
|
foreach my $key (@sorted) {
|
||||||
|
my $param = $key."_"."running";
|
||||||
|
print "$param.type GAUGE\n";
|
||||||
|
print "$param.label $param\n";
|
||||||
|
print "$param.draw LINE\n";
|
||||||
|
print "$param.min 0\n";
|
||||||
|
}
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
while ( my ($key, $value) = each(%$gearman) ) {
|
||||||
|
my $param = $key."_"."running";
|
||||||
|
print "$param.value ".$value->{"running"}."\n";
|
||||||
|
$param = $key."_"."total";
|
||||||
|
print "$param.value ".$value->{"total"}."\n";
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue