1
# This Perl script open connection and call domains
# $jar stands for path of jmxterm jar file

open JMX, "| java -jar jmxterm-1.0-alpha-4-uber.jar -n"; // jmx jar file 
#print JMX "help \n";

my $host = "127.0.0.1"; // hostname
my $port = 7199; //jmx port number

print JMX "open $host:$port\n";
#print JMX "domains\n";
print JMX "domain org.apache.cassandra.request\n";
print JMX "bean type=ReadRepairStage\n";
print JMX "get CompletedTasks\n"; 
print JMX "close\n";
close JMX;

目前我正在得到CompletedTasks = 1234我需要的输出1234

4

2 回答 2

0

Jmx4Perl提供了一个完整的 Perl API 来访问 JMX 信息。这里不需要启动 JVM,但是需要安装Jolokia代理(但也有无代理代理模式)。

您也可以轻松地使用纯 shell 脚本访问代理,因为代理通过简单的 JSON 和 HTTP 公开 JMX API。

于 2013-01-16T09:02:32.440 回答
0

您不能使用 simpleopen来建立双向通信。更多信息请参见IPC::Open2

于 2013-01-15T12:21:00.173 回答