Geneos ["Geneos"]
["Geneos > Netprobe"]["User Guide"]

Azure Monitor

Overview

The Azure Monitor integration enables you to retrieve all metrics and logs available in your Azure Monitor setup and display them as dataviews in Geneos.

The integration provides a Gateway configuration file that enables monitoring of Azure Monitor through a set of pre-configured Toolkit samplers. You can query and list the available metrics for your environment and running instances.

This guide walks you through the integration process to get the Toolkit sampler running with default Azure Monitor views.

Audience

This user guide is intended for experienced Geneos users who want to set up and configure an integration between Geneos and Azure Monitor. This is also intended for users who are monitoring data from the Azure Monitor environment.

As a user, you should be familiar with Azure Monitor, as well as Python.

Prerequisites

The following requirements must be met prior to the installation and setup of the template:

  • Python 3.6 or higher.
  • Python package manager (pip).
  • Access keys from your Azure web console:
    • appId
    • password
    • tenant
    • subscription ID
  • This requires an additional licence to use. Please contact your ITRS Account Manager for more information.

Installation procedure

The Azure Monitor integration is largely pre-configured and involves three primary steps:

  1. Download the integration files from the resources site.
  2. Load the integration file in the Gateway Setup Editor.
  3. Associate the samplers with a managed entity.

Note: The include files are intended to be read-only and should not be edited (unless the integration specifically requires for them to be modified). This is because include files can be shared between a few instances of a Gateway and best practice is to share them in their default state. It is also to make the upgrades and maintenance process of the integration files easier. All configuration should be carried out in your local Gateway files instead.

Download the integration files

  1. Download the integration package geneos-integration-azure-<version>.zip from the ITRS Downloads site.
  2. As a best practice, save the files on the same machine where your Gateway is running.

The integration package includes a number of files. These are the files that determine the integration setup:

  • include/azureMonitoring.xmlGateway configuration file (also called an include file) containing Toolkit samplers configured for Azure Monitor integration.
  • scripts/list_VMs.py — Python script that calls each VM directly and returns a JSON format. The JSON values are then processed in a CSV format and displayed in Active Console. This displays available metrics for your services
  • scripts/requirements.txt — list of the required Azure libraries. They can be installed by running the pip command against this requirements file:
    $ pip install -r requirements.txt

Load the integration files

To load the integration files into the Gateway Setup Editor, follow these steps:

  1. Open Gateway Setup Editor.
  2. In the Navigation panel, click Includes to create a new file.
  3. Enter the location of the file to include in the Location field. In this example, it is the include/azureMonitoring.xml.
  4. Update the Priority field. This can be any value except 1. If you input a priority of 1, the Gateway Setup Editor will return an error.
  5. Expand the file location in the Include section.
  6. Select Click to load.
  7. Click Yes to load the new include file.

Success: Gateway configuration now appears in the Includes section.

Associate the samplers with a managed entity

After you have loaded the configuration file, the Azure Monitor samplers become available for use. These samplers are associated with a pre-defined Type. To associate the samplers with a managed entity, follow these steps:

  1. In the Gateway Setup Editor, create a new managed entity by right-clicking the Managed entities folder.
  2. Under the Basic tab for the new managed entity, add a pre-configured AZURE type.
  3. Specify the environment associated with the samplers. By default, this is AZURE.
  4. Apply the managed entity to the running Netprobe.
  5. Click Validate current document to check your configuration.
  6. Click Save current document to apply the changes.

Success: After you save your changes to the managed entity, the Azure Monitor dataviews appear under the managed entity on the state tree.

For more information about include files, see the 'Include' files in Gateway Setup Editor.

Environment configuration

The default environment configuration is created by the azureMonitoring.xml script. You can create a new environment based on the default one and modify the environment variables according to your system.

Note: Standard variable scoping rules apply when variable reference is used in include files. Please take note of that when creating your own variables. For more information, see Variable Scoping and Resolution in User Variables and Environments.

For more information on the environment variables used in this integration, see the Environment variables in Azure Monitor Integration Technical Reference.

Environment variables

The azureMonitoring.xml script provides the variables that are set in the Environments section. They are configured to ensure that the integration monitors your target Azure Monitor environment.

Variable Type Description
AZURE_TENANT_ID String

Your tenant ID from the service principal (this is called tenant in the Azure environment).

AZURE_CLIENT_ID String Your client ID from the service principal (this is called appId in the Azure environment).
AZURE_CLIENT_SECRET String

Your password from the service principal (this is called password in the Azure environment).

AZURE_SUBSCRIPTION_ID String Your subscription ID from your Azure account.
AZURE_RESOURCE_ID String The resource ID for your Azure appliance when viewing metrics.
AZURE_METRIC_INT String The interval in which your data is based on.
GET_AZURE_METRIC_NAMES

String

Variable used to list out the metric names and their units.
AZURE_SAMPLING_RATE Integer

Frequency of sampling. If checks are executed manually, the value is shown as 0.

PYTHON_PATH String Path of the Python library located on the machine where the Netprobeis running.
     

Command line options

Command line options can be used along with the Environment variables.

Option (long) Option (short) Type Description
--list-res-names -lr Boolean

List names, location and details of your Azure account resource groups.

--list-res-metrics -lm Boolean

List metrics for a particular VM.

--list-db-servers -lds Boolean

List database servers information.

--list-databases -db Boolean List databases information.
--list-networks -lvn Boolean List virtual networks.
--list-interfaces -lvi Boolean List virtual interfaces.
--list-load-balancers -llb Boolean List your load balancers.
--list-storage-accounts -lsa Boolean List your storage accounts.
--list-cosmosdb-accounts -lca Boolean List your CosmosDB accounts.
--get-powerstate -gp Boolean Powerstate is not automatically shown on VM view listing, this option makes calls to each VM status directly.

Metrics and dataviews

The sections below show example dataviews available with the Azure Monitor integration.

Note: Samplers make multiple HTTP queries to build one single dataview. Depending on the API response time, and the number of items in the dataview, these samplers can take longer to run than most Geneos samplers.

Metrics-MyDB

This sampler provides a list of your available metrics.

Metrics-MyDB-Row

This sampler displays aggregated information about specific instances.

Metrics-MyVM

This sampler provides a list of available metrics for the VM.

Metrics-MyCosmoDb

This sampler provides a list of available metrics for the CosmoDB.

Metrics-VNetworks

This sampler displays information about the virtual networks.

List-VMs

This sampler displays a list and details about the available VMs.

List-SQL-Servers

This sampler displays information about the available SQL servers.

List-SQL-Databases

This sampler displays information about the available SQL databases.

List-VMs-PowerState

This sampler displays information about power states of virtual machines.

List-ResourceGroups

This sampler displays a list of available resource groups.

List-VInterfaces

This sampler displays a list and details of virtual interfaces.