OpenShift 中缺少 Payara 服务器的 AMX http-listener 线程池 MBean
Missing AMX http-listener threadpool MBean of the Payara Server in OpenShift
如标题所示,我正在尝试从 Payara 服务器(而不是 micro)读取 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 的豆子了。通过类似于 JConsole 的 OpenShift Jolokia 界面进行检查。
即使缺少 bean,服务器也会响应。
在本地和 OpenShift 中,Payara 的监控级别 "Thread Pool" 都设置为 HIGH。
我注意到非常奇怪的行为,有些部署有 mbean 而没有更改图像。这种行为无法真正重现,有些部署有 bean,有些没有。
我有点迷路了,有人知道为什么豆子不在那里吗?如果有任何帮助,我将不胜感激。
编辑:
我添加了一张带有监控级别的图像:
Monitoring Levels
我遇到了完全相同的问题并找到了(不幸的是)解决方法。我们在版本 4.1.2.184
中使用 Payara,在版本 3.6.173
.
中使用 OpenShift master
一些额外的观察:
- 通过在
Http service
对象中将监控级别设置为 HIGH
来启用监控模块 amx:pp=/mon/server-mon[server],type=thread-pool-mon
,而不是 Thread pool
。后者负责执行器服务,即amx:pp=/mon/server-mon[server],type=thread-pool-mon
.
- 当监控级别设置为
HIGH
时,模块丢失的事件仅在启动后设置监控级别时发生。
以上自然得出一个结论,当你将Http service
的监控级别设置为OFF
,然后紧接着设置为HIGH
,模块出现并提供正确的统计数据。 我们案例中的解决方法是在 Payara 启动后,针对我们感兴趣的每个模块以编程方式执行这些步骤,这些模块的监控级别已经设置为 HIGH
。
不幸的是,我们仍然不知道根本原因。
如标题所示,我正在尝试从 Payara 服务器(而不是 micro)读取 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 的豆子了。通过类似于 JConsole 的 OpenShift Jolokia 界面进行检查。
即使缺少 bean,服务器也会响应。
在本地和 OpenShift 中,Payara 的监控级别 "Thread Pool" 都设置为 HIGH。
我注意到非常奇怪的行为,有些部署有 mbean 而没有更改图像。这种行为无法真正重现,有些部署有 bean,有些没有。
我有点迷路了,有人知道为什么豆子不在那里吗?如果有任何帮助,我将不胜感激。
编辑:
我添加了一张带有监控级别的图像:
Monitoring Levels
我遇到了完全相同的问题并找到了(不幸的是)解决方法。我们在版本 4.1.2.184
中使用 Payara,在版本 3.6.173
.
一些额外的观察:
- 通过在
Http service
对象中将监控级别设置为HIGH
来启用监控模块amx:pp=/mon/server-mon[server],type=thread-pool-mon
,而不是Thread pool
。后者负责执行器服务,即amx:pp=/mon/server-mon[server],type=thread-pool-mon
. - 当监控级别设置为
HIGH
时,模块丢失的事件仅在启动后设置监控级别时发生。
以上自然得出一个结论,当你将Http service
的监控级别设置为OFF
,然后紧接着设置为HIGH
,模块出现并提供正确的统计数据。 我们案例中的解决方法是在 Payara 启动后,针对我们感兴趣的每个模块以编程方式执行这些步骤,这些模块的监控级别已经设置为 HIGH
。
不幸的是,我们仍然不知道根本原因。