我正在尝试使用 asadmin 界面来监视 GlassFish 3.1.1 上的线程池。我正在执行以下命令:
asadmin get -m server.network.my-listener.thread-pool.*
我正在取回数据,但其中大部分的 lastsampletime = -1(因此相关数据为零;并且毫无值(value))。
注意:我还尝试了 REST 接口(interface)(我相信是 asadmin 委托(delegate)给它的)和 JMX 接口(interface)。同样的问题:大部分数据的 lastsampletime = -1。
我已经将所有模块的监控设置为 HIGH。我错过了什么?
最佳答案
似乎重新部署我的应用程序对于监视实际获取值是必要的。也许我错误地解释了手册,但似乎表明不需要重新启动/重新部署:
Oracle GlassFish Server 3.1 Administration Guide
另外,奇怪的是以下显示没有监控数据:
asadmin get -m server.thread-pools.thread-pool.http-thread-pool.*
相反,您必须通过特定的网络监听器,例如:
asadmin get -m server.network.http-listener-2.thread-pool.*
让我感到惊讶的是,启用线程池监视不足以查看线程池统计信息。您还必须启用 http 服务监控:
asadmin enable-monitoring
asadmin set server.monitoring-service.module-monitoring-levels.thread-pool=HIGH
asadmin set server.monitoring-service.module-monitoring-levels.http-service=HIGH