I administer a range of both Windows and Linux servers. On the Windows servers, I have the following performance counters logging every 15 seconds to a CSV file:
Bottleneck analysis:
- Processor Queue Length
- Memory: Pages Input/Sec (rate at which pages are read from disk to resolve hard page faults, i.e. when the system has too little physical RAM)
- Physical Disk: Current Disk Queue Length (For each drive)
- Network Interfaces: Output Queue Length (for each NIC)
General Activity:
- % Processor Time (total)
- Total Working Set (sum for all processes)
- Memory: Available MBytes
- Physical Disk: Bytes/sec (for each drive)
- Network Interface: Total bytes/sec (for each NIC)
I am missing a similar performance log for my Linux servers. I have looked at Sysstat (http://sebastien.godard.pagesperso-orange.fr/) and it seems promising, although rather complex.
If I am to use Sysstat (or something else), how do I set up the Linux equivalent of the above mentioned Windows counters?
dstat and collectl are nice tools giving you and overview of the system, but if you wish to get specific information to put into your CSV file, I'd think the easiest way would be to parse the output from the sysstat tools or vmstat, or just parsing the raw data in /proc.
Specifically:
Processor queue length: 1-min load average from /proc/loadavg
memory pages in/out: si/so columns from vmstat output
physical disk: output from iostat -x
network interface output queue length: ethtool -g ethN and ifconfig ethN (static values, so probably doesn't make much sense?)
% processor time: See e.g. mpstat or per-CPU with "mpstat -P ALL"
total working set: See output e.g. from "free" or "vmstat -s"
available memory: free or vmstat -s
physical disk: See iostat -x
nic: ip -s link or netstat -i and calculate, or sar -n DEV
I would like to suggest another free tool called SeaLion. It is a cloud based monitoring tool this that execute some of well know system profiling commands like
top
,uptime
,iostat
,vmstat
,netstat
etc and present in a very beautiful timeline format. The most important point to be noted here is that the installation process is breeze. It set up in no time and data starts to populating in no time. This is good if you have hundreds of servers to monitor.