What is the best way to monitor a production server?

We are running two production servers with Apache 2 and MySQL. I am looking for a reliable way of monitoring our load, stability and uptime.

I have come across monit, but are there better alternatives?


I configured Zabbix on a virtual machine at Slicehost and have been quite pleased with the solution. Since it's physically separate from our production servers it will alert me even if the production network has issues. The virtual machine at Slicehost is cheap and easy to backup.

Zabbix is great because it can monitor website response time and also CPU, disk, and just about anything else. Zabbix will store historical data so you can see how statistics trend over time. I also prefer Zabbix over Nagios because Zabbix has a powerful web based configuration interface.


I personally use Munin for resource and metric reporting. It has plugins for many applications/metrics already, and is ridiculously easy to write plugins for.

For availability monitoring/alerting I've used Zabbix, Zennos, Nagios, and Hyperic. Of all of those, I liked Zabbix the best.