Heroku Event Monitoring

September 18, 2026

Introduction

Heroku event monitoring can get tricky once you need to understand what’s happening across more than a few individual log entries. Heroku’s router logs contain useful information about every request, including the HTTP method, response status, connection time, service time, and bytes transferred.

The HG Heroku Monitoring add-on turns this data into time-series metrics that you can easily graph and alert on. This makes it much easier to spot patterns like increasing 500 responses, slower requests, or unexpected changes in traffic. You can also monitor these router metrics alongside dyno, Postgres, process, and custom application metrics to get a more complete view of what’s happening across your Heroku app. Attach it to your app right away by running these commands from within your Heroku CLI:

  • heroku addons:create hostedgraphite -a <app-name>
  • heroku addons:open hostedgraphite -a <app-name>

Solutions for Heroku Event Monitoring

Heroku logs are a good place to investigate individual requests. A typical router entry contains information like:

method=GET connect=0ms service=18ms status=200 bytes=975

That's useful when you're debugging a specific request but if users report that the app has been slower for the last hour, searching through hundreds of log lines isn't very practical.

MetricFire's Hosted Graphite receives the Heroku log stream and converts supported router data into Graphite metrics. This lets you graph that information over time, compare it against other application metrics, and build alerts around unusual behavior. The HG Heroku add-on also automatically builds Heroku-focused Grafana dashboards so you have useful data available as soon as metrics start arriving.

Heroku event metrics

How Heroku HG Event Monitoring Works

Each request passing through the Heroku router produces a log entry containing information about the request. Hosted Graphite parses several of these fields into metrics using a structure like:

heroku.<app-name>.router.<metric>

Router metrics include:

  • bytes
  • connect
  • service
  • method.<METHOD>
  • status.<STATUS>

HTTP methods are broken out individually, for example:

router.method.GET
router.method.POST

The same applies to response codes:

  • router.status.200
  • router.status.404
  • router.status.500
  • router.status.502

This makes it easy to see what kind of traffic your app is receiving and how it responds because if you release a new API endpoint and POST traffic increases at the same time as status.500, that's a useful clue. A sudden increase in status.404 might instead mean a client is still requesting an old endpoint.

The timing metrics provide another angle. connect tracks the time required to establish a connection to the backend web process, while service measures the time spent proxying data between the web process and the client. If service starts climbing alongside dyno load or server errors, you now have several signals pointing toward the same performance problem.

Heroku connect and service metrics

Monitoring App Requests by Method and Status

Once the router metrics are in Hosted Graphite, you can combine them however makes sense for your application. Graphite wildcards (*) are particularly useful here. For example:

heroku.<app-name>.router.status.* can be used to graph your different HTTP status codes together, while: heroku.<app-name>.router.method.* can show how request methods change over time.

Heroku app requests by method grafana query
Heroku app requests by status metrics

Composite Alerting for Heroku Router Metrics

Heroku Router metrics also work well with Hosted Graphite Composite Alerting. Instead of notifying your team every time a single metric crosses a threshold, you can combine related conditions into one higher-confidence alert. For example, you could alert when service time is elevated AND status.500 responses are increasing. This gives you a stronger indication that users are actually experiencing a problem and helps cut down on alerts caused by short-lived spikes.

Hosted Graphite composite alert

How Do I Get This Heroku Event Monitoring Dashboard?

To get started, just run the following commands from within your Heroku CLI :

  • heroku addons:create hostedgraphite -a <app-name>
  • heroku addons:open hostedgraphite -a <app-name>

The integration receives your Heroku log stream, forwards them as Graphite metrics into your account, and automatically creates 4 Heroku dashboards for you to start visualizing your app performance in just a couple of minutes.

Existing Hosted Graphite users can also configure a Heroku log drain directly:

heroku drains:add "https://webhooks.hostedgraphite.com/heroku/logs/?apikey=<HG_API_KEY>" -a <app-name>

Once router data starts arriving, you'll find the metrics in your account with the following format: heroku.<app-name>.router.*

From there, you can graph them in Grafana, combine them with metrics from other parts of your application, and configure alerts around the behavior that matters to you.

Heroku Event Monitoring with HG Heroku Add-on

Heroku's router logs already contain a lot of useful information about how traffic moves through your application. Hosted Graphite makes that information much easier to use.

Instead of searching individual log entries, you can graph request methods, HTTP status codes, connection times, service times, and response sizes. More importantly, you can put those metrics next to your dyno, database, process, and application metrics when something goes wrong. If service starts climbing, check your dynos. If 500s spike after a deploy, check the application. If POST traffic suddenly doubles, see how the rest of the stack handled it.

The HG Heroku Monitoring add-on collects these metrics automatically and makes them available for dashboards and alerting in Hosted Graphite.

Try Hosted Graphite now!

Get Hosted Graphite free for 14 days. No credit card required.

Get Started

Benjamin Pitts

Software and Sales Engineer for MetricFire's Hosted Graphite

Related Posts

No items found.

See why thousands of engineers trust Hosted Graphite with their monitoring

START A FREE TRIAL