Deploying an SL1 Virtual Machine in Azure

Download this manual as a PDF file

This section describes how to deploy a ScienceLogic virtual machine in Azure from a VHD image file.

NOTE: If you are looking for resources and support for Azure, see the Microsoft Azure Marketplace: https://azuremarketplace.microsoft.com/.

NOTE: If you are configuring a Database, ScienceLogic recommends allocating four times the memory for the Database as compared to the memory for the Data Collectors.

TIP: A single Azure image file can be used to create multiple virtual machines. For example, you can use the same Azure VHD file for the Database Server to create multiple Database Servers.

High Availability for Azure deployments is supported for installations of 12.1.x and later that are running on Oracle Linux 8 (OL8). ScienceLogic recommends that customers running SL1 versions prior to 12.1.x upgrade to 12.1.x or later and then complete the High Availability setup and configuration. For more information about upgrading, see the section on Updating SL1.

Use the following menu options to navigate the SL1 user interface:

  • To view a pop-out list of menu options, click the menu icon ().
  • To view a page containing all of the menu options, click the Advanced menu icon ().

Prerequisites for Installing SL1 in Azure

To deploy an SL1 appliance in Azure, you need the following components:

In addition, before attempting to deploy SL1 in Azure, you should confirm that the following prerequisites are all true: 

  • Your Azure policies allow you to create a new virtual machine from the ScienceLogic VHD.

  • Your virtual machine naming convention does not conflict with any existing policies in Azure.

  • You are using virtual networks and subnets that allow access and the creation of new virtual machines.

  • Your resource group allows you to create new virtual networks.

System Requirements

For details about supported hypervisors and the requirements and specifications for each SL1 appliance, see the ScienceLogic Support Site: https://support.sciencelogic.com/s/system-requirements

Deploying an SL1 System in Azure

This section provides the information you need to deploy SL1 in Azure and includes procedures for each step.

SL1 Appliance Deployment Order for Distributed Systems

To deploy a distributed SL1 system on Azure instances, create appliances in this order:

  1. Database Server
  2. Administration Portal (if applicable)
  3. Data Collectors
  4. Message Collectors (if applicable)

Installing and Configuring the Azure CLI

Azure CLI is a tool that lets you manage resources in Azure. To complete the SL1 installation on Azure using the procedures in this section, you must have the Azure CLI tool installed.

To install and configure the Azure CLI tool:

  1. Download and install the Azure CLI tool from the Microsoft website:

    https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?view=azure-cli-latest

  2. After installation completes, search for and click on "PowerShell" in Windows to start the program.
  3. In PowerShell, type "az login". You will be prompted to sign into your Microsoft Azure account. After you log in, you will see information about your Azure subscription within the PowerShell window.

Configuring an Azure Resource Group and Storage Account

To create and configure an Azure storage account:

  1. Log in to the Azure Portal, and then click Resource groups on the left menu.
  2. Click the Add button and add information for a new Resource group. Click the Create resource group button to create the Resource group.
  3. After creating the Resource group, click Storage accounts on the left menu.
  4. Click the Add button, and then click the Create Storage accounts button to create a new Storage account. When creating the Storage account, complete the following fields:
  • Deployment model. Select Resource manager.
  • Account kind. Select General purpose.
  • Resource group. Select Use existing, and then select the Resource group you created in step 2.
  1. After creating the Storage account, click Storage accounts on the left menu, and then select the newly created Storage account.
  2. Under the Services section of the Storage account pane, click Blobs. The Blob service blade information appears.
  3. In the Blob service pane, click the Plus icon to add a new container. Type a name for the container and select Blob as the Access Type. When you are finished, click the Create button to create the Blob container.

Creating the BLOB_URI

Before you can upload the VHD image file, you must:

  • Determine the URL value of the Azure storage account
  • Define the BLOB_URI

To create the BLOB_URI, you must determine the container URL and then append the name of the VHD file. You will use the BLOB_URI value when you upload the VHD file. This BLOB_URI tells Azure where to put the VHD file and what to call it.

To determine the container URL:

  1. Log in to the Azure portal.
  2. Select Storage Accounts.
  3. Select the Containers section.
  4. Click the ellipsis (...) button to the right of the container name to open the pop-up menu.
  5. Click Container Properties in the pop-up menu. You will see a URL displayed in the Properties.
  6. Click the blue Copy icon on the Properties page to copy the URL for the container.

To create the BLOB_URI value, append the destination to the container URL. For example, if the container URL is:

https://azuretest.blob.core.windows.net

Your BLOB_URI value might be:

https://azuretest.blob.core.windows.net/vhds/em7inazure.vhd

Where "/vhds" is the directory on the container, and "em7inazure.vhd" is the name of the VHD image file you will be uploading.

Uploading a VHD Image File to an Azure Storage Account

After creating the Resource group, Storage account, and Blob container, you must upload the ScienceLogic VHD image file to the Blob container. To do so, you will need the following information:

  • The ScienceLogic VHD file
  • Resource Group name
  • Blob container URI
  • Local file path to the VHD file

