Monitoring Private Networks with NodePing

NodePing has been providing distributed Internet availability monitoring since 2011.  During that time we’ve made billions of HTTP requests, connected to a huge number of SSH servers, and sent boat loads of PINGs.  Our systems have been listening for dropped volume levels on audio feeds, verifying SSL certificates, testing the response from email servers, checking DNS servers, and monitoring a whole slew of Internet services on every continent (except for Antarctica, yet).

undefinedThe missing component, until recently, was monitoring for private networks.  All of the monitoring mentioned above was availability monitoring from the Internet and required access through periphery firewalls to services.  That works well for public facing services, but it leaves out a lot of services and systems that are not (and should not be) publicly accessible. We’ve been working for a few years to find just the right approach to safely and reliably provide private network monitoring, and we think we’ve found it in our new AGENT check type.

Our AGENT check allows you to install a small agent on a machine in your local network and run most of our standard check types just about anywhere you have a Linux box available.  The software is small and very efficient, and is a really easy install. Once it is running, you can assign checks to your private location using our normal UI, or through our API.

The agent runs on node.js, and the code is available on github for you to review and audit.  The software can run under a regular user, and does not need any elevated privileges. Only your account has access to run checks on your agent instances.

So now you can easily assign PING, HTTP, SSH, DNS, PORT, and most of our other check types to a machine on your private network, to monitor services that should not be accessible from the Internet.  Monitor your private Intranet, make sure your private database servers are accepting connections on your network, and verify internal DNS responses. This solution scales well, is easy to start, simple to maintain, and like the rest of NodePing’s monitoring services, it just works.

Since our AGENT check runs our standard check types, it is a great compliment to our PUSH check type, which remains available and actively supported as well.  The PUSH check type is designed for you to customize and monitor basically anything on your local machine that is quantifiable by a local script. Together, these check types allow you to fully monitor your private networks and resources, safely and reliably.

The AGENT check is available now on all Provider accounts. If you don’t have a NodePing account yet, we offer a 15 day free trial.  Give it a try!

What is Website Monitoring?

You have a website.

It’s the access point of your business. The bridge between you and the world. It’s how potential customers find and judge your business. They scan your landing page, consider your prices and products, and ideally, fork over their money. But what if they couldn’t?

There are a thousand and one reasons your website might be down, but that doesn’t matter to a customer. Every second your website is down is a potential customer lost, and potential income going to a competitor. How many customers can you afford to lose because they try to visit your website when it isn’t working? You need to know the instant your website goes down – a way to check your uptime. That’s where website monitoring comes in.

Website monitoring companies like NodePing periodically check your website and alert you when we can’t connect. We aren’t just some guys sitting at our computers pressing refresh every so often. NodePing has servers all over the world that can check your website as often as once a minute. If our probes cannot connect to your site, or it takes longer than you say it should for the site to respond we’ll immediately crosscheck from different locations globally and notify your contacts quickly so they can get things working again.

You can be alerted by our eight notification methods and all our plans include unlimited international SMS. With notification scheduling, you can choose who gets notified when, so the right people are alerted as soon as possible so you can get your website fixed and back up, making money.

NodePing was created by a pair of nerds who know the challenge of trying to maintain a website. We wanted to create a service that you could set and forget. We don’t have flashy graphs or cute pictures. We just quickly and accurately monitor your uptime. Simple as that.

So what is Website Monitoring? It’s what can save you from losing customers. It saves you money. Buy peace of mind by starting a free trial at NodePing.com.

Auditing IP Resolution with DNS Checks

How would you know if your DNS account had been compromised?  If tampered with, an attacker could point your web and email traffic to their own controlled servers, enabling them to intercept potentially confidential information from you or your customers without your knowledge.

Emergency Directive 19-01

Recently, the US Department of Homeland Security issued its first ever Emergency Directive with a list of actions to mitigate DNS account tampering, an issue they report is on the raise.

The first recommended actions in their directive is to verify DNS resolution.

Action One: Audit DNS Records … audit public DNS records on all authoritative and secondary DNS servers to verify they resolve to the intended location.

In this post, I’ll show you how to continually monitor your DNS resolution using NodePing DNS checks to ensure your important domain names are resolving to the expected IP addresses. If anyone tamplers with your DNS records, you’ll quickly receive actionable notifications from NodePing.

