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?
Server Fault is a question and answer site for system and network administrators. It only takes a minute to sign up.Sign up to join this community
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.
You could set up a free monitoring solution like Incinga or Nagios. There are tons of plugins for every check you can think of. Or you could just write your own script which reports a status ("good", "bad", whatever...). A good commercial thingy would be WhatsUp Gold. It includes performance measurement tools, too.
If you want some real gold, take a look at Jazzey. It's a real high class, really expencive, end-to-end monitoring tool. It simulates real users working with your (web-) apps. Spent lots of ours with at work.
Monit works locally on the servers, so it doesn't really give you realistic stability statistics. If the network your server on goes out, or the server itself goes down, monit can not notify you.
I use Zabbix for load, stability and uptime monitoring; it does just about anything you can think of. The only downside is that you need to have it running on an external server.
Nagios is a good place to start. If you also would like to track trends with the server performance and graph them I recommend looking at Cacti as well.