Create or manage High Availability multi-clustering using the SolarWinds Platform API
This topic applies only to SolarWinds Observability Self-Hosted.
Use the SolarWinds SDK to set up or manage HA pools with multiple active and standby servers for your Additional polling engines via the SolarWinds Platform API. See also Set up a SolarWinds Platform High Availability pool. You can also use the SolarWinds Platform Web Console UI to create and manage HA multi-cluster pools, see Set up High Availability pools with multiple active and standby servers (HA multi-clustering), and Disable or delete HA pools, force a failover, or update an HA pool for SolarWinds Platform products.
- HA reports pool status as partially operational even though all active members are healthy.
- A VIP or Virtual Hostname can be assigned to a HA Pool with only two servers and cannot be assigned to individual pool members.
Requirements
- All polling engines must have the same version
- An activated SolarWinds Observability Self-Hosted Enterprise Scale license
Create a HA pool
Use SolarWinds SDK to create a HA pool with multiple members.
-
In the SDK, invoke the
CreatePool
SWIS verb ofOrion.HA.Pools
. -
Enter a name for your pool.
-
Add the pool member IDs using an
ArrayOfint
.When the HA pool has more than two members, the VIP and Virtual Hostname cannot be used. Instead, you have the option to use an external load balancer if you plan to send inbound data to SolarWinds servers. For more information, see Recommendations for using a network load balancer for the SolarWinds Platform
-
Specify properties, such as VIP and Virtual Hostname.
-
Click Invoke to complete the pool setup.
As a result, a new HA pool is created.
Manage a HA pool
More tools are available in the SDK to help you manage your HA pools. Invoke the EditPool
, EnablePool
, and other SWIS verbs as part of Orion.HA.Pools
to manage existing HA pools.
Parameters with XML Examples
Parameters for VIP
Parameter name | type |
---|---|
ipAddress | string |
XML example for VIP
<dictionary xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag">
<item>
<key>resourceInstancesMemberOverrides</key>
<type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
<value>
<item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>virtualIPResource2</key><type>System.String</type><value>4</value></item>
<item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>virtualIPResource1</key><type>System.String</type><value>3</value></item>
</value>
</item>
<item>
<key>virtualIPResource1</key>
<type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
<value><item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>ipAddress</key><type>System.String</type><value>10.218.200.3</value></item></value>
</item>
<item>
<key>virtualIPResource2</key>
<type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
<value><item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>ipAddress</key><type>System.String</type><value>10.218.200.5</value></item></value>
</item>
</dictionary>
Parameters for DNS
Parameter name | Type | Notes |
---|---|---|
hostName | string | test-host |
dnsType | string | Microsoft | BIND | Other |
dnsIP | string | IPv4 of DNS server |
dnsZone | string | DNS zone where DNS record to be updated, such as rg.local |
dnsUserName | string | DNS user name (WMI credentials for Microsoft DNS) |
dnsPassword | string | DNS password |
XML example for DNS
<dictionary xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag">
<item>
<key>resourceInstancesMemberOverrides</key>
<type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
<value>
<item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>virtualHostNameResource2</key><type>System.String</type><value>4</value></item>
<item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>virtualHostNameResource1</key><type>System.String</type><value>2</value></item>
</value>
</item>
<item>
<key>virtualHostNameResource1</key>
<type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
<value><item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>hostName</key><type>System.String</type><value>engine-kas-54198</value></item><item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>dnsType</key><type>System.String</type><value>Microsoft</value></item>
<item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>dnsUserName</key><type>System.String</type><value>Administrator</value></item>
<item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>dnsPassword</key><type>System.String</type><value>Password2</value></item>
<item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>dnsIP</key><type>System.String</type><value>10.140.215.147</value></item><item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>dnsZone</key><type>System.String</type><value>is.local</value></item></value>
</item>
<item>
<key>virtualHostNameResource2</key>
<type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
<value><item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>hostName</key><type>System.String</type><value>engine-54199</value></item><item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>dnsType</key><type>System.String</type><value>Other</value></item><item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>dnsIP</key><type>System.String</type><value>10.140.215.147</value></item><item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"><key>dnsZone</key><type>System.String</type><value>is.local</value></item></value>
</item>
</dictionary>