WHERE DO I START?
You are here:Integrations > Microsoft Azure
  • Top ↑

Microsoft Azure

Summary

Microsoft Azure is a cloud computing platform, similar to Amazon Web Services. With Azure integration in Netuitive, you can monitor the performance of your entire cloud infrastructure. Netuitive requires Reader role permissions of your Azure environment, which can be granted using the Owner or User Access Administrator roles.

Configuration

Note   If you need to disable an existing Microsoft Azure integration or view the unique API key assigned to your account, navigate to the Integrations page under the user account drop-down menu and click the integration designated as Azure under the Integration column.
The Microsoft Azure integration is a five-step process:
  1. Prepare the Microsoft Azure integration.
  2. Create an Active Directory application in Azure.
  3. Get the Application ID, Application Key, and the Tenant ID from the application in Azure.
  4. Set delegated permissions for the application in Azure.
  5. Collect the Subscription ID and set a role for the application.

Step 1: Prepare the Microsoft Azure integration in Netuitive

  1. From the top navigation menu, select Integrations.
  2. Click the Microsoft Azure card.
  3. In a separate, new tab, open the Azure portal.
    Important   The following instructions were created using the Azure portal not the classic portal. Instructions will vary depending on which portal you're using.

Step 2: Create an Active Directory application in Azure

  1. Once in the Azure portal, click Azure Active Directory from the left side menu.
    Note   If you have multiple directories, you'll want to choose your default directory.
  2. Click the App registrations widget.
  3. Click Add at the top.

    A Create window will open.
  4. Type the name of the application. We recommend Azure / Netuitive Integration, or something similar.
  5. Ensure the Application Type is Web app / API.
  6. Input https://app.netuitive.com for the Sign-on URL.
  7. Click Create at the bottom of the window.

Step 3: Get the Application ID (Client ID), Application Key (Access Key), and the Tenant ID

  1. Select your new application from the App registrations list.
    The application's Essentials and Settings windows open.
  2. Copy the Application ID (also known as the Client ID) and return to the tab with Netuitive open. Paste it into the Client ID field. Once it's pasted, return to the Azure tab.
  3. From the Settings window, click Keys.
  4. In the Keys window, add a description for the key.
  5. Select a duration for the key.
  6. Click Save at the top of the Keys window.
  7. Copy the Key's Value and return to the tab with Netuitive open. Paste it into the Access Key field. Once it's pasted, return to the Azure tab.
  8. Return to the App registrations window and click Endpoints.
  9. From the list of endpoints, you'll notice your Tenant ID in each of the URLs. Copy the Tenant ID from one of the endpoints and return to the tab with Netuitive open. Paste it into the Tenant ID field. Once it's pasted, return to the Azure tab.

Step 4: Set delegated permissions for the application

  1. Open the application's settings window and click Required permissions.
  2. Click Add at the top of the Required permissions window.
  3. In the Add API access window, click step 1. Click Windows Azure Service Management API, then click Select at the bottom of the Select an API window.
  4. Click step 2. Select the Delegated Permissions checkbox, then click Select at the bottom of the Enable Access window.
    Note   After selecting the Delegated Permissions checkbox, you may have to clear and then select the Access Azure Service Management as organization users (preview) checkbox again to activate the Select button.
  5. Click Done in the Add API access window.

Step 5: Collect the Subscription ID and set a role for the application

Important   To assign a role to the application, you'll need the Owner or User Access Administrator role in Azure (the Contributor role will not work) or a custom role that grans write access for Microsoft.Authorization. You can check your permissions for the subscription by opening the user account menu (top right-hand corner), clicking My permissions, and then selecting the relevant subscription from the drop-down menu. If you don't have the correct permissions, contact your subscription administrator.
  1. From the left side menu, click Subscriptions.
    Note   If you don't see Subscriptions in your side menu, click More services and search for Subscriptions using the filter.
  2. Copy the Subscription ID and return to the tab with Netuitive open. Paste it into the appropriate field. Once it's pasted, return to the Azure tab.
  3. Click the appropriate subscription.
  4. Click Access Control (IAM).
  5. Click Add.
  6. Select Reader for the role.
  7. Search for the application you created in Step 1, and select it. Click Select at the bottom of the window.
  8. After permissions have been set, return to Netuitive to include or exclude as many Azure element types as you want. Azure VM and Azure Application Gateway are enabled by default.
  9. Optionally, filter elements.
    Tip   If you install our Linux agent or Windows agent on an Azure VM, the VM's power state (it will come in as the attribute hostRunning with a value of true or false) and tags are copied over to the corresponding Linux SERVER element / Windows WINSRV element. You can then use this information to create policies.

Additional Configuration Options

