Troubleshooting is part and parcel of being an administrator, no matter what platform(s) you’re trying to protect. Linux systems, in particular, have a diverse range of troubleshooting tools users can leverage to find the root cause of poor performance. In this article, we’re going to look at the nine best Linux troubleshooting tools.
The list includes everything from network monitoring tools that monitor Linux systems remotely to Linux-based command-line utilities that let you investigate performance issues manually.
Here is our list of the nine best Linux network troubleshooting tools:
- SolarWinds Server & Application Monitor (FREE TRIAL) Server and application monitoring tool that can automatically discover Linux applications and servers, with health and availability monitoring, alerts, and more.
- ManageEngine OpManager Network monitoring software with Linux server monitoring, custom dashboards, reports, alerts, and more.
- Paessler PRTG Network Monitor Infrastructure monitoring software with Linux server monitoring, network autodiscovery, alerts, and more.
- Ping Linux utility that allows you to test a device’s connectivity.
- Ifconfig Command line utility for UNIX-based OS allows you to query TCP/IP network configurations of interfaces, change MAC addresses, and more.
- Netstat Command line utility that enables you to monitor ingoing and outgoing connections with your device, showing the state of links, a network routing table, and more.
- NSLookup Command line utility lets you perform DNS lookups, reverse DNS lookups, gather authoritative domain information, and more.
- Route Command line utility that displays the kernel IP routing table and allows you to modify it.
- Tcpdump Command line utility you can use to capture and inspect traffic with protocol filters, host filters, and more.
The Best Linux Network Troubleshooting Tools
SolarWinds Server & Application Monitor is a server and application monitoring tool that allows you to monitor Linux applications and servers. Things you can scan with SolarWinds Server & Application Monitor include health, availability, response time, packet loss, CPU utilization, memory utilization, and more.
- Linux health and availability monitoring
- Graphs and charts
The platform automatically discovers Linux servers and applications so you can up and running quickly. Once you’re ready to start monitoring, you can keep tabs on system performance through a dashboard view, enabling you to identify servers with performance issues like high response times and latency. Features like graphs and charts then give you complete visibility over performance issues.
Alerts notify you about any performance issues with endpoints in your environment. You can configure custom trigger conditions to determine when the system generates a warning, for instance, if latency goes above a particular value.
SolarWinds Server & Application Monitor is a top-of-the-range solution for enterprises that want a streamlined Linux server monitoring experience. It is available on Windows. Pricing starts at $1,622 (£1,173.60). You can start a free and fully functional 30-day trial.
2. ManageEngine OpManager
ManageEngine OpManager is a network monitoring tool that you can use to monitor the CPU, memory, and disk utilization of Linux servers. The platform comes with out-of-the-box templates for tracking a range of Linux devices, including routers, switches, firewalls, and load balancers.
- Linux monitoring
- Out-of-the-box monitoring templates
- Custom dashboard
Custom dashboards allow you to use over 200 different widgets to create your monitoring environment. There is also a range of reports you can generate if you’re looking to view more specific information on systems. Out-of-the-box reports include System, Health and Performance, Availability and Response, Inventory, WAN RTT Monitors, VoIP Monitors, Virtual Servers, Storage Reports, and more.
An alerts system gives you a heads-up on performance issues whenever they occur. Whenever an alert is created, you can click on the alarm message to view more details about the alert and brief event history. You can also take follow-up actions such as running a Ping test or conducting a TraceRoute on a device.
ManageEngine OpManager is a solid choice for enterprises that require cost-effective Linux monitoring with a diverse feature set. It is available on Windows and Linux. Standard Edition costs $245 (£177.28) for ten devices. You can download the 30-day free trial from this link here.
3. Paessler PRTG Network Monitor
Paessler PRTG Network Monitor is an infrastructure monitoring tool that you can use to monitor Windows and Linux servers. Paessler PRTG Network Monitor comes with Linux and UNIX sensors to monitor Linux machines and automatically discovers devices connected to your network so that you don’t have to add them to the system manually.
- Monitor Linux servers
- Custom dashboard
- Network autodiscovery
- Threshold-based alerts.
The platform allows you to create custom dashboards and network maps from over 300 different map objects. This allows you to build a monitoring experience that prioritizes the systems most important to your environment. You can also generate reports to look at historical monitoring data, whether scheduled or on-demand, and export them in HTML or PDF formats.
Threshold-based alerts allow you to set trigger conditions that determine when the platform generates an alert. For instance, if the response time exceeds a parameter you’ve chosen, the tool will alert you by email, SMS, or push notification.
Paessler PRTG Network Monitor is a solid solution for enterprises looking to monitor Linux devices from a Windows-based system. The platform is available for free for less than 100 sensors. Available on Windows. Pricing starts at $1,750 (£1,266) for 500 sensors. You can download the 30-day free trial from this link here.
Ping or Packet Internet Groper is a Linux utility that allows you to test the connection between a host and server. With the Ping command, you can enter an IP address or URL and send an ICMP message to that address, and the utility will use the ICMP protocol to measure the amount of time it takes to get a response from the destination.
- Test connection between host and server
- Monitor min, avg, and max RTT
- View packet loss
Pinging the response time brings up a list of responses from the server and details how long it took for the server to respond. The output will continue until you stop pinging by pressing ctrl+c. At the bottom of the production, you can see the min (minimum), avg (average), max, and (maximum) Round Trip Time (RTT) of all packets sent and the overall percentage of packet loss.
Ping is a helpful tool in scenarios where you have a poorly performing device and want to look at the actual amount of latency and packet loss. You can install ping by entering the ping -v command. You need to have permission to run the commands.
Ifconfig or interface Configuration is a command-line utility for Unix-based operating systems that you can use to view the configurations of active network interfaces and see IPv4 addresses, IPv6 addresses, subnets, and default gateways of interfaces.
- Query interface TCP/IP network configurations
- Change interface MAC address
- Assign static IP addresses to interfaces
The software enables you to select specific interfaces to query, create a list of network interfaces, assign static IP addresses to interfaces, or change the MAC address of interfaces. You also have the option to enable and disable network interfaces.
Ifconfig is a helpful resource to use whenever you’re trying to tune systems within your network. You can install the tool for Debian, Ubuntu, and other distributions by entering the apt-get install net-tools command. For CentOS, you need to enter the install net-tools command.
Netstat is a command-line utility that provides you with information on ingoing and outgoing connections to your system. Netstat allows you to look at the methods connected to your device, detailing the IP address and state of the system’s ports. For example, you can see what connections are listening to your system.
- Command line utility
- View ports and IP addresses of active connections
- View routing table information
You can also use the -r command to view a network routing table. The table includes information on the Destination, Gateway, Genmask, Flags, and MSS Window connections.
While Netstat is a handy tool in those scenarios where you want to double-check the connections to your device and make sure that they aren’t malicious, it’s important to note that it has been decommissioned. The command is pre-installed on modern Linux systems, but you need to install the net-tools command if you’re running an older system.
Nslookup or Name Server Lookup is a Linux command that allows you to poll the DNS server for DNS records, domain names, and IP addresses. To use the tool, you simply enter a domain name or URL into the command line, and the output will show the IP address of the domain. You also have the option to perform reverse DNS lookups by adding an IP address.
- Poll DNS servers for records, domain names, and IP addresses
- Reverse DNS lookup
- View authoritative domain information
If you want to gather more information, then there are several other commands you can use. Using the -type=soa command alongside a URL allows you to look up the Start of Authority (SOA) and view information such as the domain serial number and email address of the domain admin.
Nslookup provides a simple way to perform DNS lookups. Many Linux distributions have NSlookup installed, but if you don’t, and you’re on Ubuntu, Debian, or Linux Mint, you can use install dnsutils. Alternatively, if you’re on CentOS, Fedora, or RedHat, you can use install bind-utils.
Route is a command-line utility for Linux that you can use to set up static routes to hosts. Entering the route command brings up the kernel IP routing table that outlines how packets are transferred throughout the network, including the destination, gateway, unmask, flags, metric, ref, use, and interface.
- Set up static routes to hosts
- Forward packets to the gateway address
- Reject rerouting to host
You can modify the routing table by using the add or del options. Using the add default gw followed by the IP address of a new default gateway enables you to forward packets to a gateway address. Likewise, you can use add -net to add a routing entry. You can also use the add -host IP address reject command to block rerouting packets to particular hosts.
Route is a helpful tool for looking up an IP routing table and keeping an eye on how packets are routed throughout your network. To install the route command on Debian, Ubuntu, CentOS, and RedHat Linux machines, you need to complete the install net-tools command.
Tcpdump is a command-line utility you can use to capture and inspect network traffic. With Tcpdump, you can capture various packet types, including TCP, UDP, and ICMP packets. Captured packets display the timestamp of the received packet, the type of network protocol (IPv4 or IPv6), source IP address and port, destination IP address and port, and TCP flags.
- Capture and inspect network traffic
- Capture TCP, UDP ICMP packets
- Filter packets by type
The utility allows you to filter packets by type to reduce the amount of output information you receive. You can also use the host, port, source IP/hostname filters to restrict packet capture to only those of a specific host, port, or source IP.
Tcpdump is a helpful tool for those scenarios where you want to monitor network performance through the command line. The tool is installed on most Linux distributions by default. The system requires libpcap to install it.
Best Linux Network Troubleshooting Tools: Editor’s Choice
As you can see, there is an abundance of network troubleshooting and monitoring tools available for Linux, all the way from complete infrastructure monitoring tools to smaller utilities based on Linux.
Out of the tools listed above, SolarWinds Server & Application Monitor and ManageEngine OpManager are excellent places to start if you want to monitor Linux devices remotely. In contrast, the command-line utilities are more useful in those scenarios where you want to perform manual diagnostics on systems.