Quickstart: Deploy Geneos using Azure Resource Manager
This page provides step-by-step instructions for deploying a demo environment using Azure Resource Manager and the provided Azure/environments/demo/main.bicep
template. This is useful if you want to run an initial deployment in your Azure environment with minimal configuration requirements.
Note
The demo environment deployment provisions the necessary Azure resources, including virtual machines for the Gateway and Netprobe. It also creates a virtual network and a security group.
The steps below can also be adapted for the development environment, but they require existing virtual machines on which to deploy Geneos services.
File structure Copied
The Azure native deployment package contains the following file structure:
scripts/
└── native/
└── Azure/
├── components/
│ └── geneos-host.bicep
│
├── environments/
│ ├── demo/
│ │ ├── main.bicep
│ │ └── parameters.bicepparam
│ │
│ └── dev/
│ ├── main.bicep
│ └── parameters.bicepparam
│
├── modules/
│ ├── geneos-deployment.bicep
│ ├── networkinterface.bicep
│ ├── network-security-group.bicep
│ ├── public-ip.bicep
│ ├── run-command.bicep
│ ├── virtual-machine.bicep
│ └── virtual-network.bicep
│
└── scripts/
See Template files for details on the purpose of each file.
Prerequisites Copied
-
Azure CLI installed. This can be installed from Azure.
-
Bicep CLI installed. You can run the following command to install Bicep CLI, but this is normally bundled with the Azure CLI installation.
az bicep install
-
Logged in from CLI
az login
-
Existing Azure resources
- Resource Group — used for the deployment stack.
- Storage Account — used to store Geneos artifacts such as binaries and configuration XMLs.
Important
The user should have aContributor
role on both the Resource Group and Storage Account.
Deployment steps Copied
- Prepare the required Azure resources.
- Upload Geneos artifacts to the storage account.
- Deploy the Geneos stack using the Bicep template provided.
- Clean up the resources created.
Prepare Azure resources Copied
Use the Azure CLI to create the following resources:
-
Azure resource group
az group create --name <ResourceGroupName> --location <Location>
-
Azure storage account
az storage account create --name <StorageAccountName> --resource-group <ResourceGroupName> --location <Location> --sku Standard_LRS --kind StorageV2 az storage container create --name <ContainerName> --account-name <StorageAccountName>
Upload Geneos artifacts to the Azure storage account Copied
Upload the following Geneos artifacts to the existing Azure storage account container:
- Gateway binary tarball (for example,
geneos-gateway-7.5.0-linux-x64.tar.gz
) - Gateway setup XML (for example,
gateway.setup_template.xml
located in/resources
) - Netprobe binary tarball (for example,
geneos-netprobe-standard-7.5.0-linux-x64.tar.gz
) - Netprobe setup XML (for example,
netprobe.setup_template.xml
located in/resources
)
Deploy the Geneos stack Copied
-
Update
Azure/environments/demo/parameters.bicepparam
to match your requirements and the artifacts uploaded to the storage account. All parameters must be specified, as they reference the uploaded files. Parameters with default values are already set in the provided template file.-
General deployment parameters
Parameter Description storageAccountName
Name of the existing storage account that contains the Geneos artifacts. -
Gateway (GW) Geneos deployment parameters
Parameter Description operationGw
Set to install
for Gateway deploymentbinaryUrlGw
URL to the Gateway binary tarball
in the Storage AccountserviceBinaryTarGw
Gateway Tarball filename (for example, geneos-gateway-7.5.0-linux-x64.tar.gz
)configUrlGw
URL to the Gateway setup XML
in the Storage AccountserviceConfigGw
Gateway setup XML filename (for example, gateway.setup_template.xml
) -
Netprobe (NP) Geneos deployment parameters
Parameter Description operationNp
Set to install
for Netprobe deploymentbinaryUrlNp
URL to the Netprobe binary tarball
in the Storage AccountserviceBinaryTarNp
Netprobe Tarball filename (for example, geneos-netprobe-standard-7.5.0-linux-x64.tar.gz
)configUrlNp
URL to the Netprobe setup XML
in the Storage AccountserviceConfigNp
Netprobe setup XML filename (for example, netprobe.setup_template.xml
)
-
-
Deploy using the az stack group create command. This may take several minutes as it involves provisioning virtual machines and installing Geneos services.
Note
The default demo configuration will deploy three virtual machines of sizeStandard_D2s_v3
, following the ITRS Azure virtual machine image specifications. For complete details on the default virtual machine configuration, refer to Azure virtual machine defaults.az stack group create \ --name <StackName> \ --resource-group <ResourceGroup> \ --template-file <BicepFile> \ --parameters <BicepParameters> \ --action-on-unmanage deleteAll \ --deny-settings-mode none
For example:
az stack group create \ --name NetprobeStack \ --resource-group DeploymentGroup \ --template-file scripts/native/Azure/environments/demo/main.bicep \ --parameters scripts/native/Azure/environments/demo/parameters.bicepparam \ --action-on-unmanage deleteAll \ --deny-settings-mode none
-
Once the deployment has completed, verify that the following resources have been created in the specified resource group:
- One virtual network
- One network security group
- Three virtual machines (one for Gateway and two for Netprobes). Each virtual machine will have its own public IP and network interface.
Success
The Gateway and Netprobe services should be installed and running on their respective virtual machines. -
You can retrieve the summary of deployed virtual machines and Geneos services using the az stack group show command.
az stack group show \ --name <StackName> \ --resource-group <ResourceGroup> \ --query "outputs.*.value[]" \ --output table
For example:
az stack group show --name NetprobeStack --resource-group DeploymentGroup --query "outputs.*.value[]" --output table IpAddress VirtualMachineName ServiceName ServiceDirectory ServiceProvisioningState ------------- -------------------- ------------- ------------------ -------------------------- 40.90.160.121 np-vm-1 netprobe /opt/geneos Succeeded 20.195.13.101 np-vm-2 netprobe /opt/geneos Succeeded 172.188.21.69 gw-vm-1 gateway /opt/geneos Succeeded
To back up service directories or extract files from the virtual machines for analysis, run the following command:
ssh -i <privatekey> <user>@<machineIP> "sudo tar -cvz -C <servicedirectory> <servicename>" > archive.tar.gz
For example:
ssh -i ~/.ssh/id_rsa azureuser@40.90.160.121 "sudo tar -cvz -C /opt/geneos netprobe" > archive.tar.gz
Clean up resources Copied
To clean up and remove all resources created by the deployment stack, use the az stack group delete command.
az stack group delete \
--name <StackName> \
--resource-group <ResourceGroup> \
--action-on-unmanage deleteAll
For example:
az stack group delete \
--name NetprobeStack \
--resource-group DeploymentGroup \
--action-on-unmanage deleteAll
Next steps Copied
After successfully deploying to the demo environment, you may proceed to the development environment. The demo environment automatically provisions network and security resources for demonstration purposes and must be destroyed afterwards. The development environment, however, requires you to provision your own network and security resources.
For detailed instructions, see Deploying via Azure Resource Manager.