# Network Performance Monitoring Solution

Network Performance Monitor (NPM) in Operations Management Suite, a component of Microsoft Azure, monitors network performance between office sites, data centers, clouds and applications in near real-time. It helps a network administrator locate and troubleshoot bottlenecks like network delay, data loss and availability of any network link across on-premises networks, Microsoft Azure VNets, Amazon Web Services VPCs, hybrid networks, VPNs or even public internet links.

## Network Performance Monitor

Network Performance Monitor (NPM) is network monitoring from the Operations Management Suite, that monitors networks. NPM monitors the availability of connectivity and quality of connectivity between multiple locations within and across campuses, private and public clouds. It uses synthetic transactions to test for reachability and can be used on any IP network irrespective of the make and model of network routers or switches deployed.

## Features

* A dashboard is generated to display summarized information about the Network including Network health events, alleged unhealthy Network links, and the Subnetwork links with the most loss and most latency. Custom dashboards can also be created to find the state of the network at a point in time in history.
* An interactive topology map is also generated to show the routes between Nodes. Network administrator can use it to distinguish the unhealthy path to find out the root cause of the issue.
* Alerts can be configured to send e-mails to stakeholders when a threshold is reached.

### Use Cases

* Two on-premises networks: Monitor connectivity between two office sites which could be connected using an MPLS WAN link or VPN
* Multiple sites: Monitor connectivity to a central site from multiple sites. For example, scenarios where users from multiple office locations are accessing applications hosted at a central location
* Hybrid Networks: Monitor connectivity between on-premises and Azure VNets that could be connected using S2S VPN or ExpressRoute
* Multiple Virtual Networks in Cloud: Monitor connectivity between multiple VNets in the same or different Azure regions. These could be peered V-Nets or V-nets connected using a VPN.
* Any Cloud: Monitor connectivity between Amazon Web Services and on-premises Networks. And also between Amazon Web Services and Azure V-Nets.

## Operation

It does not require any access to network devices. Microsoft Monitoring Agent (MMA) or OMS extension (valid only for Virtual machines hosted in Azure) is to be installed on the servers in the Subnetworks that are to be monitored.
* OMS Agent auto downloads the Network Monitoring Intelligence Packs which spawns an NPM agent that detects the subnets it is connected to and this information is sent to OMS.
* NPM Agent gets to know the list of the IP addresses of other agents from OMS.
* NPM Agent IP starts active probes using Internet Control Message Protocol (ICMP) or Transmission Control Protocol (TCP) Ping and the roundtrip time for a ping between two nodes is used to calculate network performance metrics such as packet loss and link latency. This data is pushed to OMS where it's used to create a customizable dashboard.
A video-based demo of NPM is available online.

### Synthetic transactions

NPM uses synthetic transactions to test for reachability and calculate network performance metrics across the network. Tests are performed using either TCP or ICMP and users have the option of choosing between these protocols. Users must evaluate their environments and weigh the pros and cons of the protocols. The following is a summary of the differences.
* TCP provides more accurate results compared to ICMP ECHO because routers and switches assign lower priority to ICMP ECHO packets compared to TCP Ping.
* TCP needs configuration of network firewall and local firewall on the computers where agents are installed to allow traffic on default port 8084. Some other ports can also be chosen for this.
* ICMP does not need to configure a firewall but it needs more agents to provide information about all the paths between two subnets. Consequently, the OMS agent must be installed on more machines in the subnet as compared to when TCP is used.

## Timeline

* February 27, 2017
NPM Solution became generally available (GA). The launch was picked up by eWeek
* July 27, 2016
NPM solution was announced in the Public Preview

## Operating systems supported
### Windows Server

* 2008 SP 1 or later

### Linux distributions

* CentOS Linux 7
* RedHat Enterprise Linux 7.2
* Ubuntu 14.04 LTS, 15.04, 16.04 LTS
* Debian 8
* SUSSUSE LinuxE Linux Server 12

### Client operating systems

Windows 7 SP1 or later

## Availability in regions

Network Performance Monitor is available in the following Azure regions:
* Eastern US
* Western Europe
* South East Asia
* South East Australia
* West Central US
* South UK
* US Gov Virginia

## Data collection frequency

TCP handshakes every 5 seconds, data sent every 3 minutes