↓ Ir para o conteúdo principal

← todas as notas

📎 Webclip

Replacing Pingdom with Ruby and Heroku

The post describes how to replace Pingdom after its starting plan rose from $10 to $14. The suggested setup uses uptime_checker, a Ruby project with fewer than 500 lines, deployed on Heroku for $7 per month.

Reading notes
#

  • The tool checks defined URLs every 30 seconds by default and can verify both the expected status code and whether the response body contains a string.
  • It supports multiple notification channels, including Telegram, Twitter direct message, e-mail, Slack, and Hipchat.
  • Setup starts by forking the repository, cloning it, creating a branch, and copying checkers.yml.sample to checkers.yml.
  • The checkers.yml file defines monitored sites and supports ERB for dynamic values.
  • A shared block can be used to avoid repeating notifier settings across multiple sites.
  • The checks can expect a 200 status code or a specific string in the response.
  • Deployment on Heroku requires creating an app, adding Redis, and adding Sendgrid for e-mail notifications.
  • The example uses a NOTI_FNANDO environment variable for Noti notifications.
  • The app is deployed by pushing the personal branch to Heroku’s master branch.
  • To run it continuously on Heroku, the worker is scaled up and set to hobby dyno type.
  • Logs can be viewed with heroku logs --tail.
  • The post also describes a workflow for keeping the Heroku deployment aligned with master by rebasing personal onto master and force-pushing again.
  • If Heroku is not used, the author says the app can also be deployed to a VPS, but does not detail that setup.