Monitoring password protected websites

Some of our customers have asked us to add basic authentication to our HTTP checks. They want to be able to check the availability of web pages that are protected from public access by a login. So, we have enhanced our HTTP and HTTP Content checks to support basic authentication.

This means that when you set up HTTP or HTTP Content checks in NodePing’s website monitoring service, you can now include a username and password in the URL. The format is username:password@host. We already supported both http and https requests and arbitrary ports in the URL. The following URL examples are all in a valid format for NodePing HTTP and HTTP Content checks (although these are fictitious, don’t actually use these URL’s in your checks), with this enhancement rounding out the list:

People who use this feature should be aware that HTTP basic authentication is not secure, which is one of the reasons we had not included it until now. This has required a small change to our Terms of Service to point out that we aren’t responsible for confidential information that is included in checks such as this. If you choose to include a username and password in your checks, you should take normal precautions to protect your data, including making sure that the login used for the checks is limited to no more access than is needed for the check, and avoid reusing passwords.

If you have any questions about basic authentication in HTTP or HTTP content checks, or about any aspect of our website monitoring, please don’t hesitate to ask us by emailing info@nodeping.com.

Server Monitoring from Europe

NodePing is happy to announce we’ve added a new region to our check locations. You can now choose to run your checks from our North American or new European regions… or both!

Website Monitoring

We’ve heard from many of our customers with a presence in Europe that a check location on that side of the pond would be a huge benefit. Thanks to our great providers, IntroVPS and RobHost, we added 4 new probe servers in the following locations:

  • London, England
  • Amsterdam, Netherlands
  • Falkenstein, Germany
  • Bucharest, Romania
Check out our FAQ for ip addresses and more information on our check locations.

We’ve also introduced the idea of a ‘default region‘ for your NodePing account. For new customers, you’ll set your default region when you sign up. Current customers have their default region set to ‘North America’. The default region can be changed in the ‘Scheduling‘ tab. When you create checks, they will be automatically run from your default region. You may, of course, decide to run any check from any region (including multiple regions and ‘worldwide’) by simply choosing the desired region from the check configuration when you create it. You can also change an existing check by selecting a different region in the check configuration at any time.

When you assign your checks to a region, they will be run from a random server in that region. If an ‘up/down’ event is detected, NodePing will immediately and automatically recheck from other servers in that same region. The number of rechecks is based on your configuration of the check – the default is 2 rechecks. After verifying the ‘up/down’ status on other servers in the same region, we’ll send out your configured email and SMS notifications.

Everything is included with NodePing so the new European region checking is already part of your flat-rate $10 a month subscription which includes your 1000 site/server checks, unlimited logins, contacts, contact groups, emails and international SMS. If you’re not already a customer, sign up for your free 15-day trial.

We’re already planning to add even more check regions to NodePing – Oceania maybe? South America? East Asia? Let us know in the comments what new region you’d like to see added next.

Contact Groups added to NodePing

We have been getting a lot of great feedback and suggestions from our users over the months since we launched the NodePing monitoring service. One feature that many people have asked for is the ability to group contacts and assign notifications to groups of contacts rather than just to individuals. Today we’re excited to announce that we’ve added Contact Groups to the service.

You can now create a Group, assign individual addresses or phone numbers to each contact group, and then set the Group to receive notifications for individual checks. So, for example, you could create a Developers group and a Systems group and have each assigned to different sites or servers you are monitoring. Then if the makeup of that part of your team changes you can change who belongs to the group without having to change each of the notifications.

One way we use this feature in the NodePing team is to assign SMS numbers to a group called SMS. Then we can easily set notifications to all of our phones together. For us, SMS notifications generally mean “Do something about this now!” and it makes it easy to assign key services to this notifications contact group. You could also use it to group all of a person’s contact methods easily for notifications that should get to them wherever they are. So for example you could create a “Shawn” group and include all of Shawn’s email addresses and phone numbers in that group. Then notifications will automatically be sent to all of his addresses.

As with contacts, there is no limit on the number of contact groups you can use in NodePing. You can mix and match contact methods in all kinds of ways, to suit your particular needs. We’re happy to now get to use this feature ourselves, and we hope it will further enhance the usefulness of our service to you as well.

