2016-12-16 4 views
-1

Ich möchte herausfinden, die IDs der Server ein Load Balancer verteilt Verkehr zu.Softlayer-API erhalten Sie Load Balancer DestinationIpAddress

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

Wir haben mit einigen der Anrufe über die folgende Frage skizzierte experimentiert, aber offenbar nicht in der Lage sein, einen Weg zu finden, um die Server aufzulisten.

softlayer local Load Balancer manage API

Ist es möglich, eine Liste der Server zu erhalten, die der Lastausgleich für den Verkehr verteilt? Vielen Dank!

Antwort

0

können Sie die Liste der Server erhalten, die ein Load-Balancer für den Verkehr verteilt, um die nächste REST Anfrage oder Sie könnten diese Python-Skript verwenden auch:

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-Skript

""" 
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

Try this:

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 

Es wird die virtuellen Gäste (id, Hostname und Domäne) liefern welches zum Load Balancer gehört.