内置健康检查端点
Rails 还附带一个内置的健康检查端点,可通过 /up
路径访问。如果应用程序已启动且没有异常,此端点将返回 200 状态代码;否则,将返回 500 状态代码。
在生产中,许多应用程序需要报告其上游状态,无论是对工程师发出警报的正常运行时间监视器,还是用于确定 Pod 健康状况的负载均衡器或 Kubernetes 控制器。此健康检查旨在成为一种一刀切的方法,适用于许多情况。
虽然任何新生成的 Rails 应用程序都会在 /up
处进行健康检查,但您可以在 "config/routes.rb"
中将路径配置为您想要的任何内容。
Rails.application.routes.draw do
get "healthz" => "rails/health#show", as: :rails_health_check
end
现在可以通过 /healthz
路径访问健康检查。
注意:此端点不反映所有应用程序依赖项的状态,例如数据库或 redis 集群。如果您有特定于应用程序的需求,请用您自己的控制器操作替换 "rails/health#show"
。
仔细考虑您要检查的内容,因为它会导致由于第三方服务出现故障而导致应用程序重新启动的情况。理想情况下,您应该设计应用程序以优雅地处理这些中断。
方法
- S
实例公共方法
show() 链接
来源:show | 在 GitHub 上
# File railties/lib/rails/health_controller.rb, line 38 def show render_up end