There are a few smaller enhancements and adjustments in the release today as well, and we have more coming. Thank you to everybody who has chosen NodePing for their server and website monitoring. Thank you also to everybody who has given us feedback and suggestions. Please keep them coming!

When 200 Isn’t Enough

Website monitoring seems like a simple thing.  Most HTTP checks look for a response in the 200-399 range, 200 being the most common HTTP response meaning “Server responded correctly – here’s the resource you were looking for.”  But if you’re one of the millions of people or businesses that use Joomla, checking for 200 just isn’t enough.

Now don’t get me wrong, I like Joomla.  It’s a fine CMS and I’ve built many custom modules and plugins for it.  There are plenty of great websites running on it.  But you have to keep a close eye out for errors.

Today, one of our clients had an issue with the network storage on their server and the file system was quickly remounted in read-only mode.  This is expected and even prescribed behavior for mount point errors.  But MySQL, the database, didn’t like not being able to write to its tables and logs and quickly failed.  That, in turn, took the public website offline.  Joomla presented a big white page with the error message Database Error: Unable to connect to the database:Could not connect to MySQL.  The site was not working as expected… surely the website monitoring service would send an alert!  Nope.  The database access error was returned with an HTTP status of 200.  The web server was saying “Everything’s OK.”  No alert was sent from the basic HTTP check.  How embarrassing is it to get the news that your website is down on a call from a customer?

With NodePing, you can use our HTTP Content checks to make sure this doesn’t happen to your Joomla (or other CMS) site.  It works by simply searching for particular text within the returned HTML page.  If you add a check that searches for your copyright footer, it will fail as expected if the database is unavailable and the above error message was returned on the check.  You’ll receive your email or SMS notification that it’s down and can react quickly.  Conversely, if you know the exact error you want to avoid, you can run a negative content check so that it will alert you when the response of the check DOES contain the text ‘Database Error’.

With today’s complex web applications depending on many moving parts, it’s not enough to just check for a 200 response from a web server.  You have to dig deeper, and NodePing has just the shovel you need.

Making sure a web site is solid

There are a lot of things that go into making an Internet business successful. Layout, design, content wording, the effectiveness of graphics and how they are placed, the call to action, SEO, marketing and ads, product placement, pricing, visitor experience, check out processing… not to mention having the right product at the right time. None of that matters at all if your web site isn’t up.

Once you do all the work to get it all working together, you want to make sure it stays that way. Monitoring is a required part of running a solid business. It is a basic part of the infrastructure necessary to make sure your investment is going to continue to work for you. It isn’t something that is really optional when it comes to protecting the work and financial investment you put into building your site.

A server monitoring service checks to make sure things are working properly at all times. It isn’t just about making sure the server is up (although that is important). Monitoring should be comprehensive, and touch each part of your critical business infrastructure. Yes, you need to know if your server is sown. You also need to know if people are seeing database errors, or if their email to your customer service aren’t going through, and if your DNS is working properly. Each piece of your site should be checked to make sure everything is as it should be.

That means that one check on your front page isn’t really enough. Typically, a web site is running some kind of software that provides the framework of the site. Joomla, Drupal, and WordPress are all popular tools for this piece, but there are many others. Some businesses write their own platforms for this piece, but just about everybody uses something (even if it is custom built) that provides the framework for their content. If this piece breaks, it most often won’t show as down to simplistic site checks. The web server will still respond to requests, people will just see an ugly error message instead of your beautiful design. Your monitoring should check to make sure that your page is not just up, but working properly.

In fact, if your site uses several components that all need to be working together to pull off the overall effect, you should monitor each piece. That might consist of a shopping cart component (like osCommerce), a database and module for your inventory and product placements. Your blog needs to be working smoothly. If you serve images or media from a separate service or server you need to keep an eye on that too.

What does this look like in practice? Typically, you’ll want a basic HTTP check to monitor the entry page to your site. Then, you’ll want a content check on an image and other key elements that might break independently. For dynamic content served through modules or integration, you often don’t know in advance what that content will be. For those, a negative content check is in order, watching for an error or for messages like “0 items found.” For each of these checks, you’ll want to tune the timeouts to levels appropriate for your hosting and configuration.

