What is network performance monitoring?
Network performance monitoring is the process of measuring, visualizing, diagnosing, reporting and, finally, optimizing the performance of a network. It is the half of network monitoring that focuses not just on preventing and fixing issues, but on the overall health of any type of network. Health here being not only that everything is operating successfully, but also how well and where optimizations can be implemented. Network performance monitoring tools are the weapon with which network administrators keep track and analyze the performance of one or more networks.
Network monitoring is a complex endeavor that includes network performance monitoring. Making sure that the performance of a network is the best it possibly can is as important as avoiding issues, disruptions, and hardware failures. These, hopefully, happen only occasionally, and the majority of the time a network administrator worries about the performance of the infrastructure instead. That is what a performance monitor, a specific software or part of a network monitoring tool, checks and reports about.
Why is network performance monitoring important?
Anybody who had to deal with a slow connection, or a tool that hung up because of a disrupted one, can easily imagine why monitoring network performance is important. Anytime a host has to wait for data or acquires them too slowly, is a cause for concern in administrators and to be solved in the scope of network performance monitoring.
Network performance monitoring software exists to monitor, analyze, and report on the many causes of non-optimal performance in a network. When performance is decaying, the usage of the infrastructure is compromised. Worse, a company with a slow network offers its customers poorer service, or even no service at all. Bottlenecks in a network slow it down, affecting the end users’ experience. This has obvious consequences in terms of money and the image of the company.
Monitoring network performance is therefore vital to avoid these problems.
How does network performance monitoring work?
Network performance monitoring software use a combination of technologies to analyze the performance of a network. These fall roughly in three categories:
- Flow monitoring
- SNMP monitoring
- Packet capturing
Flow monitoring refers to the use of flow protocols such as NetFlow, sFlow and many others, that capture a sample of packets on a specific part of a network or a key device, like a switch. These are analyzed to identify patterns, trends, and possible bottlenecks. This gives information on how much data is being transferred, from where and to what host. It is not a complete view of what happens on a network, but not too general either, giving administrators a good idea of how well a network is performing.
SNMP is a protocol that is one of the key tools for monitoring network performance. Monitoring software use it to get metrics about the health of network devices like routers, switches, access points and more. These metrics are important to get the general health of such devices, and ensure that they are performing at the best of their capabilities. Traffic can also be analyzed, which, together with the rest of the data collected with SNMP calls, generates a usually satisfactory view of the network performance.
Packet capturing is the most manual way of network performance monitoring. By capturing all the packets running through a node, it is possible to have a complete view of how traffic is happening, and recognize whether it is necessary to intervene to optimize or not. It is a computational expensive method but gives the most specific info on a single node.
Whatever method is used, a performance monitor is necessary to collect the data. Often, more than one method is supported by a network performance monitoring software, merging the various info together to have an almost holistic view of the performance of an infrastructure. In other cases, there are multiple tools for monitoring network performance that support different technologies and collect various metrics, working together to give administrators a complete view of current and historical performance of their infrastructure.
What are the key metrics of network performance monitoring?
The key metrics for analyzing performance are not essentially too different from those necessary for monitoring in general. In total, they are many metrics, but only a handful of principal ones.
The number of errors, as in packet loss ratio, is an indication of something wrong on your network. Losing too many packets lowers the overall performance of the communication on a network, possibly causing interruption of service. They may have a range of causes; generally speaking, a high rate of errors is a key factor that indicates not only a declining performance but failures as well.
Bandwidth is an important metric that tools for monitoring network performance use to gauge the health of the traffic. If constantly high, it may mean a bottleneck, or an application filling up its traffic quota. If bandwidth deteriorates, it lowers the performance, and may be a sign of a more serious problem.
Throughput is also monitored with performance monitors. Along with the response rate, it indicates how speedy your network is. Large variations of these two metrics are a signal of something going wrong.
Latency of packets is a sign of how responsive a network is. While it can naturally fluctuate according to usage, a sudden spike of this metric can be a serious concern, with an interruption of service a plausible close outcome.
Tools for monitoring network performance keep constant track of these metrics, and help to have the pulse of the performance of your infrastructure.
Benefits of network performance monitoring
Monitoring network performance offers benefits that go beyond ensuring the efficiency of it. By keeping track of the performance metrics on a network, it is not only possible to optimize its functioning, but identify some possible problems as well.
Unusual drop of bandwidth or increase of latency can be normal fluctuations or a sign of a coming failure. By having a performance monitor active on the network, these fluctuations can be seen as they happen and actions can be taken. This is done also by collecting performance data over time and analyzing it later: any regularly occurring change can be discovered and acted upon if necessary.
Similarly, an unusual spike in the use of resources may be a sign of malicious activity. A new user in the network or large update operations are more often the cause, but in, hopefully, rare cases it may be an external player that gained unauthorized access to the internal network. Monitoring network performance does not directly inform you of this, but can make you notice it.
Private and public clouds play an increasingly higher importance in enterprise networks these days. Monitoring their network performance is vital not just for general efficiency of your infrastructure, but also to know how that cloud vendor is serving your needs. Network performance monitoring tools increasingly support the monitoring of cloud services, which is a given due to their widespread use nowadays.
Challenges of network performance monitoring
Challenges are not absent in network performance monitoring. Any performance monitor naturally adds some complexity, no matter how simple it is. It introduces a further layer of metrics to keep an eye on and another software to configure. Any network performance network monitoring software will have its necessary configuration steps and use of resources that need to be evaluated before implementing it.
Luckily, it is rarely a matter of resources, as most network monitoring tools monitor performance as well, nor of costs, as many free network performance monitoring solutions exist. Still, configurations must be performed, and training provided to properly meet the performance monitoring needs.
Another challenge are VMs that cannot properly communicate the necessary information for network performance monitoring. Ensuring that they can, and that the tool of choice can collect them, is a factor to take into consideration.
Keeping large historical data of the performance requires not only storage resources, but needs to be supported by the monitoring software. It is not always the case that network performance monitoring software can handle huge data sets. Having a good amount of historical data of your network is especially vital for capacity planning, and finding a software capable of collecting, analyzing, and storing it can be a challenge.
Further, different devices may export metrics in different formats. Vendors may implement protocols, like SNMP, in slightly different ways, and the data collected from all the devices must be merged to form a cohesive and human-readable collection. It is not a manual task, usually, but adjustments may be needed. Monitoring network performance is as much about collecting as reporting.
FAQ
A good number of free software can monitor the performance of your network. Most are free only up to a number of monitored devices, others have both free and paid versions, with various tiers depending on your requirements. For instance, Checkmk Raw is free, which is a good starting point to monitor your network performances; or it is possible to trial for 30 days the more advanced Checkmk Cloud.
Linux has a few basic network performance monitors like Tcpdump and Netstat. These are indeed basic, only scratching the surface of what network performance monitoring is. More advanced tools for analyzing network performances are well-supported under Linux, though. Checkmk was born with Linux in mind and officially supports with its commercial Editions Ubuntu, Debian, Suse Enterprise Server Distribution, and RedHat/CentOS.