Enabling Guest OS Diagnostic (Basic) Metrics (Virtual Machine)

Azure Virtual Machines will share boot diagnostic metrics by default, which are a small subset of core metrics. To enable Guest OS diagnostic (basic) metrics that provide more information about your machine, you'll need to follow these steps (depending on your situation):

Note   The steps for enabling these metrics on a Virtual Machine Classic is nearly identical.

Enabling basic metrics on an existing VM

  1. From the left-hand side menu, click Virtual machines.
  2. Select a virtual machine. Another window with options will open.
  3. Select Diagnostic settings.
  4. Under Configure required settings, select the checkbox next to Basic metrics. Netuitive will now receive the basic VM metrics.

Enabling basic metrics on a new VM

  1. From the left-hand side menu, click Virtual machines.
  2. At the top of the Virtual machines window, click Add.
  3. Select the type and create the instance.
  4. Complete Steps 1 and 2 filling out the information as desired.
  5. In Step 3, under the Monitoring section, select Enabled under Guest OS diagnostics.
  6. Finish creating the VM. The basic metrics are now available in Netuitive.

Filter your Azure elements

You can filter what Azure elements are included in Netuitive's monitoring by using regex to match key-value pairs. Netuitive offers opt-in (include) or opt-out (exclude) element filtering.

Using opt-in filtering

  1. In your Azure portal, create or choose an existing tag (key-value pair). Then, assign the tag to the Azure elements you want Netuitive to monitor.
  2. On the Azure Integration Setup page, expand the element types you want to filter.
    Key-value pair fields display.
  3. Select the Filtering checkbox.
  4. Select Include. Type the proper Regex to match the tag(s) you created in your Azure portal for each element type you want to filter.
  5. Click Save.

Using opt-out filtering

  1. In your Azure portal, create or choose an existing tag (key-value pair). Then, assign the tag to the Azure elements you do not want Netuitive to monitor.
  2. On the Azure Integration Setup page, expand the element types you want to filter.
    Key-value pair fields display.
  3. Select the Filtering checkbox.
  4. Select Exclude. Type the proper Regex to match the tag(s) you created in your Azure portal for each element type you want to filter.
  5. Click Save.

Regex Examples

Tip   The filtering fields append a .* to the front and back of each value input into the fields. For example, if you input .Prod-app1, it will be interpreted as .*.Prod-app1.* . We recommend testing any regular expressions that you create here.
  • Match the start and end of the string contained between ^ and $. The following would match the key-value pair Netuitive = true.
  • Match multiple values separated by | between ( ). The following would match any of the following key-value pairs: Name = my-server-one, Name = my-server-two, Name = my-server-three.
  • Match any character(s) using ., which acts as a wildcard. The following would match any value (e.g., Name = myProd-app-1, Name = yourProd-app-1) as long as Prod-app-1 followed.
  • Escape special regex characters (e.g., ., *, /, etc.) using a /. The following would match the key-value pair Name = my.server.one. For a list of special regex characters you may have to escape, consult this page.

Dependencies

None.

Metrics

Collected

Azure Virtual Machine

Fully Qualified Name (FQN) Type Units Statistic Min Max Sparse Data Strategy BASE CORR UTIL Description
Boot Diagnostics
azure.virtualmachine.networkin GAUGE bytes average 0 none none Bytes received over the network. Note that this metric is the same as the Basic Metric azure.virtualmachine.networkinterface.bytesreceived
azure.virtualmachine.networkout GAUGE bytes average 0 none none Bytes transmitted over the network. Note that this metric is the same as the Basic Metric azure.virtualmachine.networkinterface.bytestransmitted
azure.virtualmachine.diskreadbytes GAUGE bytes average 0 none none Average bytes read from the physical disks.
azure.virtualmachine.diskreadoperationssec GAUGE iops average 0 none none

Average number of read operations per second. Note that this metric is the same as the Basic Metric azure.virtualmachine.physicaldisk.readspersecond

Not available on classic VMs.

azure.virtualmachine.diskwritebytes GAUGE bytes / second average 0 none none Average bytes written to the physical disks.
azure.virtualmachine.diskwriteoperationssec GAUGE iops average 0 none none

Average number of write operations per second. Note that this metric is the same as the Basic Metric azure.virtualmachine.physicaldisk.writespersecond

Not available on classic VMs.

