Best Server Administration Tools for Linux

Linux Server Administrator can’t avoid Web hosting control panel. A Web hosting control panel is a web-based interface to manage web services under a unique location. This kind of hosting panel offers easy to use management software’s to simplify the process of handling servers without the need of expert knowledge of sever administration. When we talking about Web Hosting Control panel, we can’t avoid cPanel and Plesk. The most popular and powerful Web based control panels. These two panels are paid software’s and hosting provider will charge a monthly fee for installing it on the server.

cPanel

cPanel combines a simple and easy to use interface with advanced tools which enable it to appeal to both the new user and experienced professional.

cPanel give you a complete control over the various aspects of website and administration through a standard web browser and also streamlines the process such as Creating database, setting up email account and auto responder and managing website files.

Plesk

Plesk is a great alternative to cPanel because it is available on both Linux and Windows. Plesk excels in areas such as instance clustering support and easy user access management. Plesk is not as popular as cPanel, but it is growing in popularity due to a large number of webmasters using Windows.

Features :

Create FTP account for users.

Manage and create email account and database like MySQL and PsotgreSQL.

Add domains and subdomains.

Restore and take back up of files.

Manage DNS and other resources.

Open source control panel

And also there are open source control panel available to download at no cost with similar features. Most famous open source control panel are below :

Webmin :

Webmin is the ultimate web-based management platform for Linux and several other operating systems. Written in Perl, it simplifies and streamlines standard administrative tasks. Additionally, Webmin helps you configure very complex implementations of Apache, MySQL and SendMail.

Virtualmin :

Virtualmin is a powerful and flexible free web hosting control panel for Linux based on Open Source web-based systems management. We can manage virtual domains, mailboxes, databases, applications, and the entire Linux server, from one comprehensive and easy interface.

There are also paid versions of Virtualmin depending on the number of domains that you need, from 10 to unlimited domains and like every GUI available, it counts with support.

DirectAdmin :

DirectAdmin is popular due to its speed, stability and price point, but cPanel is better designed and more neatly laid out resulting in most webmasters choosing cPanel over DirectAdmin.

Features

Manage and create email account and manage database.

Create FTP account for users.

Manage frontpage extension, DNS and view statistics.

Built in File Manager to manage uploads

Set up error pages and directory password protection.

H-Sphere

H-sphere is offered by Positive Software and boasts the ability to be used on all major server operating systems. H-Sphere contains a criteria amount of advanced features which make it great for scalable multi-server cluster setups, but ultimately the focus on advanced features is also its downside as it is one of the most difficult to use control panels.

ZPanel

Zpanel is easy to use enterprise class web hosting control panel for Linux, UNIX, MacOS and Microsoft Windows.

Zpanel is written in purely PHP language and runs on Apache, PHP and MySQL. It comes with core set of essential features to run your web hosting service. The core features includes Apache Web Server, hMailServer, FileZilla Server, MySQL, PHP, Webalizer, RoundCube, phpMyAdmin, phpSysInfo, FTP Jailing and many more.

OpenPanel

OpenPanel is an open source web based control panel licensed under GNU General Public. It has an attractive and easy to use interface. It can manage Apache, AWStats, Bind DNS, PureFTPD, Postfix, MySQL databases, IPTables firewall and Courier-IMAP e-mails and more.

System Administrators need a set of tools with which to manage their often unmanageable systems and environments. The two important tools that use to track records and test of time in the data center are below :

Virtual Network Computing (VNC)

VNC has become one of the most readily recognized and widely utilized remote access tools in the System Administrator’s toolbox. Its broad acceptance is due in part to its platform-independence. VNC is easy to install, simple to configure and available for almost every contemporary operating system.

Linux Rescue CD

Numerous rescue CDs exist for every task or imaginable situation. There are a three notable standouts in the crowd for those of you who don’t have one of these in your arsenal: The Ubuntu Rescue Remix, Parted Magic and GRML. Ubuntu Rescue Remix is a command line-based data recovery and forensics tools compilation (CD or USB). Parted Magic is a super diagnostic and rescue CD/USB/PXE that contains extensive documentation. GRML is a Debian-based live CD that contains a collection of System Administrator tools for system rescue, network analysis or as a working Linux distribution.

