use BigIP::iControl;
use Data::Dumper;
my $ic = BigIP::iControl->new(
server => '10.99.10.60',
username => 'xxxx',
password => '123456',
port => 443,
proto => 'https'
);
my $pool=$ARGV[0];
# foreach my $member ($ic->get_ltm_pool_members($pool)) {
# print $pool.'->'."$member
";
#print '----------------------------------------------------'."
";
##返回数组引用ARRAY(0x331277c)
#print $ic->get_pool_member_object_status ($pool);
#print @{$ic->get_pool_member_object_status ($pool)};
#print Dumper(@{$ic->get_pool_member_object_status ($pool)});
foreach $a (@{$ic->get_pool_member_object_status ($pool)}){
#print $a;
#print "
";
#print @{$a};
#print "
";
#print Dumper(@{$a});
#print "
";
#print "
";
foreach (@{$a}){
#print $_;
#print "
";
#print Dumper($_);
foreach $key (keys %{$_})
{
#print "$key=>${$_}{$key}
";
my $b=${$_}{$key};
#print $pool.'->'.$member.':'."
";
my %h=%{$b};
foreach $a (keys %{$b}){
#print '-------------------'."
";
#print "$a=>${$b}{$a}
";
#print '-------------------'."
";
if ($a eq 'address'){
$address=${$b}{$a};
};
if ($a eq 'port'){
$port=${$b}{$a};
};
if ($a eq 'availability_status'){
if (${$b}{$a} eq 'AVAILABILITY_STATUS_RED'){
#print %{$b};
#print "
";
#print "$pool".'->'."$address".":$port".'->'."$a RED now".'->'.${$b}{$a};
print "$pool".'->'."$address".":$port".'->'."$a RED NOW";
print "
";
};
if (${$b}{$a} eq 'AVAILABILITY_STATUS_GREEN'){
print "$pool".'->'."$address".":$port".'->'."$a GREEN NOW";
print "
";
};
#print $pool.'->'.$member.':'."
";
};
} ;
};
};
};
# };
C:Users lcbDesktop mpf5>perl get_pool_member_object_status.pl JinRongYunPT_
changjing__18810_pool
JinRongYunPT_changjing__18810_pool->10.4.161.138:18810->availability_status GR
EEN NOW
JinRongYunPT_changjing__18810_pool->10.4.161.139:18810->availability_status RED
NOW