azure.virtualmachine.percentagecpu GAUGE percent average 0 100 none Percentage of time the processor was not idle. Note that this metric is the same as the Basic Metric azure.virtualmachine.processor.percentprocessortime
Basic Metrics (Guest OS Diagnostics)
azure.virtualmachine.memory.availablememory GAUGE bytes average 0 none none The total amount of available memory in bytes.
azure.virtualmachine.memory.availableswap GAUGE bytes average 0 none none The total amount of swap space available in bytes.
azure.virtualmachine.memory.pagespersec
GAUGE pages / second average 0 none none The total number of pages read and written per second.
azure.virtualmachine.memory.pagesreadpersec GAUGE pages / second average 0 none none The number of pages read per second.
azure.virtualmachine.memory.pageswrittenpersec GAUGE pages / second average 0 none none The number of pages written per second.
azure.virtualmachine.memory.percentavailablememory GAUGE percent average 0 100 none Percentage of memory available.
azure.virtualmachine.memory.percentavailableswap GAUGE percent average 0 100 none Percentage of swap space available.
azure.virtualmachine.memory.percentusedbycache GAUGE percent average 0 100 none Percentage of memory used by cache.
azure.virtualmachine.memory.percentusedmemory GAUGE percent average 0 100 none Percentage of memory in use.
azure.virtualmachine.memory.percentusedswap GAUGE percent average 0 100 none Percentage of swap space in use.
azure.virtualmachine.memory.usedmemory GAUGE bytes average 0 none none The total amount of memory used in bytes.
azure.virtualmachine.memory.usedswap GAUGE bytes average 0 none none The total amount of swap space used in bytes.
azure.virtualmachine.networkinterface.bytesreceived COUNTER bytes   0 none none Bytes received over the network.
azure.virtualmachine.networkinterface.bytestotal COUNTER bytes   0 none none Total bytes received and transmitted over the network.
azure.virtualmachine.networkinterface.bytestransmitted COUNTER bytes   0 none none Bytes transmitted over the network.
azure.virtualmachine.networkinterface.packetsreceived COUNTER count   0 none none Packets received over the network.
azure.virtualmachine.networkinterface.packetstransmitted COUNTER count   0 none none Packets transmitted over the network.
azure.virtualmachine.networkinterface.totalcollisions COUNTER count   0 none none Total number of packet collisions.
azure.virtualmachine.networkinterface.totalrxerrors COUNTER count   0 none none Total receive errors.
azure.virtualmachine.networkinterface.totaltxerrors COUNTER count   0 none none Total transmit errors.
azure.virtualmachine.physicaldisk.averagediskqueuelength GAUGE count average 0 none none Average length of the physical disk queue.
azure.virtualmachine.physicaldisk.averagereadtime GAUGE milliseconds average 0 none none Average read time in milliseconds.
azure.virtualmachine.physicaldisk.averagetransfertime GAUGE milliseconds average 0 none none Average transfer time (reads and writes) in milliseconds.
azure.virtualmachine.physicaldisk.averagewritetime GAUGE milliseconds average 0 none none Average write time in milliseconds.
azure.virtualmachine.physicaldisk.bytespersecond GAUGE bytes / second average 0 none none Average bytes per second (read and written).
azure.virtualmachine.physicaldisk.readbytespersecond GAUGE bytes / second average 0 none none Average bytes read per second.
azure.virtualmachine.physicaldisk.readspersecond GAUGE iops average 0 none none Average number of read operations per second.
azure.virtualmachine.physicaldisk.transferspersecond GAUGE iops average 0 none none Average number of read and write operations per second (IOPS).
azure.virtualmachine.physicaldisk.writebytespersecond GAUGE bytes / second average 0 none none Average bytes written per second.
azure.virtualmachine.physicaldisk.writespersecond GAUGE iops average 0 none none Average number of write operations per second.
azure.virtualmachine.processor.percentdpctime GAUGE percent average 0 100 none Percentage of time spent on deferred procedure calls (DPCs), also known as soft interrupts.
azure.virtualmachine.processor.percentidletime GAUGE percent average 0 100 none Percentage of time the CPU was idle.
azure.virtualmachine.processor.percentinterrupttime GAUGE percent average 0 100 none Percentage of time spent on hardware interrupts.
azure.virtualmachine.processor.percentiowaittime GAUGE percent average 0 100 none Percentage of time spent waiting for IO to complete.
azure.virtualmachine.processor.percentnicetime GAUGE percent average 0 100 none Percentage of time spent on low priority ("nice") processes.
azure.virtualmachine.processor.percentprivilegedtime GAUGE percent average 0 100 none Percentage of time spent on OS processes.
azure.virtualmachine.processor.percentprocessortime GAUGE percent average 0 100 none Percentage of time the processor was not idle.
azure.virtualmachine.processor.percentusertime GAUGE percent average 0 100 none Percentage of time spent on user processes.

Azure Application Gateway

Fully Qualified Name (FQN) Type Units Statistic Min Max Sparse Data Strategy BASE CORR UTIL Description
azure.applicationgateway.throughput GAUGE bytes/second average 0 none none The number of bytes per second being processed by the gateway.