This works really well. It allows me to look in one place and identify most common bottlenecks.

So my question is, how can I do something equivalent (or just very similar) on Linux servers?

I have looked a bit on nmon (http://www.ibm.com/developerworks/aix/library/au-analyze_aix/) which is a free performance monitoring tool developed for AIX but also availble for Linux.
However, I am not sure if nmon allows me to set up the above counters. Maybe it is because Linux and AIX does not allow monitoring these exact same measures. Is so, which ones should I choose and why?

5 Answers
5

Looking at basic system metrics does not give a good indication of performance. It can indicate how performance is constrained - but if you want to measure the performance of your applications then you really need to look at real transactions.

Regardless, there are no end of tools for measuring performance. I use nagios. It's a bit lacking in trending / capacity management but is amazingly flexibile in reporting, escalation, fault isolation and to add custom scripts (which you'll need if you want to measure your transacions). Certainly there are probes available to cover all the metrics you've listed for both MSWindows and Linux.

Maybe I did not express clearly what I meant by performance monitoring. I do not think of application performance. I want to be able to easily identify performance bottlenecks. In other words: if an application is perceived slower than usual, it is often very useful to take a look at graphs for the above counters. For example, if pages input/sec has suddenly become high, it indicates that the system hits swap all the time, thus the machine is probably having too small amount of RAM available.
–
ervingsbJan 17 '12 at 9:26

I know nagios, but it seems more like a tool for monitoring that servers/services are up/reachable. I have looked a bit on the sysstat package and it seems promising, however, I cannot seem to find any information on how to measure such as "pages input/sec" or "current disk queue lenght", or "current CPU queue lenght", etc.
–
ervingsbJan 17 '12 at 9:26

Nagios is just a scheduling / reporting hub to which you can add all sorts of probes in all sorts of different ways. Have a look at NRPE.
–
symcbeanJan 17 '12 at 15:59

There are a number of good options, some of them F/OSS (some F/OSS with support contracts available, some full commercial, for this.

I use http://collectd.org/ with my own script (based on this) to draw pretty pictures from the resulting data in rrd files and send me the occasional email. This may not be as practical for you though (I'm only monitoring a couple of machines).

For a larger install you probably want something like Zabbix (another open source option, but considered more "enterprise grade" than collectd).

We are using Nagios for basic monitoring and Graphite for the performance monitoring. Graphite is a very scalable solution. In combination with the Diamond plugin you can almost measure anything without too much effort.

In general, there are some steps that I follow as a sysAdmin to keep track of all the servers I use.
System commands like top, free -m, vmstat, iostat, iotop, sar, netstat etc. Nothing comes close to these linux utility when you are analysing/debugging a problem. These commands give you a clear picture of what is going inside your server

SeaLion: Agent executes all the commands mentioned above and custom commands as well. Outputs of these commands can be accessed in an extremely useful timeline. This tool comes handy when you are working across hundreds of servers as installation is clear and simple. And its FREE!

Nagios: It tops all monitoring/alerting tools. It is very much customizable but very difficult to setup for beginners. Although there are some nagios plugins.

Server density: A cloudbased paid service that collects important Linux metrics and gives users ability to write own plugins.

New Relic, Zabbix and Munin are some other well-known services.

I have come across a similiar question earlier. You can see if the other answers help you.