Documentation forSolarWinds Platform Self-Hosted

Deploy SolarWinds Observability Self-Hosted on Google Cloud Platform

This guide is intended for new installations in GCP.

Requirements and recommendations

  • Deploy all components in the same region to prevent network latency issues.

  • Host the main polling engine and the database on different servers.

  • Main polling engine, Additional polling engine, and Additional web servers can be deployed on separate GCP VM instances

Requirements

Small

(up to 500 elements)

Medium

(501-2,000 elements)

Large

(more than 2,000 elements)

XL (up to 1,000,000 elements)

SolarWinds Platform server

  • CPU: 4
  • RAM: 16 GB
  • Storage type: SSD persistent disk
  • Storage IOPS: 3,000 IOPS
  • Network Bandwidth: 10 Gbps
  • CPU: 8
  • RAM: 32 GB
  • Storage type: SSD persistent disk
  • Storage IOPS: 8,000 IOPS
  • Network Bandwidth: 16 Gbps
  • CPU: 16
  • RAM: 64 GB
  • Storage type: SSD persistent disk
  • Storage IOPS: 15,000 IOPS
  • Network Bandwidth: 16 Gbps
  • CPU: 32
  • RAM: 256 GB
  • Storage type: SSD persistent disk
  • Storage IOPS: 18,000 IOPS
  • Network Bandwidth: 32 Gbps
SolarWinds Platform server software

Google Cloud Platform virtual machines with a supported Windows version:

  • Windows Server 2025
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016

Desktop OS's only for evaluations; NOT recommended for production environments.

SolarWinds Platform database on GCP SQL server
  • CPU: 4
  • RAM: 32 GB
  • Storage type: SSD persistent disk
  • Storage IOPS: 15,000 IOPS
  • Network Bandwidth: 10 Gbps
  • CPU: 8
  • RAM: 64 GB
  • Storage type: SSD persistent disk
  • Storage IOPS: 15,000 IOPS
  • Network Bandwidth: 16 Gbps
  • CPU: 16
  • RAM: 128 GB
  • Storage type: SSD persistent disk
  • Storage IOPS: 18,000 IOPS
  • Network Bandwidth: 16 Gbps
  • CPU: 64
  • RAM: 416 GB
  • Storage type: SSD persistent disk
  • Storage IOPS: 60,000 IOPS
  • Network Bandwidth: 32 Gbps

SolarWinds Platform database deployed on a GCP VM

  • CPU: 4
  • RAM: 32 GB
  • Storage type: SSD persistent disk
  • Storage IOPS: 15,000 IOPS
  • Network Bandwidth: 10 Gbps
  • CPU: 8
  • RAM: 64 GB
  • Storage type: SSD persistent disk
  • Storage IOPS: 15,000 IOPS
  • Network Bandwidth: 16 Gbps
  • CPU: 16
  • RAM: 128 GB
  • Storage type: 2x900 SSD persistent disk
  • Storage IOPS: 2x25,000 IOPS
  • Network Bandwidth: 32 Gbps
  • CPU: 96
  • RAM: 768 GB
  • Storage type: 4x1,200 SSD persistent disk
  • Storage IOPS: 4x36,000 IOPS
  • Network Bandwidth: 32 Gbps
Additional Polling Engines Only relevant for environments that monitor over 12,000 elements.
  • CPU: 16
  • RAM: 64 GB
  • Storage type: SSD persistent disk
  • Storage IOPS: 15,000 IOPS
  • Network Bandwidth: 10 Gbps
  • CPU: 32
  • RAM: 256 GB
  • Storage type: SSD persistent disk
  • Storage IOPS: 15,000 IOPS
  • Network Bandwidth: 10 Gbps
Additional Web Servers

Less than 50 concurrent users

  • CPU: 4
  • RAM: 16 GB
  • Storage type: SSD persistent disk
  • Storage IOPS: 3,000 IOPS
  • Network Bandwidth: 10 Gbps

More than 50 concurrent users

  • CPU: 8
  • RAM: 32 GB
  • Storage type: SSD persistent disk
  • Storage IOPS: 8,000 IOPS
  • Network Bandwidth: 16 Gbps

