Introducing Alarms: Get real-time alerts from any query in Honeybadger

 

In Honeybadger, everything is an event. Application errors, logs, telemetry data? All events. While we provide simple APM-style (Application Performance Monitoring) views on top of these events, we also give you direct access through our advanced query engine in Honeybadger Insights. You can use BadgerQL to transform and aggregate events at query time, allowing you to analyze your data and derive metrics without deploying new instrumentation.

This is a key difference between Honeybadger and less sophisticated APM and logging tools. You get a simple and elegant application monitoring tool by default, but there is also so much power under the hood.

Today, we’re building on this foundation with a new feature called Insights Alarms. Alarms allow you to combine a query (“count all slow requests in the past five minutes”) with a threshold (”when count is > 2”) and trigger alerts when the query result exceeds the threshold.

Creating an alarm from an Insights query

Every alarm starts with a BadgerQL query. For example, in a Rails app, you might count the number of slow requests using the native Active Support events that Honeybadger collects automatically:

A settings interface showing a query builder for data filtering. The navigation shows "Settings" (selected) and "Integrations" tabs. Under the "Query" section, there's a filter configuration with tabs for "Default" and "Internal" views. The query syntax shows fields "@ts, duration::float" with two filter conditions: "event_type::str == process_action.action_controller" and "duration::float > 100".

The alarm’s state tells Honeybadger when to send alerts, which you configure with each alarm. You can also configure a timing interval (how often Honeybadger checks the alarm) and lag (the amount of time to allow for new data to arrive):

A monitoring system configuration interface showing alarm settings. The "Timing" section shows "interval" set to "5m" (5 minutes) and "lag" set to "1m" (1 minute). Below that, the alarm condition is configured to trigger if "Result count" is ">" (greater than) "2".

When you chart your alarm in Insights, it looks like this:

A monitoring dashboard titled "Slow requests" showing system performance over time. The status shows "ok" with "Checked 5 min ago - Next in < 1 min". The time range displays "1h" to "now" in PST timezone. The line graph shows no slow requests from 08:20 to 08:55, then a sharp increase at 09:00 to 1, peaking at 09:05 with a value of 3 (marked by a red dashed threshold line), then decreasing to 2 by 09:10. The timeline at the bottom shows mostly green status with a red segment around 09:05, indicating a brief period of performance issues.

The red line is the threshold for the alarm state. The query was in an alarm state for one period in the last hour but recently recovered. Hey, your app is pretty fast!

Sending alerts for alarms

You can send alerts to Slack, PagerDuty, or any of Honeybadger’s many 3rd-party integrations—giving you incredible flexibility when notifying your team and choosing when and how to respond.

You can configure integrations when editing the alarm itself or from the Alerts & integrations page in Project settings:

A monitoring system configuration interface split into two sections. On the left, "Alarms - alert events" with the description "Alert events for these alarms will be reported:" and a checked checkbox for "Slow requests". On the right, "Alarms - OK events" with the description "OK events for these alarms will be reported:" and a checked checkbox for "Slow requests". Both sections show that notifications are enabled for both problem alerts and recovery events for the "Slow requests" monitor.

Creating your first alarm

To get started, head over to the new “Alarms” tab in your Honeybadger project to create an alarm:

A monitoring dashboard showing the "Alarms" section of an application performance monitoring tool. The navigation menu at the top displays multiple monitoring options: Errors, Insights, Dashboards, Alarms (currently selected), Uptime, Check-Ins, Deployments, Reports, and more options. The main content area shows an "Alarms" heading with a "+ Create Alarm" button in the top right corner. Listed below is one active alarm called "Slow requests" with a green status indicator, showing it was "Last checked 42 min ago, next check 37 min."

Check out the alarms guide in our developer docs to learn more.

An alarming offer - try Honeybadger for free

Insights Alarms are available on our Business plan, which starts at just $80/month. Sign up for a free 30-day trial to see why developers love Honeybadger's powerfully simple application monitoring.

author photo
Joshua Wood

Josh started hacking on IRC scripts in the late nineties and has been hacking on computers (and businesses) ever since. As a co-founder of Honeybadger he works on the product, leads marketing and developer relations, and is involved in many open-source projects.

More articles by Joshua Wood