I recently sent out a request to a tech list for suggestions for ways to monitor my web server. Here’s the results.

I’ve just found out about a new monitoring idea someone at work is looking into using twitter. They have created an account for system updates then set up other accounts to follow this and send out sms messages.

The script uses curl and is a one liner:
curl –basic –user username:password –data status=”$* ” http://twitter.com/statuses/update.xml -o /dev/null
You then just call the script with the tweet as the parameters, e.g.
# tweet.sh system down
We looked around and found this product http://www.paessler.com/

Its very good – sends emails on any failure, can monitor stacks of ports / devices – we get it to send SMS’s for escalations outside office hours etc – Runs on Windows as a service with a web interface.
I think there are probably cheaper options that do online monitoring but we monitor quite a lot of sites so it was better to host our own software.
Adam // Internetware

nagios works very well in this type of situation…in addition to
failure reporting you can get it to run remote tasks in the case of
failure such as ask it to restart mysqld or kick an email queue.

To be honest, if I cant locate an issue with a server in four hours I
usually decommission it, format and start again.

Ross Cooney

I’ve been running quite happily with Server Density (http://www.serverdensity.com/) which has an iPhone app which sends Push Notifications when there’s an alert triggered (you set up your own thresholds on there). It’s a lightweight Python agent which sends load/disk/network/apache data back to SD servers as frequently as you like.

Coupled with a Pingdom account which texts me everytime the server is unreachable, you know exactly when things have fallen over. And it means if Push Notifications don’t get through (romaing/network coverage issues etc) then you can still be alerted.
SD also has an API you can build into your own services as well. Which is nice :)

Andrew Waters