Email notifications for high-frequency Airbrake errors
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Email notifications for high-frequency Airbrake errors

  • sends email to assignee (should fix it or blame other developer) and all ccs
  • reposts same error only after configured duration
  • sends error summary (details + aggragated backtraces from last 100 notices)

Try locally:

cp config{.example,}.yml
# edit config.yml
bundle exec rake report


Subject: AirMan: 270.05/hour Faraday::Error::ClientError Invalid certificate

Details at
last retrieved notice: 7 hours ago at 2013-02-15 22:24:58 UTC
last 2 hours:  ▁▁▂▁▂▁▂▁▁▁▁▂▆█▂▂▂▁▁▁▁▂▁▂▁▂▄▄▄▂▂▂▄▄▁▁▂▁▂▁▁▁▆▁▂▁▁▂▁▁▁▂▄▁▁▁▁▁▁▁
last day:      ▇▄█▄▅▃█▁

Trace 1: occurred 123 times e.g. 213131, 234242343, 345345354, 34243, 3242423
Faraday::Error::ClientError Host not found
... backtrace ...

Trace 2: occurred 16 times e.g. 1231231, 2332323, 234243, 324234
Faraday::Error::ClientError Invalid certificate
... different backtrace ...


setup production section in config.yml

heroku create xxx
heroku addons:add postmark:10k  # add free email sending
heroku addons:open postmark     # add a signature and put it into config.yml mailer: from
rake heroku:configure           # copies config.yml into heroku ENV
git push heroku

# make sure everything is set up correctly
heroku run rake test:email test:store

# send once by hand to verify it works
heroku run bundle exec rake test:email[]
heroku run bundle exec rake report

configure scheduler

heroku addons:add scheduler
heroku addons:open scheduler

add bundle exec rake report hourly


  • Setup a dead man switch so you know the cron is still running and then change the cron to: bundle exec rake report && curl
  • Setup a airbrake project to monitor errors in air_man and add :report_errors_to: to config.yml


Michael Grosser
License: MIT