#!/usr/local/bin/perl -w # # $|++; use LWP::Simple; my $server = shift || 'wks%02s.click21.com.br'; my $count = shift || 4; my @Status = qw( _ S R K D L G . ); my ( %Info, %Status ); my @Info = qw( BusyServers IdleServers CPULoad ReqPerSec ); my $data; my $n; my $Mask = "http://$server/server-status?auto"; printf " " x 14; map { printf(" %s ", $_ ) } @Status; print "\t"; map { printf(" %4s", substr($_,0,4) ) } @Info; print "\n"; for( $n = 1; $n <= $count; $n++ ) { $data = get(sprintf($Mask, $n)); foreach my $l ( split(/\n/, $data) ) { $Info{$1} = $2 if ( $l =~ m/^([^:]+):\s+(.*)/ ); } # Define group status foreach ( @Status ) { $Status{$_} = ( $Info{Scoreboard} =~ s/$_//g ) || '-'; } printf "%10s: ", substr( sprintf($server, $n), 0, 10 ); map { printf(" %3s", $Status{$_}) } @Status; print "\t"; map { printf(" %-4s", substr($Info{$_},0,4) ) } @Info; print "\n"; }