JMX::Jmx4Perl::Agent - JSON-HTTP based acess to a remote JMX agent
my $agent = new JMX::Jmx4Perl(mode=>"agent", url => "http://jeeserver/j4p"); my $answer = $agent->get_attribute("java.lang:type=Memory","HeapMemoryUsage"); print Dumper($answer); $VAR1 = { 'value' => { 'committed' => 18292736, 'used' => 15348352, 'max' => 532742144, 'init' => 0 }, 'status' => 200, 'request' => { 'attribute' => 'HeapMemoryUsage', 'name' => 'java.lang:type=Memory' }, };
This module is not used directly, but via JMX::Jmx4Perl, which acts as a proxy to this module. You can think of JMX::Jmx4Perl as the interface which is backed up by this module. Other implementations (e.g.
Creates a new local agent for a given url
The url where the agent is deployed. This is a mandatory parameter. The url must include the context within the server, which is typically based on the name of the war archive. Example: http://localhost:8080/j4p for a drop in deployment of the agent in a standard Tomcat's webapp directory.
http://localhost:8080/j4p
Timeout in seconds after which a request should be stopped if it not suceeds within this time. This parameter is given through directly to the underlying LWP::UserAgent
Credentials to use for the HTTP request
Optional proxy to use
Credentials to use for accessing the proxy
Add a target which is used for any request served by this object if not already a target is present in the request. This way you can setup the default target configuration if you are using the agent servlet as a proxy, e.g.
... target => { url => "service:jmx:...", user => "...", password => "..." }
Get the base URL for connecting to the agent. You cannot change the URL via this method, it is immutable for a given agent.
Implementation of the JMX request as specified in JMX::Jmx4Perl. It uses a HTTP::Request sent via an LWP::UserAgent for posting a JSON representation of the request. This method shouldn't be called directly but via JMX::Jmx4Perl->request().
Generate the URL for accessing the java agent based on a given request.
This file is part of jmx4perl.
Jmx4perl is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
jmx4perl is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with jmx4perl. If not, see <http://www.gnu.org/licenses/>.
A commercial license is available as well. Please contact roland@cpan.org for further details.
roland@cpan.org
To install JMX::Jmx4Perl, copy and paste the appropriate command in to your terminal.
cpanm
cpanm JMX::Jmx4Perl
CPAN shell
perl -MCPAN -e shell install JMX::Jmx4Perl
For more information on module installation, please visit the detailed CPAN module installation guide.