Monitoring and debugging

Linux performance problems is also important in Server Administration. The most important Linux Monitoring Tools are below :

Command Line Tools

Top

This is a small tool which is pre-installed on many unix systems. When you want an overview of all the processes or threads running in the system: top is a good tool.

htop

Htop is essentially an enhanced version of top. It’s easier to sort by processes. It’s visually easier to understand and has built in commands for common things you would like to do. Plus it’s fully interactive.

atop

Atop monitors all processes much like top and htop, unlike top and htop however it has daily logging of the processes for long-term analysis. It also shows resource consumption by all processes. It will also highlight resources that have reached a critical load.

apachetop

Apachetop monitors the overall performance of your apache webserver. It’s largely based on mytop. It displays current number of reads, writes and the overall number of requests processed.

ftptop

ftptop gives you basic information of all the current ftp connections to your server such as the total amount of sessions, how many are uploading and downloading and who the client is.

mytop

mytop is a neat tool for monitoring threads and performance of mysql. It gives you a live look into the database and what queries it’s processing in real time.

powertop

powertop helps you diagnose issues that has to do with power consumption and power management. It can also help you experiment with power management settings to achieve the most efficient settings for your server. You switch tabs with the tab key.

iotop

iotop checks the I/O usage information and gives you a top-like interface to that. It displays columns on read and write and each row represents a process. It also displays the percentage of time the process spent while swapping in and while waiting on I/O.

Desktop Monitoring

ntopng

ntopng is the next generation version of the original ntop, a network traffic probe that monitors network usage. ntopng is based on libpcap and it has been written in a portable way in order to virtually run on every Unix platform, MacOSX and on Windows as well.

Iftop

ftop is a command-line system monitor tool that produces a frequently updated list of network connections. It listens to network traffic on a named interface and displays a table of current bandwidth usage by pairs of hosts

jnettop

jnettop visualises network traffic in much the same way as iftop does. It also supports customizable text output and a machine-friendly mode to support further analysis.

bandwidthd

BandwidthD tracks usage of TCP/IP network subnets and visualises that in the browser by building a html page with graphs in png. There is a database driven system that supports searching, filtering, multiple sensors and custom reports.

iptraf

iptraf gathers a variety of metrics such as TCP connection packet and byte count, interface statistics and activity indicators, TCP/UDP traffic breakdowns and station packet and byte counts.

ngrep

ngrep is grep but for the network layer. It’s pcap aware and will allow to specify extended regular or hexadecimal expressions to match against packets of .

MRTG

MRTG was orginally developed to monitor router traffic, but now it’s able to monitor other network related things as well. It typically collects every five minutes and then generates a html page. It also has the capability of sending warning emails.

traceroute

Traceroute is a built-in tool for displaying the route and measuring the delay of packets across a network.

vnStat

vnStat is a network traffic monitor that uses statistics provided by the kernel which ensures light use of system resources. The gathered statistics persists through system reboots. It has color options for the artistic sysadmins.

netstat

Netstat used to find problems in the network that displays TCP network connections, routing tables and a number of network interfaces. It’s used to find problems in the network.

ss

Instead of using netstat, it’s however preferable to use ss. The ss command is capable of showing more information than netstat and is actually faster. If you want a summary statistics you can use the command ss -s.

nmap

Nmap allows you to scan your server for open ports or detect which OS is being used. But you could also use this for SQL injection vulnerabilities, network discovery and other means related to penetration testing.

MTR

MTR combines the functionality of traceroute and the ping tool into a single network diagnostic tool. When using the tool it will limit the number hops individual packets has to travel while also listening to their expiry. It then repeats this every second.

tcpdump

tcpdump will output a description of the contents of the packet it just captured which matches the expression that you provided in the command. You can also save the this data for further analysis.

Infrastructure Monitoring

KDE system guard

This tool is both a system monitor and task manager. You can view server metrics from several machines through the worksheet and if a process needs to be killed or if you need to start a process it can be done within KDE system guard.

