PUSH Checks – Heartbeats and Metrics Monitoring

One of the most requested features we get is the ability to push monitoring results into NodePing. Today, we make good on all those requests and are happy to announce our latest check type, PUSH.

Unlike our other checks, PUSH checks allow your server to push metrics into our system, track the metrics, and receive alerts based on the results. This significantly adds to your ability to monitor services that are not Internet accessible, and monitor additional custom metrics. Our customers running LANs can now get heartbeats and metrics on internal servers like Windows AD controllers. Or, you can monitor metrics that are only relevant to your systems in ways that are specific to your environment. We’ll track and alert on any metric you want to push at us!

Heartbeats and Metrics

PUSH checks are configured to send results on a specific interval and you can configure the check to fail if we haven’t received a pushed result from you. This is the heartbeat functionality.

You can also push us a data payload of metrics with the PUSH check result and configure your check to track those metrics. The check will fail if any configured metric is missing or if the values in the result are outside your configured min/max range.

Metrics are great for keeping an eye on system load, disk free space, or any other service or system metric you can gather on a server and send to us.

PUSH checks are flexible and can be configured to be heartbeat-only, metrics-only, or both.

PUSH Clients

To send us your result (heartbeat or metrics), you’ll need to submit an HTTP POST to NodePing with information about the check and optionally the metrics. Details can be found in our in our PUSH check documentation.

We’ve got fully-functional, open-source clients in Python2, PowerShell, and POSIX script available on our GitHub public repo that have been tested with the following OSes:

  • CentOS 5 (Python2 and POSIX)
  • CentOS 6 (Python2 and POSIX)
  • CentOS 7 (Python2 and POSIX)
  • Debian 9 (Python2 and POSIX)
  • Devuan 2 (Python2 and POSIX)
  • Fedora 28 (Python2 and POSIX)
  • FreeBSD (Python2 and POSIX)
  • OpenBSD 6.3 (Python2 and POSIX)
  • OpenSUSE LEAP 15 (Python2 and POSIX)
  • Raspbian STRETCH (Python2 and POSIX)
  • Ubuntu 14.04 (Python2 and POSIX)
  • Ubuntu 16.04 (Python2 and POSIX)
  • Ubuntu 18.04 (Python2 and POSIX)
  • Windows server 2012 (Python2 and powershell)
  • Windows server 2016 (Python2 and powershell)

Download a client and follow the instructions in the client README.md file to set up your PUSH client.

An example of the default metrics sent from our POSIX client:

OS load: 1 minute, 5 minute, and 15 minute load stats
Memory free in MB
Disk space free in percentage by mount point.

There are also optional modules for Redis, Cassandra, ZFS, iptables, and more.

All our clients are built so you can add your own modules to push additional metrics – the ones you care about. The requirements for pushing metrics into our system are fairly simple, so you can write your own scripts in your preferred language. It just needs to output JSON data with numeric values. You can find the information you need to create your own client modules in our PUSH check documentation and take a look at existing modules for examples.

We encourage pull requests for new modules so if you build something you think others would find useful, please do share.

We’re working on new reports and dashboards to visualize metrics, making the new PUSH check even more useful, so keep an eye out here on the blog for those announcements.

If you aren’t using NodePing yet, you can sign up for a free, 15-day trial and test out our new PUSH checks yourself. We think you’ll love the new functionality along with our rock-solid monitoring and fast/accurate notifications.

Update to TOS and Privacy Policy – NodePing and GDPR

Part of the benefit of being a relatively small distributed company in the Internet cloud age is that we can have a global reach without requiring a lot of infrastructure and overhead. We have customers all over the world, but we have almost no presence anywhere beyond our home office. Our people can work from anywhere with a good Internet connection. Since we work in the cloud, most of our computer systems are in places we have never been. We don’t even handle payment information directly in any of our workplaces. Payment information is passed directly to our payment processors. Working in the cloud age helps all of this work smoothly and safely with very little physical infrastructure required.

The downside of all of that is that our customers are all over the place, including legal jurisdictions all over the world. The regulatory world hasn’t really caught up with the idea of cloud based distributed companies. We want to comply with all applicable requirements, but understanding what requirements apply to us in various locations isn’t always easy.

The GDPR has brought this challenge front and center for us. We do not have any actual presence in any European countries. However, we do have customers in nearly all European countries, and are subject to some data privacy protections where those customers are located. That makes sense, and we want to be good citizens, but as with many other Internet based companies it can be daunting to figure out how the regulations apply to us.

Fortunately for us, the principles established in the GDPR are principles that we were already following in our normal practices. Our customers are businesses and providers of Internet based services, and for the most part we don’t provide services to individual end users. Additionally, our customers manage their own data, have full access to the information in our systems, and we don’t process or use the information they set up in our service beyond what they configure for their own use.

