2016-12-16 7 views
-1

ロードバランサがトラフィックを配信しているサーバのIDを探したいと思います。Softlayer APIはロードバランサdestinationIpAddressを取得します

https://sldn.softlayer.com/reference/datatypes/SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress

我々は、次の質問に概説のコールの一部を試してきましたが、サーバをリストする方法を見つけることができていないようです。

softlayer local Load Balancer manage API

それは、ロードバランサがにトラフィックを配布しているサーバのリストを取得することはできますか?ありがとう!

答えて

0

あなたは次のREST要求を使用して、ロードバランサがにトラフィックを配布しているサーバーのリストを取得することができますかあなたにも、このPythonスクリプトを使用できます。

https://$username:[email protected]/rest/v3/SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress/$loadBalancerId/getVirtualServers.json?objectMask=mask[serviceGroups[services[ipAddress[virtualGuest]]]] 
Method: GET 

Pythonスクリプトを

""" 
Retrieve the servers that a load balancer is distributing traffic to. 

Important manual pages: 
http://sldn.softlayer.com/reference/services/SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress 
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress 
http://sldn.softlayer.com/reference/services/SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress/getVirtualServers 

License: http://sldn.softlayer.com/article/License 
Author: SoftLayer Technologies, Inc. <[email protected]> 
""" 

import SoftLayer 
import json 

# Your SoftLayer API username and key. 
USERNAME = 'set me' 
API_KEY = 'set me' 

loadBalancerId = 79945 

client = SoftLayer.Client(username=USERNAME, api_key=API_KEY) 
loadBalancerService = client['SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress'] 
objectMask = 'mask[serviceGroups[id,services[id,ipAddress[virtualGuest]]]]' 

try: 
    virtualServers = loadBalancerService.getVirtualServers(mask=objectMask, id=loadBalancerId) 
    print(json.dumps(virtualServers, sort_keys=True, indent=2, separators=(',', ': '))) 
except SoftLayer.SoftLayerAPIError as e: 
    print("Unable to retrieve Virtual Servers. faultCode=%s, faultString=%s" % (e.faultCode, e.faultString)) 
    exit(1) 
0

これを試してください:

https://$username:[email protected]/rest/v3/SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress/$loadBalancerId/getVirtualServers.json?objectMask=mask[id,serviceGroups[id,services[id,ipAddress[id,virtualGuest[id,hostname,domain]]]]] 

Method: Get 

これは、仮想ゲスト(ID、ホスト名とドメイン)ロード・バランサに属します。

関連する問題