Page de statut et monitoring d'uptime pour applications Rails
Monitorez contrôleurs Rails, Active Record, files Sidekiq et Redis. Page jolie ou construisez la vôtre via notre API.
Trois façons de livrer une page de statut pour Ruby on Rails
Choisissez le niveau de contrôle — sans code, low-code, ou full headless.
Hébergé
Ajoutez votre endpoint Ruby on Rails, pointez un CNAME sur status.votredomaine.com, fini. Marche en 5 minutes.
Headless
Utilisez notre API publique pour construire votre propre UI dans votre app Ruby on Rails. Contrôle total du design et du branding.
Voir l'APIBadges embarqués
Intégrez des badges SVG uptime et statut dans votre README ou landing. Mise à jour toutes les 5 minutes.
Collez ce health endpoint dans votre app Ruby on Rails
Copiez, collez, pointez PulseAPI sur l'URL. Renvoie 200 sain, 503 dégradé.
class HealthController < ApplicationController
skip_before_action :authenticate_user!, raise: false
def show
checks = {
database: active_record_ok? ? "ok" : "fail",
cache: cache_ok? ? "ok" : "fail",
sidekiq: sidekiq_ok? ? "ok" : "fail",
}
healthy = checks.values.all? { |v| v == "ok" }
render json: { status: healthy ? "healthy" : "degraded", **checks },
status: healthy ? 200 : 503
end
private
def active_record_ok?
ActiveRecord::Base.connection.execute("SELECT 1") && true
rescue StandardError
false
end
def cache_ok?
Rails.cache.write("health:probe", "1", expires_in: 5.seconds)
Rails.cache.read("health:probe") == "1"
rescue StandardError
false
end
def sidekiq_ok?
Sidekiq.redis { |c| c.ping == "PONG" }
rescue StandardError
false
end
endBranchez avec `get "/health", to: "health#show"` dans routes.rb. Skip CSRF, auth et middleware qui renverrait 401 à la sonde.
Ce qui casse dans les apps Ruby on Rails — et comment le détecter
Files Sidekiq qui grossissent en silence
Un worker bloqué laisse la file gonfler pendant que l'app sert. Exposez queue-depth et alertez sur seuil.
Régressions N+1
Un .includes() oublié peut multiplier par 10 le temps de réponse. Les assertions attrapent la régression dans la minute suivante.
Pool de connexions affamé
Des requêtes longues bloquent le pool. Un health endpoint avec timeout court révèle le souci avant qu'ActionCable ne perde les utilisateurs.
Notre page de statut ne vous plaît pas ? Construisez la vôtre dans Ruby on Rails.
Notre API renvoie les mêmes données que notre UI hébergée consomme. Spec OpenAPI complète sur api.pulseapi.tech/docs.
require "net/http"
require "json"
class StatusController < ApplicationController
def show
uri = URI("https://api.pulseapi.tech/status/acme")
@data = JSON.parse(Net::HTTP.get(uri))
end
endMonitoring Ruby on Rails — FAQ
Ça marche avec Rails, Sinatra, Hanami ou Padrino ?
Oui. Le monitoring est au niveau HTTP — le framework n'importe pas.
Comment monitorer une file Sidekiq ?
Retournez la profondeur depuis une action contrôleur et alertez sur seuil. PulseAPI supporte JSON-path: `$.queue_depth < 100`.
Ça marche avec Heroku, Fly.io et Render ?
Oui, et avec tout déploiement. PulseAPI a juste besoin d'une URL publique.
Je peux embarquer la page de statut dans l'app Rails ?
Oui. Appelez l'API publique depuis un contrôleur, rendez un template, ou utilisez un turbo_frame avec un partial server-rendered.
Commencez à monitorer votre app Ruby on Rails en 5 minutes
Version gratuite. Sans carte. Ajoutez votre endpoint et recevez des alertes en cas de panne.