Ask HN: What do you use to monitor your websites?

40 points by techiferous ↗ HN
I'm looking for a simple service that sends me an email or text message if a website goes down. Any suggestions?

71 comments

[ 6.5 ms ] story [ 89.9 ms ] thread
Nagios and Monit

Monit after a tip here, great little program.

I use pingdom, it runs on remote servers where locally run systems will fail if your datacenter loses its internet connection etc. Can't fault it but ignore the response times, I think the pingdom servers are just slow ;)
Pingdom - use it on quite a number of projects and they keep adding more data checks around the world making it even better to triangulate back to where and why people are having problems.
pingdom too. Mostly for response times, thaat's much more interesting to me than uptime.
Priced at 2x-4x of a web hosting plan? No alternate DNS management? Crazy.
$9.95/mo is 2x-4x the price of a web hosting plan? There's also a free plan if you're just monitoring one website.
If you pre-pay 3 months or a year a good web hosting costs $4.5-7/month, with cronjobs, and plenty of space where you can store regular offsite backups.

An almost trivial one-liner with curl can do this kind of service.

but this is HN, not godaddy user forums.
Exactly. Setting up a cronjob to monitor and test your web application (be it Cloud, VPS, or dedicated) should be something everybody here can do with eyes closed or at least ask. Paying a pinger service sounds idiotic unless I'm missing something from that service. I'm surprised it even exists.
If your site is small enough to run on a $7 webhosting plan then you probably don't need monitoring.
No, I don't mean to run your site on a web hosting. The thread topic was a monitoring service that pings a website and alerts you charging a ridiculous amount, in my opinion, for an extremely simple service to deploy SEPARATELY on a web hosting plan.
Well, if that amount seems ridiculous to you then you're looking at the wrong figure. Have you considered what it costs to have an engineer sit down and write a proper monitoring and alerting system? Even a small one, i.e. the proverbial curl-loop?

That is the figure you should be looking at because even if you assume only a single day of work you can already buy many months of pingdom service for the same money.

