I have several applications that are running 25 hours a day, 7-days a week. They are all web-based, saas applications running on Ruby on Rails. We host our production apps currently on Heroku.
I need a notification system to let me know when the applications are off-line. I know there are a number of options.
I've used Nagios in the past, but it's a bit too configuration intensive for what I need. Also, I'd like an application that I don't host.
Also, I have some worker instances that are running batch jobs. It might be nice to be able to monitor those as well.
It's important that the solution be able to still provide notifications even if Amazon EC2 is down -- so one based on Heroku or Engineyard probably wouldn't work.
The best way to do application availability monitoring is with a simple HTTP ping monitor that runs every minute. For example, we use this at Stackify to monitor our various web applications and marketing websites. We can monitor the response time and ensure that they are responding with an HTTP status code of 200.
Inconsistent bandwidth, high jitter, increased latency and packet loss all work to degrade application performance. While you might not be able to control mobile or most cloud networks, you can build and test apps with these network conditions in mind.
OK, based on your initial need --- I would go with either for heroku monitoring. Neither requires SSH to install
For your worker instances that are running as batch jobs, look at http://www.pushmon.com. You just need to call a URL whenever your batch jobs run successfully. Note I'm associated with PushMon.
We use UptimeRobot for website monitoring.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With