Downloading the ScienceLogic VHD File

To download the ScienceLogic VHD file:

  1. Open a browser session and go to support.sciencelogic.com.
  2. Go to the Product Downloads menu and choose Platform.
  3. Find the platform version that you want to download. Click on its name.
  4. Expand the Release Files list and find an entry of Record Type Product Image.
  5. In the Release File Downloads pane to the right, download the .vhd files for each SL1 appliance.

Converting a VHD Image File from Dynamic to Fixed

After downloading the ScienceLogic VHD file to a Windows server, you must convert it from Dynamic to Fixed.

To do this:

  1. Open a PowerShell session as an administrator.
  2. At the PowerShell prompt, navigate to the directory to which you downloaded the .vhd file.
  3. For each .vhd file, run the following command:

    Convert-VHD –Path <vhd_file_path> –DestinationPath <destination_file_path> –VHDType Fixed

    where:

    • vhd_file_path specifies the full path of the downloaded .vhd file, including the file name.
    • destination_file_path specifies the full path to where you want to store the converted file, including the file name
  4. If you see the following error, proceed to step 5. Otherwise, proceed to the next section.

    convert-vhd: The term 'convert-vhd' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

  5. To install the Hyper-V Module for Windows PowerShell, run the following command:

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-PowerShell

  6. To install Hyper-V Services, run the following command:

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -all

  7. Reboot the server when prompted.

Uploading the VHD File to an Azure Container

To upload the ScienceLogic VHD file to your Blob container, perform the following steps:

  1. Open Microsoft Azure PowerShell and log in to your Azure account:

    Login-AzAccount

  1. You created a resource group and storage container blob to which you will upload your VHD image file in Configuring an Azure Resource Group and Storage Account. You identified the BLOB_URI in Obtaining the Container URL for an Azure Storage Account. Now you are ready to upload your VHD image file.
  2. The virtual machine that you create in Creating an Azure Virtual Machine must be in the same resource group as the storage account.

  1. Add your VHD file to the storage account with the following cmdlet:
  2. Add-AzVhd -Destination '<BLOB_URI>' -LocalFilePath '<VHD_LOCAL_FILE_PATH>' -ResourceGroupName '<RESOURCE_GROUP>'

    where:

    • BLOB_URI specifies the BLOB_URI you created in the section Creating the BLOB_URI where you will upload your VHD file. When entering the BLOB_URI, you must include the .vhd file name. For example: https://azuretest.blob.core.windows.net/vhds/em7inazure.vhd
    • VHD_LOCAL_FILE_PATH specifies the file path on your machine for the VHD file you want to upload.
    • RESOURCE_GROUP specifies the resource group you created and that will be used when you create the Azure VM.
  1. Repeat step 3 for each VHD file.

Creating the Image

The following steps require that you have an Azure resource group and storage account with the VHD file uploaded.

To create the image:

  1. Open Microsoft Azure PowerShell and log in to your Azure account:
  2. Login-AzureRmAccount

  1. Run the following command:
  2. az image create --name <image-name> -g <resource-group-name> --os-disk-caching ReadWrite --os-type Linux --source <BLOB_URI>

    where:

    • resource-group-name specifies the resource group you created in Azure.
    • image-name specifies what you want to call the image (such as "dbimage123").
    • BLOB_URI specifies the destination value you provided when you uploaded the VHD file. This is also the BLOB_URI you created in the section Creating the BLOB_URI. When entering the BLOB_URI, you must include the .vhd file name. For example: https://azuretest.blob.core.windows.net/vhds/em7inazure.vhd

    This command might return a large amount of JSON output. This is normal.

  3. Repeat these steps for each SL1 appliance you want to build.

Creating an Azure Virtual Machine

The following steps require that you have an Azure resource group and storage account with the VHD file uploaded.

To create an Azure virtual machine:

  1. Open Microsoft Azure PowerShell and log in to your Azure account:

    Login-AzureRmAccount

  1. Run the following command:
  2. The virtual machine that you create must be in the same resource group as the storage account.

    az vm create -g <resource_ group_ name> -n <vm_ name> --image <image_name> --public-ip-sku Standard --admin-username em7admin --authentication-type ssh --ssh-key-name <ssh_key_name> --os-disk-size-gb <disk_size> --storage-sku StandardSSD_LRS --vnet-name <virtual_ network_name> --subnet <subnet_name>

    where:

    • resource_group_name specifies the resource group you created in Azure.
    • VM_name specifies what you want to call your virtual machine.
    • image_name specifies the name you gave to the image when you created it in the section Creating the Image.
    • ssh_key_name specifies the SSH key that you want to use within Azure. You will need this to SSH into the virtual machine. For more information, see https://learn.microsoft.com/en-us/azure/virtual-machines/ssh-keys-portal.
    • disk_size specifies the virtual machine disk size you want to use.
    • virtual_network_name specifies the virtual network name you want to use within Azure.
    • subnet_name specifies the subnet name you want to use within Azure.

