正如标题所暗示的那样,我正试图从Payara服务器(而非微型)读取AMX mbean。特别是它是豆:amx:pp=/mon/server-mon[server],type=thread-pool-mon,name=network/http-listener-2/thread-pool
。
这在本地工作,我在那里检查了bean(使用JConsole)并且还可以读取它的值。但如果将其部署到OpenShift,则该bean不再存在。只剩下管理员监听器和监听监听器的bean。通过类似于JConsole的OpenShift Jolokia接口进行检查。
即使缺少bean,服务器也会响应。
在本地和OpenShift中,Payara的监控级别“线程池”设置为HIGH。
我注意到非常奇怪的行为,一些部署有mbean而没有改变图像。这种行为无法真正重现,有些部署有bean,有些则没有。
我有点迷失在这里,有没有人知道为什么豆不存在?我会非常感谢任何帮助。
编辑: 我添加了一个监控级别的图像:Monitoring Levels
我遇到了完全相同的问题,并发现(不幸的是)只有一种解决方法。我们在版本4.1.2.184
中使用Payara,在版本3.6.173
中使用OpenShift master。
一些额外的意见:
amx:pp=/mon/server-mon[server],type=thread-pool-mon
对象中的HIGH
而不是Http service
来启用监视模块Thread pool
。后者负责遗嘱执行人服务,即amx:pp=/mon/server-mon[server],type=thread-pool-mon
。HIGH
时的事件,但仅在启动后设置监视级别时才会发生模块丢失。上面的结果得出了一个自然的结论,当你将Http service
的监测水平设置为OFF
然后紧接着HIGH
之后,该模块出现并提供了正确的统计数据。我们案例中的解决方法是在Payara启动后以编程方式执行这些步骤,我们感兴趣的每个模块的监控级别已设置为HIGH
。
不幸的是,我们仍然不知道根本原因。