Some of the record types you may want to verify with DNS checks are:

  • SOA – Start of Authority record
  • NS – Nameservers and the IPs they resolve to
  • Website FQDN
  • Website FQDN with www prefix (example: http://www.nodeping.com)
  • Email MX records and the IPs they resolve to
  • IMAP, POP, and SMTP FQDNs
  • FTP service FQDNs
  • All the above services for both IPv4 and IPv6 addresses

Setting up DNS monitoring

To create a new DNS check, click on the “Add new check” button in your NodePing account dashboard.

  1. Select DNS from the Check type drop down.
  2. Give it a friendly label to identify this check in lists and notifications.  Something like “Website resolver”
  3. Set how often you want the check to run on the Check Frequency field.  We recommend 1 minute intervals.
  4. Leave the DNS server field blank.  This will ensure that our probes will use whatever nameservers are listed on the domain.  If a hijacker accesses your DNS account , they’ll likely change the IPs of the nameservers so testing your own nameservers won’t be helpful for this type of monitoring.
  5. Enter the type of query you want to perform, and address you want the check to look up. Usually this should be a fully qualified domain name. It should not include “http://” or “https://”. Example : ‘nodeping.com’ or ’email.nodeping.com’ or ‘www.nodeping.com’
  6. Enter the information the check should look for in the DNS resolution response to verify the query has not been tampered with. What you put in this field will depend on the query type. For example, for A records, this will be your IPv4 address. For other types, such as MX or NS records, this is likely to be a fully qualified domain name. For AAAA records, the full notation is required. Example: IPv6 address 2606:c700:4020:11::53:4a3b requires the ‘missing’ zero sections – 2606:c700:4020:11:0:0:53:4a3b – there should be 8 sections total.
  7. Set a time out. The default 5 seconds works fine for most situations.
  8. Set the Sensitivity. High is usually appropriate.
  9. Set the notifications for this check. More information about notifications.

If your services are offered on both IPv4 and IPv6, you’ll need to create a separate check for each with the appropriate query type set to ‘A’ for IPv4 and ‘AAAA’ for IPv6.

Setting up one DNS check for every critical server and service will give you the peace of mind that your DNS hasn’t been tampered with and your customers are interacting with you, not some DNS hijacker.

Got questions or need help setting up DNS resolution audit checks?  Contact us; we’re happy to help.

If you don’t yet have a NodePing account, please sign up for our free, 15-day trial and sleep well knowing we’re keeping an eye on your DNS resolution.

NodePing badges from Shields.io

Shields.io recently released an update that adds NodePing badges to their service. We’re grateful and honored to be included and wanted to drop a few instructions on how you can configure your customized badges for your NodePing checks from shields.io.

Example badges:

NodePing status badge

Status badge (up/down)

NodePing uptime badge

Uptime badge

 

For the badge to work, you need to make sure your NodePing check has public reporting enabled. Once enabled, you’ll need the UUID (unique ID) of the check.  To find the UUID, open one of NodePing’s reports.  The UUID is shown in the URL.

Example public results report URL:
https://nodeping.com/reports/results/rrwb28un-c0kl-4d7h-8n2u-xcosuprs2439/100

The “rrwb28un-c0kl-4d7h-8n2u-xcosuprs2439” part is the unique random id part.  Yours will be the same length, but different from mine.

Now that you’ve got your check UUID, head over to the shields.io site and click on your choice of badge type:  “NodePing status (customized)” or “NodePing uptime” to open the shields.io badge customizer modal.

You can set all kinds of customizations like:

  • up message e.g. Online
  • up color e.g. green
  • down message e.g. Offline
  • down color e.g. lightgrey 
  • style (lots to choose from)
  • label shown
  • background color for the label

Click on the ‘Copy badge URL’ button to get the URL into your clipboard. You can also get the code for Markdown or HTML – easy peasy. Paste it into your website or .md file and feast your eyes on your freshly minted badge.

Cool new visibility for your uptime with shields.io and NodePing. If you don’t have a NodePing account yet, sign up for our 15-day, free trial today over at https://nodeping.com and let us handle your monitoring and notifications.

Notification Escalations on NodePing

Most systems run smoothly most of the time.  Servers keep running.  Web sites serve pages and deliver data from backend databases.  DNS servers respond to queries with hardly any delay at all.  Email flows smoothly.

Emergency_light_with_grillIt’s that tiny percent of the time that it doesn’t work that way that causes the heartburn.  A server that has been running just fine for months suddenly hiccups.  But even when that happens, it’s usually a hiccup.  The person who is the first line of responsibility for that service needs to know right away.  They jump on it, clear the problem, and things go back to humming like normal.  You need fast and reliable monitoring to help keep these interruptions to service short.  A lot of times, the service is back to normal before most people realize there was an issue.  These incidents likely go in a report, but the rest of the team doesn’t need to get involved.  Its dealt with, duly noted, and life goes on.

Then there are the times that something goes really wrong.  The first line is working on it, but the server isn’t going to be back up in a minute or two.  Or the first line person is not available.  Maybe he’s in accounting trying to sort out his paperwork for credit card expenses for last month.  Someone else needs to know that things are down.

Sometimes these situations turn into real disasters.  The website is down.  Upper management is going to be calling, wondering who’s spilling revenue out on the server room floor.  The manager getting that call wants to know about it before the phone rings with that call.

Most monitoring systems use escalating notifications to handle these situations.  If a system is down, the first line person should be notified immediately.  If it’s down for a few minutes, the people who back him up need to be brought in.  If it’s down longer than that, systems management will want to get a heads up.

NodePing uses the notification delay feature to provide notification escalations.  A delay can be set on each notification contact for each check.  The NodePing notification delay feature notes that a check set with a delayed notification has gone down.  After the delay interval has been reached, if the check is still “down” we send the notification to that contact.

Set up the first line systems with no delay, so they’ll get notified when the system goes down right away.  If the service hasn’t recovered in a few minutes, send a notification to the systems group using a contact group.  Then, if the service hasn’t recovered in 10 minutes (or whatever the tolerance for the service being down is for this service in your organization), notify the systems management.

The notification delay feature can be used for other things besides notifications.  Sometimes services have a higher tolerance for transient interruptions.  You can use the delay to mean “if this service is down shorter than 3 minutes, I don’t need to be notified.”  This is useful, for example, for services in remote locations where Internet connectivity can have brief interruptions.  But our most common request for using the delays are for notification escalations.

 

Support for Multiple Public Status Pages

Our public status report is a critical part of keeping your customers informed of your site and service status—which after all is one of the points of monitoring. Our status pages are customizable to your company, and support a custom domain so you can display your status at status.yourdomain.com, or whatever is most applicable to your business.

We have had a public status page as one of our key features for some time.  Now, we’re adding support for multiple status pages on one account. For instance, NodePing has a status report page for our websites at status.nodeping.com, and one specifically for our probe servers at probestatus.nodeping.com.  Business and Provider accounts can optionally set up an SSL cert for their status pages (contact support for info how).

To create a new status report, just log into your account , and go to the “Account Settings” tab, then the “Reporting” subtab. Click “Add new status report” and add as many checks as you want to your new status report.  

We hope you will find this feature just as useful as we do.  We also have several more enhancements for public status pages coming soon.  Let us know what you think at support@nodeping.com, by posting comments here, or by using our Contact Page.

Disable Monitoring

Last week we added several features aimed at making our monitoring service easier to manage and use.  One of those features adds new ways to easily disable checks, either in the UI or using the API. Disabling a check stops all monitoring and notifications. It can be useful to keep scheduled maintenance or downtime from affecting your uptime statistics. I’ll explain a bit on the various ways you can disable monitoring within NodePing.

Disabling a Single Check
There are two ways to disable a single check within the NodePing web interface. The first is in the check details drawer. If you click the name of a check in the list, the details drawer will slide out. There you can see the last 5 results, links to the various reports, and a toggle to disable the check. Simply click on the “toggle” link next to the text “This check is currently active”. To re-enable, click the toggle again.

The second way to disable a single check is within the check edit screen. Click on the “Edit” button to call up the check edit modal and remove the checkbox from the “Enable Check:” field, then click on “Save”. To re-enable the check, edit it again and check that same box.

Sometimes you may need to disable all the checks to a particular datacenter or for a particular server or service. You can do it one at a time as described above but that can be a click-fest if you have a large number of checks to disable. Our new features allow you to easily disable all of your checks at once, or to disable a group of them based on some powerful filtering capability (described more below).

Disabling All Checks
You can disable and re-enable all your checks with just a couple of clicks. In the “Account Settings” – “General Settings” tab, you’ll see a link for “Disable All Checks”. Click on it and all your currently enabled checks will be immediately disabled. To re-enable the checks, click on the new link that appeared that says “Re-enable Checks”. Please note that this will only re-enable checks that have been disabled using the “Disable All Checks” link. If you disabled a check using one of the methods described above in the “Disabling a Single Check” section of this post, the check will remain disabled.

Disabling all checks can be useful to silence monitoring and notifications during major outages, planned maintenance, or to quiet logs when troubleshooting.

Disabling Multiple Checks
Our new disable feature has some powerful filtering that can help you disable all checks where the label, type, and/or target are similar. Clicking on the “Show optional filters” link in the “Account Settings” – “General Settings” tab will display the available filter fields of “Type”, “Label”, and “Target”. After choosing the dropdown or typing your desired filters in the fields there, you need to click on the “Disable All Checks” link and NodePing will disable all currently enabled checks that match your filters.

If you’d like to disable all your HTTP Content checks, you can choose it from the “Type” drop down.

If all the checks you need to disable are named similarly (example: “Server1: website A”, “Server1: website B”, “Server1: website C”), you can disable all of them by putting “Server1” in the “Label” field. The matching works on any part of the label.

If a particular server is failing, you can disable all checks (no matter what type or label) that point to that server by putting the name or IP address used in the check “Target” field. For example, I can disable all checks that point to all nodeping.com hosts by typing “nodeping.com” in that field. It will disable checks to ‘smtp.nodeping.com’ and ‘www.nodeping.com’, no matter what the check type is.

The filters are additive so if you choose the “HTTP” type and type something in the “Label” field, only HTTP checks that match that label will be disabled.

Use the “Re-enable Checks” link to re-enable checks that were previously disabled using the “Disable All Checks” link and filters.

These filters have superpowers too, thanks to regex. You can geek out and provide a valid javascript regex expression for each filter in our UI or API. Run a curl one-liner to our API before your maintenance fires off to disable some checks and then re-enable them when it’s done. See our API reference for details.

NodePing is committed to bring you more functionality like these new disable check features available in all accounts now. If you don’t yet have a NodePing server monitoring account, we encourage you to sign up for a free, 15-day trial and see how our fast, accurate uptime monitoring can help you keep your services up and available.

IPv6 Monitoring

NodePing now supports IPv6… mostly.

Our website and server monitoring service can now monitor IPv6 services. With real, honest-to-goodness ICMP pings as well as the funky bracket notation for URLs:

http://[2606:c700:4020:11::53:4a3b]/

Our IPv6 support is pretty extensive.

Even though IPv6 adoption has only just crossed the 10% mark, we know many of our customers are out in front of that pack and we’re happy to keep an eye on your v6 stuff.

If you’re using hostnames that resolve to both IPv4 and IPv6, you’ll need to set up separate checks and specify the IPv6 services using the IP as our services will continue to prefer IPv4 for resolution of hostnames. The exception here is our ping check, where you can specify the protocol version to use with a hostname.  You’ll need two checks to cover both protocols.

Unfortunately there are a few caveats and addendums… A couple of our check type don’t yet support IPv6 routing – RBL and SIP checks.  Not many RBLs (Real-time BlackLists) support IPv6 addresses and our SIP check relies on a library that doesn’t support IPv6.  We’ll keep an eye on these and add IPv6 support to them when we can.

We also aren’t able to provide IPv6 monitoring from our Latin America region, sorry.  IPv6 connectivity in Latin America is nearly non-existent currently. We’re sure that will change in the future and we’ll be able to bring that online eventually as providers there start offering it. Our other regions (North America, Europe, and East Asia/Oceania) are well supported.

IPv6 support is available on all NodePing plans. If you’ve got IPv6 services that need monitoring and don’t have a NodePing account yet, please sign up for our free 15-day free trial.  We’ve got your back.

 

HTTP Advanced Check

Our HTTP checks for website monitoring at NodePing already include our standard HTTP Check, the HTTP Content Check that lets you verify that specific content is present or is not present in the page, and the HTTP Parse Check that allows you to track and alert on arbitrary data points in the response. Today we’re excited to announce that we’re adding the HTTP Advanced Check to our HTTP line up.

The new HTTP Advanced Check adds the following capabilities:

  • simulate a form POST to your web site and verify the expected response
  • check for arbitrary HTTP response status codes for custom API servers
  • send HTTP headers
  • verify specific HTTP headers are being received
  • send PUT, DELETE, HEAD, TRACE, or CONNECT methods

This will allow you to do more in-depth monitoring of your HTTP services. Use cases may include:

  • POST incorrect credentials to log in pages and verify the HTTP status code of 403 is returned.
  • Send mobile browser User-Agent headers and use the content checking to verify the mobile version of your site is being shown
  • Verify a PDF link is returning a PDF file by checking the return header for the correct ‘Content-Type’:’application/pdf’
  • Verify your redirect script is returning a 302 status code and not an error.

Additional information about this new check type can be found in our documentation.

The HTTP Advanced check is now available on all NodePing accounts. All accounts also include unlimited notifications, including international SMS. If you don’t have a NodePing account yet, please sign up for our free 15-day free trial.

SIP Monitoring

If you run SIP servers, you’ll be pleased as punch to know we’ve just released a new SIP server monitoring check just for you. Now you can be alerted if your SIP server goes offline or isn’t responding to SIP commands.

SIP stands for “Session Initiation Protocol,” and refers to a signaling protocol that can run over TCP or UDP and is commonly used for voice and video communications. SIP servers are often the connection points for VOIP calls.

The check does not initiate a call, but rather tests that the the server accepts a SIP connection by sending the OPTIONS command and watching for the response. Even if your server does not support the OPTIONS command and returns an error, this indicates that the server is up and operating, so the check succeeds. You can find more information about this check in our SIP Check documentation.

This new SIP check is available today for all NodePing accounts. If you don’t have a server monitoring account with NodePing yet, head on over and sign up for our free 15-day trial.