I alway use top in order to monitor how much resource is used for what process. And there is iftop for network traffic monitor. They give enough information to nail down and troubleshoot many different issues. However, one thing that I have alway had issues with is disk IO monitoring. I had to use iostat but it does not give information per process so I had to additional analysis to figure out exactly why.
For anyone who experiences similar difficulty with monitoring disk IO, iotop became available recently in Debian/Ubuntu distro. It requires a newer kernel since it needs support from kernel; however, this is a tool that I have been waiting for a long time. It give disk access info in real time per process and it is an excellent troubleshooting tool.