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.

Probe Server Addition [AM]

The following probe server will be added on 2018/08/07:

Melbourne, Australia (AM) – AU
( / 2404:f780:2:950:216:3cff:feb8:ab8e)

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, a text file, and via DNS query, probes.nodeping.com.


[UPDATE – 2018-08-07 16:15GMT-6] – the addition of the new probe is now complete.

Twitter notifications to stop working on 2018-08-15

Twitter API changes set for August 16, 2018 will result in NodePing no longer being able to reliably send direct message notifications. The new API endpoint allows only 5 DMs per user per 24 hours. If you’d like to receive NodePing notifications via direct message, please consider letting twitter know how these changes affect you.

NodePing has many other notification methods available.

Probe Server Changes [DE] and Removal [AM]

The following probe will be removed on 2018/07/12:

Melbourne, Australia (AM) – AU
( / 2404:2780:0:1::21)

The following probe server will be changing IP addresses on 2018/07/12:

Frankfurt, Germany (DE) – DE

( / 2a00:f820:26::10)
( / 2001:41d0:700:1360::10)


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, a text file, and via DNS query, probes.nodeping.com.


[UPDATE – 2018-07-12 17:30GMT-6] – IP changes and probe removal complete.

Threaded Notification Emails

We have a new feature to make it easier to keep track of email notifications. Previously, each email notification started a new email thread or conversation, even if it was just reported that a formerly reported down check was now up. Now, our Business and Provider plans have the option of grouping these emails together through Branding. If you got a “Host Down” email, for example, you can set the “Host Up” message to be sent as a reply to the original email. This feature was made with the goal of keeping track of email notifications easier.

On the back end, we’ve added message references to our emails so your email client knows that the “Up” message is related to the “Down” message.

However, not all email systems will identify that messages are related to each other just based on the “reply-to” and “references” ID’s.  For gmail and some other email services, in order to enable this feature,  you’ll need to adjust your NodePing settings to make your up and down email subject lines identical.  To do this, first login to your NodePing account. Then go to the Account settings tab, then the Branding tab under it.  All you need to do to receive your up and down emails on the same thread is set their subject lines to match. Scroll down to Up Notifications: Email “Message Subject:”and set it to match Down Notification: Email’s “Message Subject:”, or vice versa. Or, you could set their subject line to be something else entirely; the important thing is that they are identical.

By the way, the notification branding lets you do a lot more besides just make the subject lines match for message threading.  You can customize what your notifications say and what information is included.  There’s more information about this powerful feature in our documentation.

We hope you find this feature helpful. If you haven’t tried NodePing yet, you can get a free fifteen-day trial here. If you have questions or comments, email us at support@nodeping.com.

Bulk Edit for Checks

Many of our customers have requested the ability to edit a large amount of checks at once. Previously, we have suggested using the API to edit checks, and while that still is a good option, we are glad to announce that we have enabled bulk check editing on our website as well. *Throws party* *Throws confetti* *Throws spaghetti*

Bulk Edit ScreenshotSigning into your account at https://nodeping.com/login.html will bring you to the homepage, where you can simply tick off the checks you want to edit, or check off the box at the top next to “Type” to select every check currently displayed on the list at once.

Then press “Bulk Edit”, next to the “Check Status” and “Add new check” button. If you forget to select any checks before pressing “Bulk Edit”, a pop-up will gently but firmly and lovingly remind you tick the checkboxes.

For Bulk Edits the dialog will show settings that you can set on all of the checks you selected.  Only check properties that are common for the selected checks are shown. As a result, you’ll typically have the ability to modify the most properties if the checks you have selected are all of the same check type.

Some fields in the Bulk Edit dialog may say “[Various Values]”.  Leaving these fields as they are will leave all of the checks you’re editing with their individual values for that field.

One important thing to note is that changing notifications will change all of the notification settings on all of the checks to whatever you set in the dialog.  This isn’t additive, so it doesn’t merge different notification settings. It replaces the existing notification settings with the notifications you select in the Bulk Edit.

After you have changed the checks, press “save” and the checks will be automatically updated with your changes.

Hopefully you will find Bulk Edits helpful. To contact us, email us at support@nodeping.com. If you don’t have a NodePing account, you can sign up for our free 15-day trial by clicking the link.


Import Script for NodePing

Moving your uptime monitoring to NodePing is now even easier.

We have a fresh Node.js script that will import your checks from Pingdom, StatusCake, or Uptime Robot. *

The script will create contacts, checks, and configure notifications in NodePing to match your current provider.

The script and instructions on how to implement it can be found on our GitHub page. Some services don’t map to NodePing’s features very well so be sure to look at the known limitations section.

If you don’t see your current provider supported by our import script, please let us know and we’ll do our best to get it added.

Don’t have a NodePing account yet? You can sign up for a free, 15-day trial at https://nodeping.com

* service names are trademarked and belong to their respective owners.