2014-10-01 94 views
0

我是一名初学者,我必须采用两个Infoblox盒子的解决方案。连接到活动服务器Infoblox

当前,服务器处于活动状态(主控),另一个处于被动状态。如果第一次失败,第二次接管。我使用Perl API,当我尝试连接到服务器时,如何知道它是活动服务器还是被动服务器?

我只会令到活动服务器的连接,

我曾想过的方法«active_position()»Infoblox的::电网::成员,但我不知道如何使用它..

use strict; 
use Infoblox; 

my $grid_member = Infoblox::Grid::Member->new(gateway=> "xxx.xxx.xxx.xxx",ipv4addr=> "xxx.xxx.xxx.xxx",mask=> "xxx.xxx.xxx.xxx", name=> "ibiza.mydomain.com"); 
print 'grid : '. $grid_member . "\n"; 

my $active_server = $grid_member->active_position(); 
print $active_server . "\n"; 

exit; 

这将返回

grid : Infoblox::Grid::Member=HASH(0xf10ca8) 
0 

这是什么 “0”?

预先感谢您

+0

从CPAN使用Data :: Printer查看您的'$ grid_member'对象。 '0'是'$ active_server'中的内容。 – simbabque 2014-10-01 09:30:48

+0

我用Data :: Dumped来看看我的$ grid_member对象和属性“active_postion”等于0 ..我不知道这是什么“0”..该文档不提供更多信息.. – ifr38 2014-10-01 10:07:29

回答

0

如果您的网格法师是HA对,那么你就不需要担心要连接到的一个。您只需连接到HA对的VIP(虚拟IP),它将始终是相同的地址。

例会话测试代码:

#!/usr/bin/perl 

use strict; 
use Infoblox; 

# Create a session to the Infoblox appliance 
my $SESSION = Infoblox::Session->new(
    master => "192.168.1.2", 
    username => "admin", 
    password => "***" 
); 

if ($SESSION->status_code()) { 
    my $result = $SESSION->status_code(); 
    my $response = $SESSION->status_detail(); 
    print "Error: $response ($result)\n"; 
} else { 
    print "Connection established\n"; 
    print "Server Version: ".$SESSION->server_version()."\n"; 
} 

检查您的设备https://appianceip/api/doc API文档,还有很多很多的嵌入API文档的例子。

Steve

+0

非常感谢你很多Steve.I会测试它:) – ifr38 2014-10-02 06:08:00