Perl Script to gather iQuery Statistics
Problem this snippet solves:
This Perl script gathers iquery statistics of the entire iquery mesh
How to use this snippet:
iquery.pl < gtmsyncmember> < user> < pass>Code :
#!/usr/bin/perl
use SOAP::Lite;
use Data::Dumper;
use POSIX qw(strftime);
my $BIGIP = $ARGV[0];
my $User = $ARGV[1];
my $Pass = $ARGV[2];
sub SOAP::Transport::HTTP::Client::get_basic_credentials
{
return "$User" => "$Pass";
}
&getiquery();
sub SOAP::Deserializer::typecast
{
my ($self, $value, $name, $attrs, $children, $type) = @_;
my $retval = undef;
if ( "{urn:iControl}GlobalLB.LBMethod" == $type )
{
$retval = $value;
}
return $retval;
}
sub GetInterface()
{
my ($module, $name) = @_;
$interface = SOAP::Lite
-> uri("urn:iControl:$module/$name")
-> readable(1)
-> proxy("https://$BIGIP/iControl/iControlPortal.cgi");
eval { $interface->transport->http_request->header
( 'Authorization' => 'Basic ' . MIME::Base64::encode("$User:$Pass", '') ); };
return $interface;
}
sub getiquery()
{
$GTMiquery = &GetInterface("System", "Statistics");
$soapResponse = $GTMiquery->get_all_gtm_iquery_statistics_v2();
$iqueryget = $soapResponse->result;
foreach $iquerygetx ($iqueryget)
{
@value=@{$iquerygetx->{"statistics"}};
foreach $valuex (@value)
{
print $valuex->{"ip_address"}."\t"."\t";
print $valuex->{"connection_state"}."\t"."\t"."\t";
$datex=$valuex->{"cert_expire_time"}."\t";
print strftime('%d-%b-%Y',localtime($datex))."\t";
print $valuex->{"server"}."\n";
}
}
}Updated Jun 06, 2023
Version 2.0Anesh
Cirrostratus
Joined June 27, 2011
No CommentsBe the first to comment