Server load monitoring made easier for you
The load average tries to measure the number of active processes at any time. High load averages usually mean that the system is being used heavily and the response time is correspondingly slow. The server load is influenced by memory usage, CPU usage, size of swap file etc.
The “number of cores = max load” Rule of Thumb: on a multicore system, your load should not exceed the number of cores available.
There are a few different ways to keep an eye on your servers load. We can monitor the load manually or using monitoring tools.
RRDtool (Round-Robin Database Tool)
RRDtool is the OpenSource industry standard, high performance data logging and graphing system for time series data. RRDtool can be easily integrated in shell scripts, perl, python, ruby, lua or tcl applications.The main features of RRD tool are Data Acquisition, Consolidation, Round Robin Archives, Graphing and Aberrant Behavior Detection. Nagios, Cacti, Ganglia etc uses RRDtool as a DBMS and/or graphing subsystem.
Nagios is a powerful, enterprise-class host, service, application, and network monitoring program that enables organizations to identify and resolve IT infrastructure problems before they affect critical business processes. It designed to be fast, flexible, and rock-solid stable and can monitor Windows, Linux/Unix/BSD, Netware, and network devices.
Cacti is a complete network graphing solution designed to harness the power of RRDTool’s data storage and graphing functionality. Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box.
Ganglia is a scalable distributed monitoring system for high-performance computing systems such as clusters and Grids. It is based on a hierarchical design targeted at federations of clusters. It leverages widely used technologies such as XML for data representation, XDR for compact, portable data transport, and RRDtool for data storage and visualization.
Monitorix is a free, open source, lightweight system monitoring tool designed to monitor as many services and system resourcesm as possible. It has been created to be used under production UNIX/Linux servers, but due to its simplicity and small size can be used on embedded devices as well.
MRTG(Multi Router Traffic Grapher)
The Multi Router Traffic Grapher (MRTG) is a tool to monitor the traffic load on network links. MRTG generates HTML pages containing PNG images which provide a LIVE visual representation of this traffic.
Munin is a simple to configure tool which makes graph about server status. It can actually deal with almost all aspect of server (load average, network cards status, CPU usage, memory usage, postfix, exim4, mysql etc.). It is designed to be very plug and play.
Zabbix is the ultimate open source availability and performance monitoring solution. Zabbix offers advanced monitoring, alerting, and visualization features.
For manual monitoring, first you need to do is login to server via SSH. Following are some of the helpful commands which can be used with proper options for monitoring load in server.
|top||: Process Activity Command|
|atop||: Process Monitor|
|vmstat||: System Activity, Hardware and System Information|
|w||: Find Out Who Is Logged on And What They Are Doing|
|uptime||: Tell How Long The System Has Been Running|
|ps||: Displays The Processes|
|free||: Memory Usage|
|iostat||: Average CPU Load, Disk Activity|
|sar||: Collect and Report System Activity|
|mpstat||: Multiprocessor Usage|
|pmap||: Process Memory Usage|
|netstat||: Network Statistics|
|iptraf||: Real-time Network Statistics|
|tcpdump||: Detailed Network Traffic Analysis|
|strace||: System Calls|
|proc||: Process information pseudo-filesystem|
|lsof||: List open files|
|tload||: Graphic representation of system load average|
|traceroute||: Print the route packets take to network host|
If you notice your server slowing down, check the load first. Having an overloaded server can lead to many problems and should always be avoided.
The above is a very rough outline of Server load monitoring methods, if you have any questions, we would be happy to talk to you! 🙂
Blog written and edited by :
Nimi K M works as a Junior Software Engineer in Bobcares. She joined Bobcares in April 2012. She loves reading books and listening music in her free time.