cmdline-jmxclient 是一个轻量级 Java 命令行 JMX 客户端 ,用于在终端 / 脚本中远程调用 Java 应用的 JMX MBean(查询属性、执行操作),无需写 Java 代码,常用于监控、运维自动化、告警脚本。通常可以直接监控tomcat、TongWeb7.0,如:
java -jar cmdline-jmxclient-0.10.3.jar - 10.252.117.233:12345 "java.lang:type=Memory" HeapMemoryUsage
而 TongWeb8.0 并未提供这些参数,(TongWeb8.0 提供的 JMX 服务为执行操作,即需要执行对应的操作才能获取到需要的参数), 故采取了改造 cmdline-jmxclient.jar 方式来满足需求。使用方式如下:
-
从东方通获取改造后的 tw-cmdline-jmxclient-bjfuzj-v2.jar。
-
TongWeb实例开启JMX,需要开启"注册监视MBean" 否则MBean中无TongWeb相关监控值。

- 如果为远程取值打开远程JMX,并绑定相应的IP。

命令格式如下:
# 无认证, 以横线代替
java -jar tw-cmdline-jmxclient-bjfuzj-v2.jar - 127.0.0.1:7200 TongWeb:type=OperatingSystem::cpuUsage
##### TongWeb:type=OperatingSystem::cpuUsage
6
##### EOF
#开启认证
java -jar tw-cmdline-jmxclient-bjfuzj-v2.jar jmxuser:wang135.COM 127.0.0.1:7200 TongWeb:type=OperatingSystem::cpuUsage
##### TongWeb:type=OperatingSystem::cpuUsage
7
##### EOF
所有参数如下:
java -jar tw-cmdline-jmxclient-bjfuzj-v2.jar - 127.0.0.1:7200 TongWeb:type=OperatingSystem::cpuUsage--memoryUsage--diskUsage...TongWeb:type=Jvm::deadlockedThreadCount--heapCommitted--heapUsed--collectionCount--collectionTime...TongWeb:type=Connector,name=server::activeCount--poolSize--waitingCount--connectionCount--requestCount--errorCount--slowCount...TongWeb:type=ServerLog::bufferQueueUsed...TongWeb:type=App,name=myApp::requestCount--activeSessions--errorCount--StuckThreadCount--InterruptedThreadsCount...TongWeb:type=DataSource,name=myDS::size--active--waitCount--slowSQLSize