Moreover even the smallest monitoring utility takes quite a bit more effort than a single day once you take SMS alerts with backoff (you don't want to spam, right?), scheduled downtimes and overall babysitting into account. Been there, done that.

So, look at the big picture and those $10 bucks suddenly become a no-brainer.

Pingdom here as well. I think it could stand to be quite a bit cheaper but it works well.
Pingdom with email2sms gateway for external/global checks and zabbix for internal checks
I've got a few users who skype me and e-mail me as soon as the site goes down. Not what you're looking for, but alas, that's what I use for now.
Does anyone know of a monitor that validates entire pages? I want to make sure that my site was not defaced so I would like to compute and compare hash values for a set of files.
Hmm. So I've been writing an uptime monitor and this is an interesting idea. How would you update the hash and how would you handle dynamic content? If the service offered this feature via API seems like a lot of work on the user end.
The site is AJAX so all files (HTML, JS) are static. I am perfectly fine copy-pasting the hashes manually each time I roll out the new version, like this file:

  file1.html 123112
  scripts/script1.js 333222
  scripts/script2.js 444555
The dynamic part of the site comes from a database, but there is no logic in it - only code, and thus possibility to inject malicious sctript, odd behavior or offensive visual through hacking the web site is vastly reduced by verifying hashes and alerting me about any changes.
Worked well for me recently when Linode crashed and burned, it let me know almost right away.
Which is kind of strange as the service is running on Linode itself. I'm currently working on redundancy across data centers/providers.
Pingdom, with NewRelic for more detailed monitoring. That way when a customer emails in with a specific issue we can see what went wrong at a glance.
cloudkick for my slicehost and ec2 instances.
CloudKick also, very nice for some general, free monitors with email notifications.
check_http, one of the stock plugins for nagios.
I'm working on http://nimbu.net/ at the moment that does what you're looking for. I've just added twitter alerts too if you use twitter. If you've got anything specific you would want to monitor then please let me know.
I've got lots of little sites that I'd like to monitor but that aren't that important and aren't making money. So I'm looking for a tool that has a free option but when one of my apps grows into a serious product I can start paying for more services.

For the free service, I'm looking for something that would notify me by email and SMS if the site is down or slow (within about an hour). So far it looks like http://aremysitesup.com/premium/ can do this. Pingdom is way too expensive for my needs right now.

I would love to support a fellow Hacker News reader. Does your app fit my needs?

Yeah, nimbu.net does do what you're asking for and it will always be free for one site. You will get notifications by email and/or SMS and/or twitter within minutes of your site going down. The SMS option won't always be free, but you can send via Twitter and then get Twitter to SMS you for a free option.

Edit: I just re-read about having lots of little sites. I will consider a reduced-functionality (eg. as you say within the hour notification) but allowing more free sites as an option.

"always free for 1 site" seems like a bad call. unless you have a ridiculous number of sites, is it really that much work to make a different account for each site, either with different emails or using a gmail/google apps email and putting a different +whatever in your address? I would guess that your rate of paying customers will be pretty low.
You make a good point and I've thought about that a lot but competitive sites offer free accounts so it would be hard for me not to have a similar option.
You could do something like zoneedit and just have some stern warning about dropping your accounts or charging you for back usage if you get caught circumventing the free limit by opening multiple accounts.
aremysitesup.com is free for five sites, not one, so they are offering me a better solution for my particular problem. The next step up, $35/year, is also low enough to not drive me away. I also see that nimbu.net says, "At the moment nimbu is free to use with a limit of 3 websites." and I have more than 3 I want to monitor right now.

As you can see, you have a lot of sites competing with you (which means you have a market!). Now you need to distinguish yourself.

I'm having trouble finding a service that does the following:

* Offers me a free service that's suitable for sites that aren't that critical.

* Once I need a higher level of service, offers me a way to gradually turn up the service and payment.

Maybe I'm expecting too much out of a free service.

EDIT: I realize what my expectations are now. I think Google has spoiled me. Here's what I expect (and I think the web monitoring service that can offer this solution will likely win):

* Monitor an unlimited number of websites at a frequency of not more than 60 minutes. Will send an SMS and an email if the site is unavailable or too slow. (Maybe there is a cap on the number of SMS messages per month.)

* Offer very gradual price increases for increased service (gradual like this: http://site24x7.com/site24x7-pricing.html)

Thanks for the detailed response. It is useful to hear real-life requirements and I'll bear this in mind when thinking about pricing options. I must admit though the number of options on site24x7 is a bit off-putting to me, I was thinking about much easier 'packages'
You're welcome. Now you have another data point. :) I'm not sure if I'm a typical user, though. Best of luck.
I just signed up for your service. The interface is quick, clean and intuitive - frankly, it's a relief to use it. I also have to give you props for having an SMS setup that works internationally. A handy addition for me would be DNS monitoring.
Thanks for the great feedback, it's always good to hear! I'll add DNS monitoring to the list.
Pingdom for site uptime & paging, munin for capacity planning and performance monitoring, and monit for process monitoring.
Why not write a script that checks the site from a cron job on a different server. You can have it send an email or text via twitter. Cron is a simple service. And if you can write a script that emails you or your phone, you only need to place it on a very reliable server or 2.

I wrote a script, run via cron, that checked a ticket web page every 30 minutes for concert ticket availability. If the text changed, it implied that the tickets were available; the script sent an email to my phone, a text message, telling me call for tickets. ( Ratatat was the band )

The thought crossed my mind when I saw pingdom's prices.
pingdom checks your site from multiple servers all over the world. they provide great uptime and response time graphs. lot more than a one line script can do via a cronjob.
I use monit on my linux boxes.

It requires some setup but the big advantage of this is that it can not only tell you when your site is down, but sometimes ACTUALLY FIX IT by restarting nginx or whatever you need it to do.

This is something a monitoring service can't do since they don't have access to your box. Of course it's not going to be able to fix all situations that could cause downtime, but if it hits a scenario you anticipated it will.

Don't use it to the exclusion of external tools though. monit doesn't help if the server has no connectivity or no power. On a similar tangent, configuring a mutual restart policy (eg: if cron fails monit restarts it and vice versa) is also a good idea.
Actually automatic countermeasures are almost always a bad idea. Don't do it.

If a service crashes repeatedly then fix the service, don't deploy bandaids. Those bandaids tend to pile up and god help you when that pile comes crashing down...

You're ascribing a social phenomena to a technical implementation.