If I understand JMX correctly, you can prepare your Java classes for monitoring by wrapping them in MBeans, and your application server itself will implement its objects, containers, properties as MBeans as well.
But a complete Network Management System needs to manage hardware devices such as routers, load balancers, terminals, etc. so how would you create MBeans out of such hardware devices?
-
Questions on JMX MBeans (5 messages)
- Posted by: David Achlander
- Posted on: May 26 2004 13:07 EDT
Threaded Messages (5)
- Questions on JMX MBeans by Paul Strack on May 26 2004 20:57 EDT
- Questions on JMX MBeans by David Achlander on May 31 2004 17:17 EDT
- Questions on JMX MBeans by Paul Strack on June 01 2004 02:01 EDT
- Questions on JMX MBeans by David Achlander on May 31 2004 17:17 EDT
- Questions on JMX MBeans by Atur Shah on June 05 2004 00:46 EDT
- Question on JMX Client by Supradeep barua on August 04 2004 06:39 EDT
-
Questions on JMX MBeans[ Go to top ]
- Posted by: Paul Strack
- Posted on: May 26 2004 20:57 EDT
- in response to David Achlander
Those devices would first need some sort of API to control their function (C++ or Java). You would need to write MBeans to access this API (using JNI to access a C++ API).
A bigger question is whether those devices support having a JVM installed. If not, you may be able to use some sort of remote-control protocol to control the device (again, hopefully with a C++ or Java API provided by the hardware vendor). -
Questions on JMX MBeans[ Go to top ]
- Posted by: David Achlander
- Posted on: May 31 2004 17:17 EDT
- in response to Paul Strack
Those devices would first need some sort of API to control their function (C++ or Java). You would need to write MBeans to access this API (using JNI to access a C++ API).A bigger question is whether those devices support having a JVM installed. If not, you may be able to use some sort of remote-control protocol to control the device (again, hopefully with a C++ or Java API provided by the hardware vendor).
When you say "remote-control" maybee that's where the protocol adapters come in. The JMX manager could send SNMP commands to the router (using the SNMP Manager API?) and get the proper feedback. Or better yet, if there's already an existing Network Management System that monitors the routers the JMX Manager could connect to that using SNMP.
So would it be safe to say JMX is mainly for programming monitoring capability into custom Java programs and integrate them with existing network management systems? In other words use JMX for *programming* Java apps while using JMX for *integrating* legacy network management systems? -
Questions on JMX MBeans[ Go to top ]
- Posted by: Paul Strack
- Posted on: June 01 2004 02:01 EDT
- in response to David Achlander
So would it be safe to say JMX is mainly for programming monitoring capability into custom Java programs and integrate them with existing network management systems?
That is the way I see JMX being used. Of course, your management system must also support JMX, but many do (e.g. Tivoli).
There are also SNMP-JMX bridges out there (a Google search will bring up a number of them). -
Questions on JMX MBeans[ Go to top ]
- Posted by: Atur Shah
- Posted on: June 05 2004 00:46 EDT
- in response to David Achlander
If I understand JMX correctly, you can prepare your Java classes for monitoring by wrapping them in MBeans, and your application server itself will implement its objects, containers, properties as MBeans as well.But a complete Network Management System needs to manage hardware devices such as routers, load balancers, terminals, etc. so how would you create MBeans out of such hardware devices?
JMX is an open specification that defines management architecture, which enables management of applications, services and allows java developers to integrate existing network devices to be managed by using connectors/adaptors.
For example, you can represent the network management information (MIB) for a network device as MBeans (through proper instrumentation) registered on MbeanServer from where it is accessible to all JMX clients directly or via connector/adaptor interface. For snmp-enabled device, you can use SNMP adaptor. For web interface, you may use HTTP connector, or RMI connector for distributed client and so on. The advantage here is "Instrument Once, Access with any protocol" architecture provided by JMX.
You may use Model MBeans in such cases, as it is fully configurable at runtime. i.e. the management information can be set/change at runtime. So you could add/remove/change the devices attribtes at runtime any restarting the server. Also, you could provide metadata information in standard xml format. This reduces lots of coding. (see XMOJO Project or Jakarta Modeller Component) -
Question on JMX Client[ Go to top ]
- Posted by: Supradeep barua
- Posted on: August 04 2004 06:39 EDT
- in response to David Achlander
Hi
I have a requirement where I have an MBean with some field say 'weight' and there are two clients one reading the value of the weight and another writing it. Suppose I start the clients and after one hour when reading client reads the value it may be 60, and after two hours it may be 120 since writing client is changing the value. Now, if due to some reason, writing client goes down after 2 hours (with last value 120), even after 5 hours the reading client will get the value as 120. Is there a way to notify the reading client that the writing client has gone down. The limitation here is, there is no fixed time that the reading client has to wait. The writing client sets the value of the field after 2 hr or may be 4 hr depending on it's work at hand. How to notify a client that some other client has gone down?