If the public IP address is not available, ignore --public-ip-sku Standard in the command above.

  1. Repeat these steps for each SL1 appliance you want to build.

Setting the Virtual Machine Allocation Method to Static

To ensure the IP address for the virtual machine remains the same after reboot, you must set the allocation method to static. To do so:

  1. In the Azure Portal, navigate to the Virtual machine pane and verify that the virtual machine has a public IP address and a virtual network/subnet set.
  2. Click the name of the Virtual network/subnet. The Virtual network pane appears.
  3. In the “Connected devices” section of the Virtual network pane, click the Network interface. The Network interface pane appears.
  4. Click the Public IP address value, and then click the Dissociate button.
  5. In the Network interface pane, click on Settings > IP addresses. Then, do one of the following:
  • If you are not using a VPN, complete steps 6 through 9. Ignore step 10.
  • If you are using a VPN, skip ahead to step 10.
  1. If you are not using a VPN, then in the IP addresses pane, select Enabled in the Public IP address field and then click on the IP address field.
  2. Click the Create new button.
  3. In the Create public IP address pane, type a name for your IP address in the Name field and select Static in the Assignment field.
  4. Click OK and then click Save.
  5. If you are using a VPN, then in the IP addresses pane, select Disabled in the Public IP address field and then select a Subnet. You can use the default values for all other fields.
  6. Repeat these steps each SL1 appliance you want to build.

Configuring Ports on SL1 Appliances

You must next create a Network security group that will specify the ports required for communication between the SL1 appliances and that will specify the ports required for communication between the SL1 appliances and the monitored devices in your network.

To configure the ports for communication:

  1. In the Azure Portal, navigate to the Network security groups pane, and then click the Add button. The Create network security group pane appears.
  2. Type the information for the Network security group (name, subscription, resource group, and location), then click Create.
  3. In the Network security groups pane, click the newly created Network security group, and then click the Settings button.
  4. In the Settings pane, click Inbound security rules.
  5. In the Inbound security rules pane, click the Add button. The Add inbound security rule pane appears.
  6. Use the table below to create security rules.
  7. Repeat steps 5 and 6 to create an inbound security rule for each of the ports listed in the table below.
  8. After creating all of the inbound security rules, navigate to the Virtual machine pane and click the Settings button.
  9. In the Settings pane, click Network interfaces and then click on the name of the Network interface.
  10. In the Network interface pane, click the Settings button and then click Network security group.
  11. Select the newly created network security group to associate it with the Network interface.
  12. Perform steps 9-11 for each network interface in your SL1 system.

ScienceLogic recommends that you limit the Source port range for security reasons.

Type Protocol Port Description
SSH TCP 22 SSH. This is necessary to start the installation wizard.
SMTP TCP 25 Necessary to receive inbound email for tickets, events, and email round-trip monitoring.
HTTP TCP 80 HTTP from browser session or user workstation.
Custom TCP Rule TCP 123 NTP. Communication between the All-In-One Appliance and configured NTP server.
Custom UDP Rule UDP 161 SNMP Agent. Allows SNMP information about the SL1 appliance to be collected by SL1.
Custom UDP Rule UDP 162 SNMP Traps. Necessary to receive SNMP traps from managed devices.
HTTPS TCP 443 HTTPS from browser session or user workstation.
Custom UDP Rule UDP 514 Syslog messages. Necessary to receive syslog messages from managed devices.
Custom TCP Rule TCP 7700 ScienceLogic Web Configurator. Configuration Utility from browser session or user workstation. This is necessary to license the appliance.
Custom TCP Rule TCP 7705 ScienceLogic PhoneHome. See Configuring SL1 for PhoneHome Communications.
Custom TCP Rule TCP 7706 MySQL. Communication from Administration Portal.
Custom TCP Rule TCP 7707 Data Pull. Allows the Database Server to retrieve data from the SL1 appliance.
Custom TCP Rule TCP 8008 Administrative Web Interface (PHPMyAdmin) from browser session on user workstation.

Configuring the Virtual Machine

To configure each virtual machine, perform the following steps:

  1. Use SSH to access the virtual machine using its public IP address, username, and the SSH key defined in step 2 of the section Creating an Azure Virtual Machine.

    ssh -i <private key path> em7admin@<vm-ip-address>

  2. Using vi or another text editor, edit the /etc/silo.conf file:

    sudo visilo

  3. Set the db password.

Troubleshooting

If the Data Collector continuously displays a message saying the collector is working when running a Dynamic Application, DO NOT restart the Azure virtual machine, as doing so could cause you to lose SSH access to the machine.

Instead, do the following:

  1. Using the command line interface, verify whether you can run the Dynamic Application in debug mode by typing the following command:

sudo /usr/local/silo/proc/dynamic_single.py <did> <app_id>

  1. Restart the data pull processes (em7_hfpulld, em7_lfpulld, em7_mfpulld) by typing the following command:

sudo service <service_name> restart