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
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)