Analysis updated 2026-05-18
Add separate liveness and readiness endpoints so Kubernetes restarts containers only when the process itself is actually down.
Check the health of a database, Redis, Sidekiq, and disk space through one gem instead of writing custom checks.
Expose a Prometheus-format metrics endpoint for monitoring dashboards.
Isolate worker health checks from database health checks using named check groups.
| eclectic-coding/rails_health_checks | fastlane/taskqueue | rkh/hpi | |
|---|---|---|---|
| Stars | 14 | 13 | 16 |
| Language | Ruby | Ruby | Ruby |
| Last pushed | — | 2019-07-29 | 2011-10-28 |
| Maintenance | — | Dormant | Dormant |
| Setup difficulty | easy | easy | moderate |
| Complexity | 2/5 | 2/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Works in plain Rack apps like Sinatra or Roda without requiring the full Rails stack.
RailsHealthChecks is a Ruby gem that adds health check web endpoints to a Rails application. Health checks are special URLs that monitoring systems, load balancers, and container orchestrators (like Kubernetes) call repeatedly to find out whether a running application is healthy. Rails ships with a basic one at a fixed path, but this gem expands on it substantially. The gem adds two main endpoint types. A liveness endpoint simply confirms that the server process is running. It always returns success as long as the Ruby process is alive. A readiness endpoint goes further, actively testing whether each external dependency the app relies on is reachable and working. If the database is down, or the cache is unresponsive, the readiness endpoint returns a failure status. This distinction matters in Kubernetes and behind load balancers: if a liveness check fails, the container gets restarted, if a readiness check fails, the load balancer stops sending traffic to that instance without restarting it. Conflating the two can cause unnecessary restarts or cascade failures, which is why the gem treats them separately. Eleven checks come built in: database, cache, Redis, email sending via SMTP, and several background job systems (Sidekiq, SolidQueue, GoodJob, Resque), plus disk space, available memory, and the ability to reach an external HTTP URL. Checks run in parallel so total response time is capped by the slowest single check rather than the sum of all of them. Results can be cached for a configurable duration to avoid overloading dependencies when monitoring tools probe frequently. The gem also exposes a Prometheus-format metrics endpoint for teams that collect metrics through that system. Named check groups let operators expose subsets of checks at separate URLs, for example isolating worker health from database health. Authentication is supported via bearer token, IP allowlist, or a custom code block. A generator command creates a commented configuration file. The gem works in plain Rack applications (Sinatra, Roda, etc.) without requiring the full Rails stack for checks that do not depend on Rails internals. The full README is longer than what was shown.
A Ruby gem that adds liveness and readiness health check endpoints to Rails apps, with eleven built-in checks for databases, caches, and job queues.
Mainly Ruby. The stack also includes Ruby, Rails, Sidekiq.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.