Tuesday Nov 25, 2008

The Mystery Of Multiple MBeanServers

JConsole and VisualVM have made it very simple to access MBeans in a remote target VM. There's also a lot of blogs and documents that explain how to access remote MBeans programmatically.

But how do you access local MBeans registered in your own JVM?

[Read More]

Tuesday Jul 29, 2008

Java 5, premain, RMI Connectors, Single Port, SSL, and Firewall.

... So many words I couldn't even put them all in the title...

I've been asked several times how to make my example of javaagent which starts a firewall friendly JMX RMI Connector work on JDK 5. Well, here is how. However, beware of the catch: if you use SSL and want to connect with JConsole then you need to use Java 6 JConsole on the client side.

[Read More]

Friday Jul 11, 2008

OpenDS 1.0 is Released: A Java Open Source LDAP Server with JMX and SNMP monitoring

The first stable release of OpenDS is out! This LDAP Server written in Java can be monitored both through JMX and SNMP.

[Read More]

Tuesday May 06, 2008

Mapping to OpenTypes: MXBean Complex Attribute Types

Although it might not be a very good idea to define your management model based on how it will be displayed by a given GUI, such as that provided by JConsole or VisualVM, I believe it is nonetheless interesting to explore the various ways in which a complex type such as a Map<String,Integer> could be modeled and exposed through an MXBean attribute.

[Read More]

Wednesday Jan 09, 2008

Building a Remotely Stoppable Connector Server

JMX is a wonderful tool to monitor and troubleshoot running applications. The new JDK 6 Attach API makes it very easy to attach to a running Java process, and start a JMX agent that will expose monitoring and configuration data to JMX consoles - like JConsole. However, there are some situations where you wish to start a JMX agent on demand, explore the monitoring data or diagnose the probable cause of an observed problem, and then close your JMX agent, leaving the application just how you found it.

In this post, I will discuss a means by which you can upload and start such a remotely stoppable JMX agent. Here is how.

[Read More]

Monday Dec 10, 2007

Ingo Rockel's Thread Dump Plugin For JConsole

In his blog, Ingo Rockel posted about a nice Thread Dump plugin for JConsole. Out of curiosity, I decided to give it a try.

[Read More]

Monday Oct 22, 2007

JMX: Connecting Through Firewalls Using RMI Over SSL And a Single Port (Part III)

This post explains how you can configure your Java application to export a single port using JMX RMI Connector Server over SSL. This is particularly useful when your application is located behind a firewall, because you will only need to let through a single port. However, using a single port when SSL is enabled requires a little care, because it can only work if the same RMI Socket Factories are used everywhere: indeed the same port cannot be shared by two different RMI Socket Factories. So at the risk of boring you, here is my third post on the subject.

[Read More]

Wednesday Oct 17, 2007

Dmitri Maximovich: Monitoring JVM memory with MRTG

Dmitri Maximovich has written an excellent article about how to monitor JVM memory using MRTG.

[Read More]

Friday Oct 05, 2007

Using Project OpenDMK APIs To Send Traps From Multiple Threads

I recently received a question from a member of the Java community asking for advises on how to implement a trap sending service for a highly multi-threaded application.

Here is an example/test which shows that the SnmpAdaptorServer from Project OpenDMK can be used. The example also allowed me to find a bug.

[Read More]

Tuesday Oct 02, 2007

Project OpenDMK now includes the SNMP Runtime

I am very pleased to announce that we have now a new release of Project OpenDMK which includes the Java DMK SNMP Runtime.

The SNMP Runtime are those API classes in Project OpenDMK that will let you send SNMP requests and implement SNMP agents.

[Read More]

Wednesday Sep 12, 2007

More on premain and JMX Connectors

In my previous blog entry, I have talked about how to take advantage of java agents in order to start a custom JMX Connector in a Java application, without modifying the application. This is particularly useful when you need to monitor Java applications which are located behind a firewall. In that case, it makes it possible to write a java agent that will start a RMI connector configured in a firewall-friendly manner. However, there's a catch. This is what this entry is about.

[Read More]

Wednesday Jul 25, 2007

Connecting Through Firewall Using JMX - Without modifying the server application

In a recent comment on my blog about Troubleshooting Connection Problems in JConsole I was asked the following question:

Can you simply explain how run jconsole on a client machine to connect to an unmodifiable applicaton that run on a server. One and only one port on the server is open though firewall for managing the application.

Here is how.

[Read More]

Friday May 04, 2007

A small program that prints the attributes of all JVM MBeans

A few weeks ago I blogged about how to programmatically access the JVM Monitoring information. Here is a small Java application that prints all the attributes of all the JVM Management & Monitoring MBeans.

The sample simply prints the attributes of the JVM MBeans from the JVM in which it runs. It would be very easy to make it print the information of a remote JVM. You would just need to copy the code from the JVMRuntimeClient shown in my previous blog: [More]

[Read More]

Friday Apr 20, 2007

How to retrieve JVM information using JRuby

A few weeks ago, I posted a small example showing how to programatically retrieve the JVM Management and Monitoring information. Jeff Mesnil also recently wrote a two parts blog article showing how to write a JMX client using JRuby.

Piecing these two articles together I'm going to show how to prototype this using JRuby in jconsole Script Shell plugin.

[Read More]

Daniel Fuchs blogs on Scene Builder, JMX, SNMP, Java, etc...

The views expressed on this blog are those of the author and do not necessarily reflect the views of Oracle.


« July 2016