All of this should be easy, and it shouldn’t cost you too much. You should be able to set it up, and then it should just work. This isn’t where you want to spend your time and energy. It should be boring stuff. It should be simple and dependable. If you are a small to medium sized business with a typical web site or three, and you don’t have a team of people dedicated to doing all the stuff we’ve discussed here, you should not have to spend more than twenty dollars a month on monitoring for your entire business infrastructure, and the whole monitoring setup should not take more than a few minutes a month of your time. If your monitoring provider is costing more than that or is more trouble than that, switch to someone else.

Many people think they can get monitoring for free. You can’t. The businesses that offer “free” services are paying ad costs around $10 per visitor to their site to get your “free” business. Don’t believe them when they say you can get a good value for that “free” plan. The “free” plans typically are for very few (usually one) check with a 15 minute or even one hour interval. That doesn’t do anything useful in making sure your site is working for your customers. Monitoring should be inexpensive, but it isn’t really free.

The biggest player on the block is Pingdom. Pingdom’s service is fairly similar to NodePing’s, but the five sites Pingdom provides for $9.95 (as of the date of this post) aren’t enough for your business. As we’ve discussed here, a small business with a web site already needs their 30 site plan for $39.95. As compared to many providers, Pingdom is a good deal. Compare that plan to NodePing’s $10 flat rate plan, and we think the value choice is clear.

DNS Monitoring for Both Sides

DNS monitoring, like a coin, has two sides: “What does my DNS server say?” and “What does ‘public’ DNS say?”  With NodePing server monitoring, you can ask both questions.

Our DNS check allows you to send a query of a specific type to your DNS server (or a public DNS server) and test the response against a string you define.  For example, you can verify that your website domain resolves to your web server’s static IP address and have NodePing send you an email or SMS alert when either the server or the response fails.

DNS queries can be made for the following types and the response verified:

  • A
  • CNAME
  • MX
  • NS
  • PTR
  • SOA
  • TXT

You can find more info on the DNS checks and our other check types in our documentation.

If you don’t have a NodePing account yet, try out our new DNS monitoring checks for free with a 15-day trial.

Now with Unlimited International SMS

Until today, NodePing  offered SMS notifications only to US-based numbers. But do not despair, our friends across the great ponds, we’re happy to announce that we’ve added unlimited international SMS notifications to our server monitoring service. Just add your mobile number to your contact record in plus format (example for UK ‘+445555555555’), and then set it as the notification number in your checks. As always, here at NodePing, it doesn’t cost any extra.  Same great service, same great price – you’ve leveled up!

Globally, mobile networks have a lot of variability and it is possible that some carriers won’t work with our SMS initially. If that’s the case with your carrier please let us know and we’ll do what we can to resolve it.

Give us a digital high-five in the comments if you’re glad to see international SMS added to NodePing!

6 Sources of Residual Income for the Web Developer

Most web developers I know are hired for site creation, or re-creation and when the job is done, that’s the end of the revenue from that client until something is broken or some other change needs to happen. But with a little extra effort on your part, you can transition a ‘project’ client into residual income. Not only will this keep a steady flow of cash coming in, but you’ll be able to more easily maintain those valuable relationships with your clients so when the next site or re-design happens, you’ll be the one they call.