Prepare GCP - configure VPC network

  1. Create a VPC, such as swosh-vpc, and define a CIDR range, such as 10.0.0.0/24. See Create and manage VPC networks in Google Cloud documentation.

  2. Configure a subnet for the VPC network, such as us-central-subnet. See Create and manage VPC networks in Google Cloud documentation.

  3. Configure the firewall according to SolarWinds Port Requirements. After opening ports in the VPC, you also need to open the ports in Windows Firewall on each involved machine. See Use VPC firewall rules in Google Cloud documentation.

  4. Optional: Allocate IP ranges to services. For example, specify IP range private-access-range and set the range to 192.168.0.0/24. You can decide to use external or internal IP. Ensure network connectivity between all involved machines by reviewing host files.

    See Create and use internal ranges in Google Cloud documentation.

  5. Create GCP instance for the main polling engine. See Create and start a Compute Engine instance in Google Cloud documentation.

    1. Configure the machine based on requirements.

    2. For OS, select Windows server public image, or use a custom image.

    3. Create storage disks based on requirements.

    4. Choose a VPC network interface to use.

  6. Create a VM instance with SQL.

    Create GCP Cloud SQL instance

    See Create instances in Google Cloud documentation.

    1. In Google Cloud Console, create a new SQL Server instance.

    2. Set up machine configuration, database version, and storage based on requirements.

      SolarWinds recommends that you keep SQL server and the main polling engine in the same region.

    3. Optional: If you want to use Public IP - Enable public IP and configure authorized networks (allowlist your VM's external IP). You can also use Private service access and allocated IP range for more secured connectivity.

    4. For Network, use the same VPC network for the SQL server and main polling engine.

    5. Create your SQL Server Login credentials.

    6. Create the required SolarWinds databases. See More details on requirements... for details.

      • SolarWindsFlowStorage

      • SolarWindsOrion

      • SolarWindsOrionLog

    Create a VM instance with SQL

    See Creating SQL Server VM instances in Google Cloud documentation.

    1. In Google Cloud Console, create a new Windows Server instance.

    2. Set up machine configuration, OS version, and storage based on requirements.

      SolarWinds recommends that you keep SQL server and the main polling engine in the same region.

    3. Optional: If you want to use Public IP - Enable public IP and configure authorized networks (allowlist your VM's external IP). You can also use Private service access and allocated IP range for more secured connectivity.

    4. For Network, use the same VPC network for the SQL server and main polling engine.

    5. Install MS SQL server on the provisioned machine.

Install SolarWinds Observability Self-Hosted

Install SolarWinds Observability Self-Hosted on the VM you prepared for the main polling engine. See Install SolarWinds Platform products in a new environment

Optional: Install scalability engine(s)

Create a VM for the additional polling engines and additional web servers.

SolarWinds recommends that you have the instances in the same region and VPC network as the main polling engine.

Ensure connectivity between the main polling engine and the additional polling engine/additional web server instance.

Use the main polling engine internal IP or a public IP (if located outside the VPC network) to connect the dditional polling engine and additional web server.

Optional: Deploy High Availability

Before you begin

  • For high availability (HA) environments, it's recommended to have more than 16 GB of memory on each machine.

  • The VPC network must be configured to allow traffic based on SolarWinds port requirements. After opening the necessary ports in the VPC, make sure to open the same ports in Windows Firewall on each machine involved.

  • Google Cloud Platform (GCP) does not support virtual IP addresses. However, you can configure both pool members in the same subnet or in different subnets.

  • Ensure network connectivity between all machines. If machines are in different subnets, update the hosts file to allow them to communicate with each other.

Step 1: Configure Cloud DNS. See Create a private zone in Google Cloud documentation.

  • Select zone type: private

  • Note the DNS name - it will be used later in the HA pool configuration.

  • Add the VPC network used by your machines as a new network.

  • For the DNS zone, add a type A record for each machine in your environment (main polling engine, main polling engine backup, Additional polling engine, Additional polling engine backup, SQL server). See Set up DNS records for domain name with Cloud DNS in Google Cloud documentation.

Step 2: Create a pool in SolarWinds Observability Self-Hosted

See Set up a SolarWinds Platform High Availability pool. On DNS settings:

  • In DNS type, select Other.

  • In DNS Server IP Address, enter the address of your DNS server.

  • In DNS Zone, provide the DNS name you noted in Step 1.

Step 3: Create alert triggering on DNS change

“DNS Type: Other” requires creating a special alert triggering an action that will change DNS records when HA failover occurs. Use script execution on trigger.

Step 4: Create a script to update DNS record with the pool member that is currently active.

The script should be able to edit Cloud DNS zones by adding new record for xxx.local hostnames, and updating IP for this records when failover occurs.

  1. Install gcloud CLI on all main polling engine machines (main and backups). See Install the gcloud CLI for details.

  2. Initialize gcloud CLI with a service account.

    The initialization command should be run under Windows authentication user used by the Alert Action.

  3. Open cmd.exe via Run as a different user. If the default System user is used in Alert Actions, use psexec tool to open the command line as the System user. See PsExec / Sysinternals in Windows documentation.

  4. Run this command.

    psexec -i -s cmd.exe
  5. In the GCP, prepare a service account with the DNS Administrator role.

  6. In the command line, run the following command.

    gcloud auth login --cred-file=C:\path\service-account-key.json
  7. Use your own custom script to update GCP Cloud DNS records via gcloud CLI.

After a failover, you will see the correct DNS record for your hostname inside the GCP Cloud DNS.

Migrate on-prem SQL to GCP Cloud Server

If you want to migrate your on-prem SQL database to GCP cloud, complete the following steps.

Before you begin

Migration steps

  1. Create a backup of your database.

  2. Import the backup file into Cloud SQL. See Import to Cloud SQL for SQL Server in Google Cloud documentation.

  3. When the import completes, run the Configuration wizard and connect to the database in GCP.