Documentation forSolarWinds Platform Self-Hosted

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.

  1. In the SDK, invoke the CreatePool SWIS verb of Orion.HA.Pools.

  2. Enter a name for your pool.

  3. 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

  4. Specify properties, such as VIP and Virtual Hostname.

  5. Click Invoke to complete the pool setup.

screenshot of Orion SDK - CreatePool example.

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>

&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;virtualIPResource2&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;4&lt;/value&gt;&lt;/item&gt;

&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;virtualIPResource1&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;3&lt;/value&gt;&lt;/item&gt;

</value>
</item>
  <item>
    <key>virtualIPResource1</key>
    <type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
    <value>&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;ipAddress&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;10.218.200.3&lt;/value&gt;&lt;/item&gt;</value>
  </item>
<item>
    <key>virtualIPResource2</key>
    <type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
        <value>&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;ipAddress&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;10.218.200.5&lt;/value&gt;&lt;/item&gt;</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>

&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;virtualHostNameResource2&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;4&lt;/value&gt;&lt;/item&gt;

&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;virtualHostNameResource1&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;2&lt;/value&gt;&lt;/item&gt;

</value>
</item>
  <item>
    <key>virtualHostNameResource1</key>
    <type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
    <value>&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;hostName&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;engine-kas-54198&lt;/value&gt;&lt;/item&gt;&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsType&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;Microsoft&lt;/value&gt;&lt;/item&gt;

&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsUserName&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;Administrator&lt;/value&gt;&lt;/item&gt;

&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsPassword&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;Password2&lt;/value&gt;&lt;/item&gt;


&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsIP&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;10.140.215.147&lt;/value&gt;&lt;/item&gt;&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsZone&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;is.local&lt;/value&gt;&lt;/item&gt;</value>
  </item>
<item>
    <key>virtualHostNameResource2</key>
    <type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
    <value>&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;hostName&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;engine-54199&lt;/value&gt;&lt;/item&gt;&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsType&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;Other&lt;/value&gt;&lt;/item&gt;&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsIP&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;10.140.215.147&lt;/value&gt;&lt;/item&gt;&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsZone&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;is.local&lt;/value&gt;&lt;/item&gt;</value>
  </item>
</dictionary>