We did find that there were a few requirements related to the GDPR that, while our prior practices were basically already in compliance, weren’t clearly articulated in our Terms of Service or Privacy Policy. So, we’re updating both documents to more clearly set out how our policies and practices address these areas.  The updates will take effect on 2018-05-18

This includes more clearly stating that we are not collecting or processing data beyond what our customers configure to use for their monitoring. We only use contact information in our system to provide the monitoring you configure, and send the notifications you set up in the way you configure them. Our customers can download their own data whenever they want to. Beyond that, we don’t use or process information from our customers.

This is our normal practice, and applies to everyone. We don’t maintain a separate policy for customers in Europe.

Since we are a data processor, and the data is under the control of our customers who are themselves businesses providing services to others, for GDPR purposes we are a Processor rather than a Controller. Since we don’t have a presence in any EU countries, and we provide processing services to controllers in several EU countries, according to the guidelines published by the Article 29 Working Party, the lead supervisory authority will be the supervisory authority that is competent to act as lead for the controller.

If you are a data controller in a European country, or even if you aren’t, you may have questions about our systems that are necessary for you to comply with obligations you have in your location, and for your customers. If you have questions or concerns that aren’t addressed in our updated policies, please let us know.


UPDATE: We have now received our Privacy Shield certification, which required our Privacy Policy to be updated again to meet those requirements.   The most recent changes are aimed specifically at the certification requirements.  As always, you can see our current Privacy Policy and our Terms of Service on our web site.

Cluster Check

Allow me to introduce our newest check type, Cluster.

The Cluster check allows you to group interdependent NodePing checks in order to get notifications and track availability of the group of checks as a whole. You specify a threshold of how many of those checks must be passing in order for the cluster to be considered ‘up’. If the number of those checks passing drops below your configured threshold, the cluster check will fail and send the configured notifications.

We use it to keep an eye on our Cassandra servers but you can use it for any logical group of services that are interdependent. Some other use cases:

  • DNS services – monitor each DNS server with DNS checks and then a cluster check on those DNS checks to get that very important alert when all DNS servers are offline!
  • Web servers – monitor the backend web servers behind your reverse proxy or load balancer to make sure you have enough of them available to handle the traffic.
  • SMTP – monitor your SMTP checks and know that there’s always at least one server available to receive email for your domains.

Cluster checks are available to all NodePing plans today. If you’re not using NodePing yet, please sign up for our 15-day, free trial today.

 

Banana image Designed by Daviles / Freepik

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.

Probe Server Change and Addition [FR,MX]

The following probe server will be changing IP addresses on 2017/09/19:

Paris, France (FR) – FR is changing from (37.59.86.248 / 2001:41d0:a:7a50:5:5:9ab9:a412) to (195.154.167.97 / 2001:bc8:2327:110::10)

We’re also adding a new probe to the Latin America region on 2017/09/19:
Mexico City, Mexico (MX) – MX (138.204.171.109)

Please adjust your firewalls appropriately if you whitelist so your checks do not fail because of the probe IP address changes.

An always current and updated list of all the IP addresses for our probe servers can be found in the FAQ

[Update 2017-09-18] – the new probe planned for Mexico will not be added as planned.

[UPDATE – 2017-09-19 10:41GMT-6] – IP change complete.

Creating Clones

Have you ever wanted to be an evil genius and create a clone army to take over the universe? Well, we can’t help you with that but we do have a “Clone Check” feature. It might not take over the universe, but it can be a great time-saver.

ca

When you want to create a check that is similar to one you already have, you can use our “Clone Check” feature to create a new check based on the settings of an existing check. You can then change whichever fields you choose, such as the URL or check type, as well as the label. This saves you from having to type in the various fields over and over or set complicated notifications, delays, etc, when you already have a similar check ripe for cloning.

To clone a check, log into your NodePing account, and go to the “Checks” tab. Click on the label for the check you want to duplicate to open the information drawer. On the lower right, there are a list of links, including “Clone Check”. Clicking on it will bring up a new dialog for the cloned check with all of the values preset based on the check you are cloning. You can change the fields to fit the new check you want. Then click “Save” at the bottom of the dialog.

Who knows? If you create enough, maybe you can take over the universe.

Probe Server Changes – [PY,IT]

The following probe servers will be changing IP addresses on 2017/04/04:

Philadelphia, Pennsylvania (PY) – USA is changing from (162.208.50.172 / 2607:2200:0:3701:0:8:0:10) to (154.16.159.242 / 2604:bf00:210:1d::2)
Milan, Italy (IT) – IT is changing from (194.14.179.117 / 2a00:dcc0:eda:89:14:179:4f75:4e2) to (95.141.35.64 / 2a02:29e0:1:232::2)

Please adjust your firewalls appropriately so your checks do not fail because of the probe IP address changes.

An always current and updated list of all the IP addresses for our probe servers can be found in the FAQ

[UPDATE – 2017-04-04 10:57GMT-4] – IP changes complete.