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.

Sendgrid’s outage impacted our notification systems

Our notification systems use Sendgrid for email delivery. Overall, Sendgrid has been very reliable and a solid service provider. Today Sendgrid had a fairly significant outage, and that has impacted the timely delivery of some of our email notifications. Obviously for a service like ours this is a big deal.

We are in the process of reviewing our notifications infrastructure to see how our failover systems can be improved to make sure our notifications always get out in a timely fashion. Our apologies to our users who were impacted by this problem.

If you have any questions about this issue, please feel free to email us at support@nodeping.com.

Twitter Notifications

NodePing is happy to announce our newest notification method – twitter direct messages.  The ability to receive a twitter direct message is a great addition to our current notification system that already includes unlimited email, international SMS, and voice calls.

Twitter notifications are in testing at this point.  They are available on all accounts so please do kick the tires and let us know how things work for you at support@nodeping.com.

You’ll need to follow @NodePing in order to get direct message alerts.  Then add your twitter handle in your contact record and in your check’s notification section and we’ll send you a private and discrete ‘direct message’ (not an embarrassing public tweet) when that check goes down and again when it comes back up.

Let us know in the comments how this new notification type is working for you and what you’d like to see added next – instant message (IM), HTTP POST to url, carrier pigeon, etc?

SSH Check with Content String Matching

NodePing is happy to announce the new SSH check. In its simplest use, the new SSH monitoring provides a real SSH connection for monitoring those critical SSH services, but our check can do much more than that.

Not only can we monitor the availability of your SSH services on any port, but we can also optionally have the check log in and verify the presence, or absence, of a particular string in the login response. Pairing the SSH check with a login script makes it much more powerful and flexible. With it, you can monitor much more than SSH.

In the example below, we’re going to set a login script that checks server load, available memory, and disk usage. We’ll use its simple ‘PASS‘ or ‘FAIL‘ output to trigger email and SMS alerts from NodePing when the 1 minute load average goes over 4.0, when available memory drops below 50MB, or when the disk becomes more than 90% full.

The script is a simple BASH script that relies on commonly installed programs like ‘top’, ‘free’, and ‘df’ to determine the ‘PASS’/’FAIL’ status for each of the things we’re monitoring. It’s not the prettiest thing, but it seems to work well on an Ubuntu server.

#!/bin/bash
# Load average limit
# A quad-core server may be maxing out CPUs at 4.0
LOADLIMIT=4;
# Free memory floor in MB.
FREEMEMLIMIT=50;
# Disk usage in percentage, but without the percent sign. 
DISKUTILIZATION=90;
# Path to the disk partition you want to monitor.
DISKPATH='/dev/sda7';

LOAD=`top -n1 | grep 'load average' | awk -F" " '{print $12}'`;
LOAD=${LOAD:0:4}
LOAD=`echo "$LOAD > $LOADLIMIT" | bc`
if [ $LOAD -eq 1 ]; then
echo "LOAD:FAIL";
else
echo "LOAD:PASS";
fi

MEMUSAGE=`free -m | grep '^Mem' | awk -F" " '{print $4}'`;
MEMUSAGE=`echo "$MEMUSAGE < $FREEMEMLIMIT" | bc`;
if [ $MEMUSAGE -eq 1 ]; then
echo "MEM:FAIL";
else
echo "MEM:PASS";
fi
DISKSPACE=`df | grep "$DISKPATH" | awk -F" " '{print $5}'`;
LEN=`expr "$DISKSPACE" : '.*'`;
LEN=`echo "$LEN-1" | bc`;
DISKSPACE=${DISKSPACE:0:$LEN}
DISKSPACE=`echo "$DISKSPACE > $DISKUTILIZATION " | bc`;
if [ $DISKSPACE -eq 1 ]; then
echo "DISK:FAIL";
else
echo "DISK:PASS";
fi
# logout right away
# This SSH user is restricted for security purposes
exit;

