What do you use to monitor your web application?
dmytton: These are all important metrics but they're available from different things.You will have application specific metrics - errors, user counts, message queue sizes. These will help you understand what is happening in the app itself, let you fix problems and ensure that things are running smoothly. For this we use FogBugz to report errors and have various user metrics store in a database.The next level is the daemons and services used by the application. Apache will report the number of req/s and MySQL can tell you about the number of connections, or the status of replication. These are important for planning growth and ensuring your server capacity is sufficient.Then there's the servers themselves. This is CPU load, memory usage, disk usage, etc. This ties closely to the services above.There are a lot of tools for doing these things, but in the end you have to tie everything together yourself. You might start with simple website response monitoring with something like http://www.pingdom.com then move on to having it triggering your own check scripts to alert you when custom stuff goes wrong (e.g. queue sizes).And of course I'd recommend my company's server monitoring product http://www.serverdensity.com ;) but you could spend some time setting up a bigger, more flexible (and thus more complex) tool such as Nagios to pull all the metrics in.