Munin

Munin is both a network and a system monitoring tool which offers alerts for when metrics go beyond a given threshold. It uses RRDtool to create the graphs and it has web interface to display these graphs. Its emphasis is on plug and play capabilities with a number of plugins available.

Nagios

Nagios is system and network monitoring tool that helps you monitor monitor your many servers. It has support for alerting for when things go wrong. It also has many plugins written for the platform.

Zenoss

Zenoss provides a web interface that allows you to monitor all system and network metrics. Moreover it discovers network resources and changes in network configurations. It has alerts for you to take action on and it supports the Nagios plugins.

Cacti

(And one for luck!) Cacti is network graphing solution that uses the RRDtool data storage. It allows a user to poll services at predetermined intervals and graph the result. Cacti can be extended to monitor a source of your choice through shell scripts.

Zabbix

Zabbix is an open source infrastructure monitoring solution. It can use most databases out there to store the monitoring statistics. The Core is written in C and has a frontend in PHP. If you don’t like installing an agent, Zabbix might be an option for you.

nmon

nmon either outputs the data on screen or saves it in a comma separated file. You can display CPU, memory, network, filesystems, top processes. The data can also be added to a RRD database for further analysis.

Glances

Glances monitors your system and aims to present a maximum amount of information in a minimum amount of space. It has the capability to function in a client/server mode as well as monitoring remotely. It also has a web interface.

saidar

Saidar is a very small tool that gives you basic information about your system resources. It displays a full screen of the standard system resources. The emphasis for saidar is being as simple as possible.

monit

Monit has the capability of sending you alerts as well as restarting services if they run into trouble. It’s possible to perform any type of check you could write a script for with monit and it has a web user interface to ease your eyes.

Linux process explorer

Linux process explorer is akin to the activity monitor for OSX or the windows equivalent. It aims to be more usable than top or ps. You can view each process and see how much memory usage or CPU it uses.

df

df is an abbreviation for disk free and is pre-installed program in all unix systems used to display the amount of available disk space for filesystems which the user have access to.

discus

Discus is similar to df however it aims to improve df by making it prettier using fancy features as colors, graphs and smart formatting of numbers.

xosview

xosview is a classic system monitoring tool and it gives you a simple overview of all the different parts of the including IRQ.

Dstat

Dstat aims to be a replacement for vmstat, iostat, netstat and ifstat. It allows you to view all of your system resources in real-time. The data can then be exported into csv. Most importantly dstat allows for plugins and could thus be extended into areas not yet known to mankind.

Net-SNMP

SNMP is the protocol ‘simple network management protocol’ and the Net-SNMP tool suite helps you collect accurate information about your servers using this protocol.

incron

Incron allows you to monitor a directory tree and then take action on those changes. If you wanted to copy files to directory ‘b’ once new files appeared in directory ‘a’ that’s exactly what incron does.

monitorix

Monitorix is lightweight system monitoring tool. It helps you monitor a single machine and gives you a wealth of metrics. It also has a built-in HTTP server to view graphs and a reporting mechanism of all metrics.

vmstat

vmstat or virtual memory statistics is a small built-in tool that monitors and displays a summary about the memory in the machine.

uptime

This small command that quickly gives you information about how long the machine has been running, how many users currently are logged on and the system load average for the past 1, 5 and 15 minutes.

mpstat

mpstat is a built-in tool that monitors cpu usage. The most common command is using mpstat -P ALL which gives you the usage of all the cores. You can also get an interval update of the CPU usage.

pmap

pmap is a built-in tool that reports the memory map of a process. You can use this command to find out causes of memory bottlenecks.

ps

The ps command will give you an overview of all the current processes. You can easily select all processes using the command ps -A

sar

sar is a part of the sysstat package and helps you to collect, report and save different system metrics. With different commands it will give you CPU, memory and I/O usage among other things.

collectl

Similar to sar collectl collects performance metrics for your machine. By default it shows cpu, network and disk stats but it collects a lot more. The difference to sar is collectl is able to deal with times below 1 second, it can be fed into a plotting tool directly and collectl monitors processes more extensively.

