如何在Tomcat上添加健康检查?

时间:2019-05-17 10:23:25

标签: tomcat status

我想在Tomcat for Linux上配置简单的运行状况检查,例如:http://localhost:8080/health

我一直在查看Tomcat文档,并且发现了这个内置服务器状态站点/manager/status/all,该站点确实有很多信息,但是需要我登录那里,因此如果我执行“ curl”,因为它不会检索任何HTTP响应。

我希望使用类似这样的内容:http://localhost:8080/health,它返回一个HTTP响应,即200,以便我可以将此URL添加到我的监视工具中,以显示当前状态。

2 个答案:

答案 0 :(得分:2)

从 Tomcat 9 开始,您可以在配置中使用一个 Valve 来专门用于此目的:HealthCheckValve。见https://tomcat.apache.org/tomcat-9.0-doc/config/valve.html#Health_Check_Valve

在 server.xml 中,类似...

...
<Host name="localhost" ...>
   ...
   <Valve className="org.apache.catalina.valves.HealthCheckValve" />
   ...
</Host>
...

... 将创建 OP 正在寻找的 /health 端点。

答案 1 :(得分:1)

您可以通过一种简单的方法在webapps中创建一个类似于health的目录,并在webapps / health /中创建一个名为index.html的索引文件,其中包含以下内容。

<HTML>
  <HEAD>
    <TITLE>Tomcat status</TITLE>
  </HEAD>
  <BODY>
    <H1>Tomcat Running</H1>
   </BODY>
</HTML>

使用以下网址进行测试

http://localhost:8080/health