Its a call you never, ever want to get. “My server is down!” or “Our website has been hacked!” As a developer, there are few things that make you look worse than getting a call from your client letting you know that their site is down, or worse yet, hacked. Even if you’re not directly involved with hosting their website, they look to you to be on top of the game.
Servers will occasionally have hiccups, but if you’re the one calling them to let them know there is a problem and you’re on top of it, it will only benefit you. So the trick here is to know there is a problem before they do. If you have several different clients (or wear a few too many hats in your current job), this can be easier said than done, especially if you’re no longer in a development phase but have gone into a maintenance phase.
Unless you want to manually check every client site every hour or so, every day, all hours of the day, you need a better plan. So to make sure you come out smelling like roses, even if the server is a piece of something that doesn’t smell nearly as good, you’ll want to look into site monitoring services.
All website/uptime monitoring services basically work the same way: a third-party service attempts to reach out to your server at specific intervals and alerts you if it cannot. Pretty basic stuff – although a few services offer more advanced features that you may feel are worth the money. These services are nice because they monitor the server externally, and there is nothing to install.
Some of the features offered by various services are:
Checking whether or not certain keywords are present – or not present – in the title or body of your website. If you have a site that has been targeted for hacking or defacement in the past, this is a good way to be notified right away if there’s a problem. While it may take you time to fix the vulnerability and restore things to normal, at least you’ll know before your client (or your users) and do some damage control (put up a “technical difficulties” page, etc.) You might start with something simple, like making sure the name of your site appears in the title or body of the page, since most defacements will often replace the entire contents of your page with their defacement.
Configurable timeout that determines whether the server really is down (or slow). The threshold for a “problem” may vary, depending on the expectations of the client and the server setup. If your client is paying $300 a month for a managed Rackspace slot, the response time from the server might be expected to be a little better than the $5 a month Dreamhost account.
SMS notification when there is a problem. While this puts you in the position of potentially getting text message alerts at 4AM, it makes sure you’re made aware of the problem. It absolutely sucks getting woken up in the wee hours of the morning to have to fix a server issue, but when your client sees your emails letting them know there is a proble (instead of the other way around) with a 4AM timestamp, you come out looking like a rockstar who goes above and beyond for their clients and is utterly obsessed with their website. Unless your client has a really crappy hosting company, the wake-up calls shouldn’t happen often. If they happen often, its time to talk to your client about finding a new web host.
Monitoring from multiple geographic locations. Sites can be unreachable for a variety of reasons. Sometimes there really is a problem with the server, and sometimes it can be as simple as a BINF (backhoe-induced network failure). Monitoring from multiple locations can alert you when the site may be unreachable by a certain region or certain ISP customers due to issues beyind your control, and can also help confirm quickly that the problem really is with your server if that’s the case.
There are additional features that some services offer, such as the ability to publicly display your uptime stats on your website that are really just gravy. Unless you’re running a hosting company, your users don’t care about your uptime – and if you’re running a hosting company, you damn well better have your own monitoring system, or you’re in the wrong business. Your clients will only care about their uptime when the server is down. If its not broken, they just don’t give a damn.
Free Website Status Monitoring Services
There are a handful of very basic uptime monitoring services that you can sign up for today and that won’t cost you a dime. These free services are perfectly fine for individual site or blog owners who just want to be notified if their server is unreachable. They don’t offer many (or any) additional options, but they generally do what they promise to do, and they’re free, so there’s no harm in setting them up.
The good folks over at CSS-Tricks just launched this very basic (and very free!) service, and it looks to be pretty solid. Read more about it at CSS-Tricks, or sign up here. It hasn’t been around long enough for me to personally vouch for them, but its certainly worth trying. I’ve gotten some false positives since I signed up, two per day.
This service offers you one free monitor, and allows you to upgrade for multiple monitors for a reasonable price. I have tried this one, and it works just fine. Again, no advanced features, just basic “is the site answering or not”, but certainly worth signing up for the free monitor if you only have a personal site or blog you want to watch. Again, a few false positives, although fewer than AreMySitesUp.
Featured as an MSNBC site of the week, Basic State offers basic site monitoring for free, and includes free SMS alerts in their free account features, something the other freebies don’t. Their monitoring time is not configurable – it will ping your server every 15 minutes, but it does support checking payment gateways and SSL certificates, which is nice. The interface is a bit clunky, but easy enough once you figure it out.
This service offers commercial services (discussed in more detail below) but also offers two free monitors that check status every 60 minutes. The free account comes with 10 free SMS alerts, but you can purchase more on the free account if you need.
Commercial (But Still Cheap) Options
As mentioned above Site 24×7 offers limited free accounts, but their commercial accounts come in packages that can fit just about any budget. You can compare packages and features here. They offer the standard fare of email and SMS alerts, and they also allow you to configure how frequently your sites are monitored on a site-by-site basis, which is nice. Low traffic, low profile sites can be delegated as an every 60 minute monitor, while high-profile sites can check every 5 minutes. Pricing is scaled on the interval level, so setting a less-frequent monitor can help keeps costs within your budget. They also offer e-mail server monitoring. although I haven’t taken advantage of that service.
You can set up keyword criteria and set specific timeout thresholds per site. Plus, one thing Site 24×7 offers that most others don’t is the ability to monitor web applications, including those that require a login and require the user to perform a certain set of actions to get to the monitored area. You can do this by downloading their recording tool that lets you literally record your actions such as logging in, clicking on a specific link, etc. This may sound complicated – its actually not, and its a great way to monitor stuff like Facebook applications, where you have to be logged into Facebook before you can check whether or not the application is working. Their recording tool is windows only, but that’s what Parallels is for 🙂 Plus, you won’t need to record it more than once.
Another nice feature is their emailed reports. These aren’t necessary, but can be a nice thing to send on to clients (they’re nicely formatted and contain graphs) to show them how much you rock.
SiteUptime offers many of the same services as Ste24x7 – HTTP, SMTP, POP, FTP, SSL monitoring, for a comparable price. They also offer a free account that gives you one free monitor, and would be a good way to check out their services before shelling out any money. Their advanced plan is still only $10 a month, so still well within a reasonable budget range – and if you oay a year in advance, you can save $20.
A few other uptime services that I haven’t personally tried, but that have gotten good reviews are Pingdom and ServiceUptime. Their prices seem comparable (although ServiceUptime seems a little steeper than the others), with equivalent services.
Since you’ve got some free options here, there is really no good reason not to be monitoring your server (or your client’s server) uptime.
I strongly recommend using a commercial service if you are a professional developer. I use Site 24×7, with SMS alerts, and have been very happy with their service and can recommend them wholeheartedly. The commercial options listed here are certainly reasonably priced, and can easily be passed on to your clients through maintenance charges. Whether you are responsible for their hosting situation or not, you are likely in a better position to help them understand when something goes wrong. It is the kind of value-added service that will set you apart from other web developers or development shops.
A final note – when you sign up for e-mail alerts from monitoring services, be sure to use an email address that is not connected to the server you’re monitoring. If the server goes down, there is a good chance that your email will also be affected, so it stands to reason you’d want to use an email address that is completely independent of your server, such as your ISP email or gmail.