iostat

iostat is also part of the sysstat package. This command is used for monitoring system input/output. The reports themselves can be used to change system configurations to better balance input/output load between hard drives in your machine.

free

This is a built-in command that displays the total amount of free and used physical memory on your machine. It also displays the buffers used by the kernel at that given moment.

/Proc file system

The proc file system gives you a peek into kernel statistics. From these statistics you can get detailed information about the different hardware devices on your machine. Take a look at the full list of the proc file statistics

Log Monitoring Tools

GoAccess

GoAccess is a real-time web log analyzer which analyzes the access log from either apache, nginx or amazon cloudfront. It’s also possible to output the data into HTML, JSON or CSV. It will give you general statistics, top visitors, 404s, geolocation and many other things.

Logwatch

Logwatch is a log analysis system. It parses through your system’s logs and creates a report analyzing the areas that you specify. It can give you daily reports with short digests of the activities taking place on your machine.

Swatch

Much like Logwatch Swatch also monitors your logs, but instead of giving reports it watches for regular expression and notifies you via mail or the console when there is a match. It could be used for intruder detection for example.

MultiTail

MultiTail helps you monitor logfiles in multiple windows. You can merge two or more of these logfiles into one. It will also use colors to display the logfiles for easier reading with the help of regular expressions.

Network Monitoring

acct or psacct

acct or psacct (depending on if you use apt-get or yum) allows you to monitor all the commands a users executes inside the system including CPU and memory time. Once installed you get that summary with the command ‘sa’.

whowatch

Similar to acct this tool monitors users on your system and allows you to see in real time what commands and processes they are using. It gives you a tree structure of all the processes and so you can see exactly what’s happening.

strace

strace is used to diagnose, debug and monitor interactions between processes. The most common thing to do is making strace print a list of system calls made by the program which is useful if the program does not behave as expected.

DTrace

DTrace is the big brother of strace. It dynamically patches live running instructions with instrumentation code. This allows you to do in-depth performance analysis and troubleshooting. However, it’s not for the weak of heart as there is a 1200 book written on the topic.

stat

Stat is a built-in tool for displaying status information of files and file systems. It will give you information such as when the file was modified, accessed or changed.

ifconfig

ifconfig is a built-in tool used to configure the network interfaces. Behind the scenes network monitor tools use ifconfig to set it into promiscuous mode to capture all packets.

ulimit

ulimit is a built-in tool that monitors system resources and keeps a limit so any of the monitored resources don’t go overboard.

cpulimit

CPUlimit is a small tool that monitors and then limits the CPU usage of a process. It’s particularly useful to make batch jobs not eat up too many CPU cycles.

lshw

This will extract detailed information about the hardware configuration of the machine. It can output everything from CPU version and speed to mainboard configuration.

w

W is a built-in command that displays information about the users currently using the machine and their processes.

lsof

lsof gives you a list of all open files and network connections. From there you can narrow it down to files opened by processes, based on the process name, by a specific user or perhaps kill all processes that belongs to a specific user.

If you want to learn more about server management tools, check out our related blog topics

Top Server Monitoring Tools and Best Practices

Best Free Server Monitoring Tools for Linux and Windows

10 Top Free Server Monitoring Tools for Server Administrators

5 Server Management Tools to Ensure a High Performing Website

ServerAdminz provides Outsourced 24/7 Technical Support, Remote Server Administration, Server Security, Linux Server Management, Windows Server Management and Helpdesk Management to Data centers, Hosting companies and ISPs around the world. We specialize in Extended Server Security, Server Hardening, Support of Linux/UNIX/Windows servers, products and services.

ServerAdminz is a server support company specialized in Outsourced 24/7 Web Hosting Support, Remote Infrastructure Management, NOC, Cloud and Enterprise Security Services. With over 10+ of years of experience in working with major Data Centers and ISPs with 130+ experienced technicians, we continue to manage more than 49,000 servers from 85+ countries and has bagged 5 international awards.

If you have any queries regarding server administration, share your thoughts and our representative will get back to you.