Consider adding or packaging a few of the following ‘services’ with your development pitch.

  1. Hosting
    Chances are, you’re already doing some of this. The ability to hand over a turn-key website solution makes it easy to add the ‘web hosting’ line item to your bill. Given the low cost of shared hosting like Bluehost or  HostGator, you can easily charge a modest monthly hosting fee and make a nice margin on it. If you don’t ‘do’ hosting – sign up as an affiliate on a hosting company you recommend. Affiliate programs typically give you a commission for sending them customers. It’s easy to do and doesn’t cost anything. Heck, the two links in this paragraph are affiliate links – so go sign up! <grin>
  2. Monitoring
    If the site is worth developing and hosting, it’s worth keeping an eye on. No matter who the host is, your client (and you, if you’re hosting it – see #1) should be the first ones to know if it has gone down. Get yourself a website monitoring account at NodePing (come on, you saw that plug coming a mile away). For only $10/month, you can set up 1000 URLs to keep an eye on. Resell some of those checks to your client – charge them whatever you think is fair and they’re willing to pay. Set your client up as a ‘Notifications Only‘ contact and they’ll get an email or SMS whenever the site goes offline – and when it comes back up too. With NodePing’s new public reports, you can create a URL on your branded website and iframe in the public report so your client can bask in the glow of their uptime graph. If you don’t know how to iframe one page into another, you’re not the target audience of this blog post – but just in case, here’s a link on how to iframe.
  3. SSL Certificates
    If your client’s site has a login form, they’ll need an SSL certificate. The ease of wireless ‘sidejacking’ using Firesheep and similar tools, you should know better than to have a non-SSL login form. Like hosting you can either resell SSL certificates directly or sign up to be an affiliate and earn a commission (usually a percentage) of your client’s spending. Unlike hosting, it takes quite a bit more hoop jumping to become a reseller but with the price of certs and the fact that they need to be re-issued on a regular basis it’s worth the effort.
  4. Payment Processing
    The least fun part of developing ecommerce solutions is the payment gateway integration. Typical reseller/affiliate programs with payment gateways include a percentage of the setup fee, a percentage of monthly fee, and even a per-transaction cut. While Braintree is definitely our preferred gateway here at NodePing (great API and low costs), they unfortunately don’t have a reseller/affiliate program so you may want to stick with some of the old guards like Authorize.net.
  5. Backups
    Your client will need ‘offsite’ backups of their sites and databases. Most of the cheaper hosting companies don’t provide adequate backups, which provides you with an opportunity to sell a much-needed service to your client. Drive Headquarters has a generous referral program and offers both client and server backup capabilities that are very script-able. Just be sure you know how to restore the site from those backups.
  6. Timeshare in Vegas
    OK, this one is just for laughs.  Timeshares are like boats – everybody I’ve ever known who bought one, has also sold one.

If you started adding auxillary services like those above, you could easily see a $100/month/client jump in revenue for just a wee bit of your time in administrating… multiply that times your current client base and you just got a nice raise!  Felicidades!

More importantly, providing extra services will help you maintain a relationship with your client, so the next time they need a $7k makeover on their site, yours is the only bid they’ll consider… after all, you’re doing so much for them already.

So there are 5 ways you can leverage your web development relationship with your client into a bit of residual income.  It’s by no means an exhaustive list.  If you’ve got better channels for residual income or maybe just excellent suggestions for the resell-able or referr-able services listed above, share it with us in the comments.

Adding Notification Only Contacts

NodePing’s monitoring service is gaining popularity with companies that in turn provide online services such as hosting and network services to small businesses. NodePing works really well for these companies, because they can monitor a large number of their own customers sites and networks at one incredibly low cost. In fact, the cost of doing the same thing with most other services would run them several times as much. This enables our customers to bundle our monitoring as a part of the services that they can provide to their own customers in a very economical way, increasing their service value at low cost. That’s a win for everybody. This group of our customers have been asking us to add features to our service that makes this work even better for them, and we have been working to do just that.

The other day we added public reports to our list of features. Today we’re adding the ability to create contacts that receive notifications, but do not have a login to the NodePing app. Together, these features allow a provider to assign their customers to receive notifications and see uptime reports without access to the providers NodePing account information.

Seeing our monitoring services in use by other service providers to enhance their own offerings is exciting for us, and we plan to continue to add enhancements for this audience. As always, your feedback is welcome.

Public status reports of monitoring results

One of the features that we get asked about fairly often is public reports for monitoring results. It has been on our todo list from the start, and starting today they are available.

Of course, not every check on your list is something you want out in public. So this feature can be turned on individually for each check. Each check that you enable for public reports will have its own URL.

We’ve intentionally made these reports fairly plain, without much branding. This makes them suitable for framing or other methods you could use to embed them in your own site.

These reports will see further enhancements in the near future. As always your feedback is welcome.