【问题标题】:Missing AMX http-listener threadpool MBean of the Payara Server in OpenShiftOpenShift 中缺少 Payara 服务器的 AMX http-listener 线程池 MBean
【发布时间】:2019-01-03 08:49:01
【问题描述】:

正如标题所示,我正在尝试从 Payara 服务器(不是微型服务器)读取 AMX mbean。具体来说就是 bean:amx:pp=/mon/server-mon[server],type=thread-pool-mon,name=network/http-listener-2/thread-pool

这在本地工作,我检查了那里的 bean(使用 JConsole)并且还可以读取它的值。但如果将其部署到 OpenShift,则该 bean 不再存在。只剩下 admin-listener 和 monitoring-listener 的 bean。通过类似于 JConsole 的 OpenShift Jolokia 界面进行检查。

即使缺少 bean,服务器也会响应。

在本地和 OpenShift 中,Payara 的监控级别“线程池”都设置为 HIGH。

我注意到一个非常奇怪的行为,即某些部署具有 mbean 而不更改映像。这种行为无法真正重现,有些部署有 bean,有些没有。

我在这里有点迷路,有人知道为什么没有豆子吗?如果有任何帮助,我将不胜感激。

编辑:
我添加了一个带有监控级别的图像: Monitoring Levels

【问题讨论】:

  • 只是为了避免误会,你确定http-listener-2启用吗?
  • 可以,服务器可以处理HTTPS接口的请求。
  • 监控级别 HTTP 是否也是HIGH?
  • 是的,我添加了启用监控级别的屏幕截图

标签: jakarta-ee openshift jmx mbeans payara


【解决方案1】:

我遇到了完全相同的问题,并找到了(不幸的是)一种解决方法。我们在4.1.2.184 版本中使用Payara,在3.6.173 版本中使用OpenShift master。

一些额外的观察:

  1. 通过在Http service 对象中将监控级别设置为HIGH 而不是Thread pool 来启用监控模块amx:pp=/mon/server-mon[server],type=thread-pool-mon。后者负责执行者服务,即amx:pp=/mon/server-mon[server],type=thread-pool-mon
  2. 监控级别设置为HIGH,但模块丢失仅在启动后设置监控级别时发生。

从上面得出一个自然的结论,当您将Http service 的监控级别设置为OFF,然后立即设置为HIGH,该模块出现并提供了正确的统计信息。 在我们的案例中,解决方法是在 Payara 启动后对我们感兴趣的每个模块执行这些步骤,这些模块的监控级别已设置为 HIGH

不幸的是,我们仍然不知道根本原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-27
    • 2013-11-15
    • 2018-09-03
    • 2011-07-14
    • 1970-01-01
    • 2010-11-29
    • 1970-01-01
    • 2011-08-09
    相关资源
    最近更新 更多