We saved this script as ‘mylogin.bash‘ in our user’s home folder and then edited the /etc/passwd file, replacing the shell ‘/bin/bash‘ with ‘/home/testuser/mylogin.bash‘.  Don’t forget to make the script file executable with something like

chmod 0755 /home/testuser/mylogin.bash 

Now when our test user logs in, we see something like:

Last login: Thu Apr 12 22:41:33 2012 from 127.0.0.1
LOAD:PASS
MEM:PASS
DISK:PASS
Connection to 127.0.0.1 closed.

It’s the response text above that will be checked against our user defined content string. In our SSH check configuration, we’ll set the ‘Content string‘ dropdown to ‘Does not contain‘ and type ‘FAIL‘ in the text field.  Now when NodePing’s probe servers login via SSH and find the word ‘FAIL‘ in the response, I’ll get a notification!

But the notification just says that the SSH check failed. We won’t know what failed.  It could be the load, memory, or disk.  Instead of logging in to see, I’ll be lazy and create three separate SSH checks, all with the same host and login information, but have one check for the string ‘LOAD:FAIL‘, another check for ‘MEM:FAIL‘, and the other ‘DISK:FAIL‘.  I’ll label the one that checks the load average a nice informative name like “Load Average on test server” and the other checks something similar. Now my SMS notification say something like “SSH Check failed for: Load Average on test server“, letting me know exactly what’s failing.

NodePing provides 1000 checks run at up to 1 minute intervals for only $10/month so you’re running out of reasons not to monitor everything. If you don’t have a NodePing account yet, sign up for our free 15-day trial and kick the tires.  We think you’ll like it.

The above example is fairly simple.  You can write your own login scripts in Node.js, Python, etc to check statuses for databases, VPN connections, virus definition updates,… dang near anything!  You can find information on how to configure your SSH checks in our documentation.

How will you use the new SSH check with content string matching?  Let us know in the comments below.

FTP Check Now Looks for Files Too!

Until today, the NodePing FTP check was fairly basic but we’ve rolled up our sleeves to add the awesome sauce and are proud to announce our new and improved FTP monitoring check.

Features:

  • Monitor FTP on any port, not just 21
  • Supports anonymous logins
  • Verify FTP user logins (optional)
  • Verify the existence, or non-existence of a file on your FTP server (optional)

Detailed information about how to configure your FTP checks can be found in our documentation.

The “file exists” feature in particular can be a huge help for those who wish to do more than just check to see if their FTP service is currently running. We’ll send you a notification if that important file goes missing from your FTP service – or if a particular file suddenly appears! This can be used to receive an alert when an application error log file gets created.  Or you could write your own scripts for internal processes that trigger NodePing SMS alerts by touching files on your FTP server.

The new enhancements are available on your account now at NodePing.  If you don’t have a NodePing account, you can sign up today for a free 15-day trial and for $10 a month you can monitor 1000 servers and get unlimited email and international SMS alerts.

SSL Certificate Check

An SSL certificate is an important part of serving up secure websites. It puts the ‘S’ in HTTPS and gives your visitors that warm fuzzy feeling when they see that padlock in their browsers. But those SSL certificates don’t last forever. Most have to be renewed every 1-3 years and should you forget and let that certificate expire, your visitors will be met with an ugly “This Site is Untrusted‘ message instead of your great content. Let NodePing keep an eye on your SSL certificates with our new SSL check available today.

Monitoring your SSL certificate with NodePing will allow you to receive notifications if the certificates is nearing its expiration, is replaced with an invalid certificate, or if your webserver is incorrectly serving it. You can also configure how many days in advance of expiration you’d like to receive the notification, giving you time to renew and install a new certificate without interruption.

The new SSL check is just one more link in your comprehensive server monitoring chain. NodePing is happy to keep an eye on your SSL certificates. If you don’t have an account yet, sign up for a free 15 day trial at http://nodeping.com.

Let us know what you think of the new SSL check in the comments below.