如何给Tomcat添加健康检查?

2024-01-11

我想在 Linux 的 Tomcat 上配置一个简单的健康检查,例如:http://localhost:8080/health http://localhost:8080/health

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

我希望使用这样的东西:http://localhost:8080/health http://localhost:8080/health,它返回一个 HTTP 响应,即 200,这样我就可以将此 url 添加到我的监控工具中,以显示当前状态。


从 Tomcat 9 开始,您可以在配置中使用 Valve 来实现此目的:健康检查阀. See https://tomcat.apache.org/tomcat-9.0-doc/config/valve.html#Health_Check_Valve 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>
...

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何给Tomcat添加健康检查? 的相关文章

随机推荐

  • 如何在编译时保存指向成员的指针?

    考虑下面的代码 template
  • 反应选择禁用选项

    我在禁用 React Select 元素内的大型列表中的某些选项时遇到问题 我有大约 6 500 个选项被加载到选择中 起初我遇到了搜索功能滞后的问题 但后来我开始使用react select fast filter options来解决这
  • 在 PHP 中写入文本文件时换行符不起作用

    我有以下测试脚本 但是 当运行并使用记事本打开时 数据以单行形式返回 没有中断 如下所示 Floppy Jalopy 疯狂盒子 Pointy Pinto 疯狂盒子 我找不到 疯狂盒子 的合适字符 但它确实是一个疯狂的盒子 是什么赋予了 最好
  • 仅在使用 cx_freeze 时出现 UnicodeDecodeError

    我收到错误 UnicodeDecodeError ascii codec can t decode byte 0xa0 in position 7338 ordinal not in range 128 一旦我尝试在使用 cx freeze
  • 在项目中声明全局变量并在xslt中使用它

    对于 XSLT 方面的疑问 我会寻求您的指导 在我当前的项目中 需要创建许多 XSLT 文件 在这些转换中 执行的共同步骤很少 例如更改输入 xml 中元素值的大写 我当前在 XSLT 中使用以下代码 因此如果创建了 50 个 XSLT 则
  • F# 正向管道从 int 转换为 bigint

    我对 F 相当陌生 遇到了这种情况 希望有人能解释为什么我的编译器不喜欢这些代码 如果在 F 中我执行以下操作 let FloatToInt 10 0 gt int let IntToFloat 10 gt float 一切都很好 数字被转
  • Python 中基于字符串的枚举

    封装我正在使用的状态列表enum模块 from enum import Enum class MyEnum Enum state1 state1 state2 state2 state MyEnum state1 MyEnum state1
  • __attribute__((__interrupt__, no_auto_psv)) 是做什么的?

    void attribute interrupt no auto psv T1Interrupt void 5 Hz attribute 指令或宏来自 GCC 但是 interrupt and no auto psv不是 它特定于硬件 那么
  • 检测何时触发position:sticky 的事件

    我正在使用新的position sticky info http updates html5rocks com 2012 08 Stick your landings position sticky lands in WebKit 创建类似
  • 如何创建 Java 自定义 Web 控件?

    这个问题最初出现在我的脑海中 我可以在 Servlet 中使用 AWT 控件吗 这将显示我对这个问题的无知 我是 JAVA 技术的新手 但经过一些阅读后 我似乎了解 AWT 控件直接连接操作系统 GUI 元素 因此无法在 Servlet 中
  • 对齐 CSS 网格中的列

    我应该设置哪些 CSS 属性 以便各列相互缠绕 忽略水平相邻列的高度 失败的尝试 我正在尝试这样做display grid 但它的行为不符合我的要求 一个例子 header height 2 0rem background PeachPuf
  • 通过 PowerShell/cmd 调用 Linux 应用程序的 Windows 子系统 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 随着最近推出的 Windows 内部版本 14316 我们拥有了适用于 Linux 的 Windows 子系统 测试版 它允许在 Wind
  • 设置超时时 JavaScript 闭环问题

    我在教程中找到了一些示例 说这是规范的示例 for var i 1 i lt 5 i setTimeout function console log i i i 1000 现在 我明白了 闭包将当前范围传递给函数 我假设它应该输出 1 2
  • AWS ELB - 多VPC负载均衡

    我正在开发一个项目 其中任务之一是为远程 VPC 中的实例提供 AWS ELB 服务 AWS ELB 位于 VPC A 中 实例位于 VPC B 中 我最初的回答是 否 因为 ELB 是负载均衡器 而不是路由器 文档和使用 AWS ELB
  • 如何在不打开网络浏览器的情况下在spotipy中进行身份验证?

    我尝试了标准方法 主页上有描述 但我需要在没有网络浏览器的情况下登录 我怎样才能做到这一点 您可以使用 Spotify 的 python 库之一 例如 https github com plamere spotipy https githu
  • setMicrophoneMute() 如何工作?

    我一直在尝试使用Android的AudioManager setMicrophoneMute 没有取得多大成功 也就是说 无论我做什么 它都拒绝将麦克风静音 我在网上搜索了一些线索 发现了一些报告类似经历的参考资料 AudioManger
  • 使用 CA 签署的另一个证书签署证书

    是否可以使用由 CA 签名的证书作为其他证书的 CA 来签署新证书 并且仍然由根 CA 验证它们 例子 create new key openssl genrsa des3 out server key 2048 openssl req n
  • 如何将文件复制到android的文件系统?

    如何将文件复制到android中的文件系统 位置 我怎样才能访问它 将文件从android复制到本地 adb pull data data com example sample sample 从本地复制文件到android adb push
  • 对常量值使用 def 与 val 有何含义

    使用有什么影响def vs val在 Scala 中定义一个常量 不可变的值 我显然可以写出以下内容 val x 3 def y 4 var a x y 7 这两种说法有什么区别 哪一种表现更好 是推荐的方式 更惯用 我什么时候会使用其中一
  • 如何给Tomcat添加健康检查?

    我想在 Linux 的 Tomcat 上配置一个简单的健康检查 例如 http localhost 8080 health http localhost 8080 health 我一直在检查Tomcat文档 我发现了这个内置的服务器状态站点