OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

Errbit

Self-hosted error catcher that accepts reports from existing Airbrake notifiers

Open source alternative to

Visit ErrbitGitHubDocumentation

Main features

  • Airbrake API compatible, so Airbrake notifiers can report to it
  • Configurable grouping of notices into problems, per app
  • Email alerts at chosen occurrence counts
  • Slack, Campfire, Hubot, Pushover and webhook notifications
  • GitHub issue creation from an error
  • GitHub, Google and LDAP sign-in
  • User details attached to error reports
  • Ignore notices from outdated app versions
  • Backtrace links to GitHub, Bitbucket or a custom repository URL
  • Optional cleanup of old problems

What Errbit does

Errbit is an error catcher written in Ruby on Rails. Its defining trait is that it implements the Airbrake API: an application that already reports to Airbrake through the airbrake Ruby gem or the airbrake-js library can send its errors to Errbit by changing the host setting. The README lists community clients for PHP and Python, and says that any Airbrake-compatible notifier should work in principle.

Incoming notices are grouped into problems. Each problem shows the backtrace, environment, request details and, when the notifier sends them, the user who hit the error. Backtrace lines can link straight to the file in GitHub, Bitbucket or any repository viewer you describe with a URL template. Problems can be resolved, and notices from app versions older than a chosen one can be ignored.

Grouping and notifications

By default the fingerprint that decides grouping combines the error class, message, full backtrace, component, action and environment. You can change which parts count, both for the whole instance and per app, and re-fingerprint old notices with a rake task after changing the rules.

Watchers of an app receive email when a problem reaches set occurrence counts (by default the 1st, 10th and 100th). Notification services post to Slack, Campfire, Hubot, Pushover and generic webhooks, and an issue tracker plugin creates GitHub issues from a problem.

Self-hosting Errbit

Errbit needs Ruby and MongoDB; the README currently lists Ruby 4.0 and MongoDB 7.0 or later. Deployment options documented in the repository include Heroku, Docker and Docker Compose, Dokku, an experimental Kubernetes setup and a plain Bundler install, but the deployment notes say only Heroku is officially supported. The Docker guide uses the errbit/errbit:latest image, which needs a MONGO_URL and a SECRET_KEY_BASE.

All settings are environment variables, including SMTP details, notification thresholds and ERRBIT_PROBLEM_DESTROY_AFTER_DAYS, which deletes old problems and is off by default. Sign-in can use local accounts, GitHub, Google or LDAP. Upgrades run Rails and Mongoid tasks for migrations and indexes. The README states plainly that Errbit is meant for people who are used to deploying and maintaining Rails applications.

Hosted version

There is none. Errbit is only available to run yourself.

Limitations

Errbit is an error tracker and nothing more: no performance monitoring, release health, session replay or source map handling. It depends on Airbrake’s client libraries, so outside Ruby and JavaScript you rely on community notifiers. Some filters are only reachable through URL query parameters rather than the interface. MongoDB is a requirement that teams on PostgreSQL may not want to add.

Who it suits

Errbit suits Ruby teams with Airbrake notifiers already in their code who want an MIT-licensed server they control, and who are comfortable running a Rails app with MongoDB. Rails teams that would rather keep errors inside the application itself can look at Solid Errors; see the error tracking guide for other approaches.

Technical details

Self-hosting needs

  • MongoDB

Built with

  • Ruby
  • Ruby on Rails

GitHub topics

  • airbrake
  • crash-reporting
  • error-monitoring
  • ruby

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.