Scala Play 2.6:如何设计高效的健康检查?

Scala Play 2.6: How to design an efficient health check?

如您所知,在将应用程序投入生产时进行健康检查是一项重要的功能。

一方面,我不想把阳光下的所有东西都放在我的健康检查中,另一方面,我不想只显示一个字符串来进行健康检查。

所以我的问题是,如何为生产中的应用程序设计高效的健康检查?

您想导出哪种健康检查?首先,我建议您执行以下操作:

  1. 使用可以输出 JVM 指标的 codahale 指标

  2. 如果您的应用程序有下游系统,您可以公开这些下游系统的连接细节。这可能会帮助您进行一些基础架构级别检查,如果您的下游之一脱机,您最终可以通过这些检查触发一些警报

  3. 也可以暴露DB连接池连接状态

  4. 关于HTTP请求的指标,你可以看看Twitter的鸵鸟框架!

您可以将所有这些检查公开为一个 API 端点,然后某些基础设施监控工具可以定期调用该端点!