2014-10-01 90 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