Automatic System Monitoring with Heroku

This article was originally published on July 21, 2014, by Charlie von Metzradt, co-founder of Hosted Graphite, for the Hosted Graphite blog. Since then, Hosted Graphite has become MetricFire but our goal has stayed the same: Monitoring should be accessible. For more information and for updates on new features, book a time with our team!

Hosted Graphite has been available as a Heroku add-on for some time, but we’ve just added a new way to get system information out of your Dynos instantly - automated system dashboards. 

Using Heroku’s log-runtime-metrics we retrieve and process Heroku’s syslog information for your Dynos including:

  • Load average - 1 / 5 / 15-minute averages
  • Memory and Swap - Resident memory, disk cache, swap, total memory, and cumulative totals for pages written to and read from disk.
  • HTTP metrics - The number of requests broken down by HTTP method and status codes, data transferred, and connect and service times.

From this data, we create automatic Grafana dashboards giving you a great high-level overview of what’s happening in your Heroku apps.

It looks a little something like this:

A screenshot of a Hosted Graphite auto generated Heroku Dashboard

The real power of this approach is when you combine it with the application metrics specific to your app that Hosted Graphite brings. This way, you get a detailed view of your app, and also the effect that your code has on the underlying Dynos that it runs on. Benchmark that new function that you’re pretty sure is good to drop into production and then make 100% sure by seeing what it does to the memory and load average on the box.

The end result is both native and custom application metrics in one place as well as all the advanced data types you expect from Hosted Graphite - min/max/sum/averages, and arbitrary percentile data

How do I get it?

New Hosted Graphite Heroku users won’t need to do anything; we’ll start pulling metric data from your syslog data once you add the Hosted Graphite app.

For existing users you can add us as a syslog drain using the Heroku drains command, and we will start pulling this data and graph it for you.

To enable the drain, use the following command:

heroku drains:add<your api key here>

For more details on how this works, see Heroku’s documentation.

Now, get measuring!

You might also like other posts...
monitoring Jun 02, 2023 · 9 min read

Monitoring a K8s Cluster with MetricFire

MetricFire is a cloud-based monitoring platform that simplifies the challenging task of monitoring Kubernetes... Continue Reading

monitoring May 05, 2023 · 10 min read

How To Monitor MemoryDB with MetricFire

MemoryDB is an Amazon service that enables high-speed data processing for real-time applications. Learn... Continue Reading

monitoring Apr 21, 2023 · 4 min read

How To Use Our AWS Integration

We recently updated our AWS integration and can now integrate with all AWS services... Continue Reading

header image

We strive for
99.999% uptime

Because our system is your system.

14-day trial 14-day trial
No Credit Card Required No Credit Card Required