Network Performance Monitor solution in Azure
Network Performance Monitor is a cloud-based hybrid network monitoring system that allows you to keep track on network performance throughout your whole network architecture. It also allows you to track network connection to service and application endpoints as well as Azure ExpressRoute performance. Network Performance Monitor also detects network faults such as traffic blackholing, routing failures, and other issues that traditional network monitoring tools miss.
Network Performance Monitor offers three broad capabilities:
- Firstly, Performance Monitor. this, you can monitor network connectivity across cloud deployments and on-premises locations, multiple data centers, branch offices, and mission-critical multitier applications or microservices. With Performance Monitor, you can detect network issues before users complain.
- Then, Service Connectivity Monitor. Here, you can monitor the connectivity from your users to the services you care about, determine what infrastructure is in the path, and identify where network bottlenecks occur. You can know about outages before your users, and see the exact location of the issues along your network path.
- Lastly, ExpressRoute Monitor. This is to monitor end-to-end connectivity and performance between your branch offices and Azure, over Azure ExpressRoute.
Set up and configure
Install and configure agents
To install agents, follow the fundamental procedures. Connect Azure Monitor to Windows PCs, Azure Monitor to Linux systems (preview), and Azure Monitor to Operations Manager.
Where to install the agents
- Firstly, Performance Monitor to Install Log Analytics agents on at least one node connected to each subnetwork from which you want to monitor network connectivity to other subnetworks.
- Secondly, Service Connectivity Monitor to Install an Log Analytics agent on each node from which you want to monitor the network connectivity to the service endpoint. An example is if you want to monitor network connectivity to Microsoft 365 from your office sites labeled O1, O2, and O3. Install the Log Analytics agent on at least one node each in O1, O2, and O3.
- Thirdly, ExpressRoute Monitor to Install at least one Log Analytics agent in your Azure virtual network. Also install at least one agent in your on-premises subnetwork, which is connected through ExpressRoute private peering.
Configure Log Analytics agents for monitoring
Synthetic transactions are used by Network Performance Monitor to measure network performance between source and destination agents. In the Performance Monitor and Service Connectivity Monitor capabilities, however, you may pick between TCP and ICMP as the monitoring protocol. ExpressRoute Monitor supports just TCP as a monitoring protocol. As a result, verify that the firewall permits communication between the Log Analytics agents used for monitoring using the protocol you select.
- Firstly, TCP protocol. However, if you choose TCP as the protocol for monitoring, open the firewall port on the agents used for Network Performance Monitor and ExpressRoute Monitor to make sure that the agents can connect to each other. For Windows machines, to open the port, run the EnableRules.ps1 PowerShell script without any parameters in a PowerShell window with administrative privileges. For Linux machines, portNumbers needs to be changed manually.
- Secondly, Navigate to path: /var/opt/microsoft/omsagent/npm_state .
- Then, Open file: npmdregistry
- Lastly, Change the value for Port Number “PortNumber:”
The script produces the registry keys that the solution requires. It also establishes Windows Firewall rules that allow agents to connect to each other over TCP. The script creates registry entries that describe whether or not to log debug logs and the location of the logs file. However, the script also specifies the agent’s communication TCP port. The script sets the values for these keys automatically. These keys should not be changed manually. 8084 is the default port that is open. As a result, you may utilise a custom port by passing the portNumber option to the script.
Configure the solution
- Firstly, add the Network Performance Monitor solution to your workspace from the Azure marketplace. You also can use the process described in Add Azure Monitor solutions from the Solutions Gallery.
- Secondly, open your Log Analytics workspace, and select the Overview tile.
- Thirdly, select the Network Performance Monitor tile with the message Solution requires additional configuration.
- Then, On the Setup page, you see the option to install Log Analytics agents and configure the agents for monitoring in the Common Settings view. As previously explained, if you installed and configured Log Analytics agents, select the Setup view to configure the capability you want to use.
Network Performance Monitor dashboard
- Firstly, Top Network Health Events: This page provides a list of the most recent health events and alerts in the system and the time since the events have been active. A health event or alert is generated whenever the value of the chosen metric (loss, latency, response time, or bandwidth utilization) for the monitoring rule exceeds the threshold.
- Secondly, ExpressRoute Monitor: This page provides health summaries for the various ExpressRoute peering connections the solution monitors. The Topology tile shows the number of network paths through the ExpressRoute circuits that are monitored in your network. Select this tile to go to the Topology view.
- Then, Service Connectivity Monitor: This page provides health summaries for the different tests you created. The Topology tile shows the number of endpoints that are monitored. Select this tile to go to the Topology view.
- After that, Performance Monitor: This page provides health summaries for the Network links and Subnetwork links that the solution monitors. The Topology tile shows the number of network paths that are monitored in your network. Select this tile to go to the Topology view.
- Lastly, Common Queries: This page contains a set of search queries that fetch raw network monitoring data directly. You can use these queries as a starting point to create your own queries for customized reporting.
Log queries in Azure Monitor
- All data that is exposed graphically through the Network Performance Monitor dashboard and drill-down pages is also available natively in log queries.
- You can perform interactive analysis of data in the repository and correlate data from different sources.
- Then, you also can create custom alerts and views and export the data to Excel, Power BI, or a shareable link.
- However, the Common Queries area in the dashboard has some useful queries that you can use as the starting point to create your own queries and reports.
Alerts
Network Performance Monitor uses the alerting capabilities of Azure Monitor. And, this means that all notifications are managed using action groups. However, if you are an NPM user creating an alert via Log Analytics:
- Firstly, you will see a link that will redirect you to Azure portal. Click it to access the portal.
- Then, click the Network Performance Monitor solution tile.
- Thirdly, navigate to Configure.
- lastly, select the test you want to create an alert on and follow the below mentioned steps.
If you are an NPM user creating an alert via Azure portal:
- Firstly, you can choose to enter your email directly or you can choose to create alerts via action groups.
- Secondly, if you choose to enter your email directly, an action group with the name NPM Email ActionGroup is created and the email id is added to that action group.
- Thirdly, if you choose to use action groups, you will have to select an previously created action group. You can learn how to create an action group here.
- Lastly, after creation of the alert, you can use Manage Alerts link to manage your alerts.
Reference: Microsoft Documentation