Download JMX

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
JMX Update
Scott Molenaar
ScottMolenaar@null.net
11/08/2004
Original work by David Moran
Original Slides Created by
David Moran
dmoran@nc.rr.com
10/20/03
Original work by David Moran
Agenda
Overview
Managed Beans
Services
Remote API
J2EE Management
Implementations
Future Directions
Demo
Original work by David Moran
Benefits
JMX is an API to for managing java
applications.
Abstract the instrumentation for management
information to a common interface to facilitate
integrated management.
Distribute management by moving management
functions to the agents.
Real-time deployment of services and updates.
Possible to use to manage any application or
device (via JNI or SNMP etc..)
Original work by David Moran
JMX Architecture
Original work by David Moran
MBeanServer
The core of the agent. It provides a registry for
MBeans.
Allows clients to discover and execute
operations exposed by the MBeans
Makes available various services to facilitate
management (I.e. monitoring, scheduling, etc)
 Use “ObjectName” class to register objects
with the MBeanServer
Original work by David Moran
Instrument your resources as
MBeans
MBean stands for “managed bean”
MBeans can represent a physical device
or an application
You decide which attributes and methods
you want to expose for management.
Use design patterns similar to JavaBeans
MBeans are exposed in an agent.
Original work by David Moran
Standard MBeans
The simplest MBean
Provides a static representation of a
manageable resource.
Implements a management interface of
attributes and methods that a device or
application exposes for management.
Original work by David Moran
Notifications
Can be used to inform registered listeners
with important events or state changes.
Similar to the java event model
Register once to all types of notifications
Can supply a filter to say which
notifications it is interested in.
Original work by David Moran
Dynamic MBeans
Useful if the management interface is not
stable.
The management interface is defined at
runtime.
Developer is responsible for checking the
validity of the invocations.
Original work by David Moran
DynamicMBean Interface
<<Interface>>
DynamicMBean
getAttribute(String attribute)
setAttribute(Attribute attribute)
getAttributes (String[] attributes)
setAttributes(AttibuteList attributes)
getMBeanInfo()
invoke(String actionName, Object[] params)
Original work by David Moran
Model MBeans
Most flexible and thus most complicated
MBeans
Extension of the dynamic MBean
Developers do not write an MBean class
The agent must supply the
RequiredModelMBean and the Management
Interface is defined outside of the Bean via
setter methods.
Features include persistence, logging, and
attribute caching.
Original work by David Moran
Connectors/Adapters
A connector makes a Java Management
Extensions (JMX) API MBean server
accessible to remote Java technologybased clients.
Adapters are similar to connectors except
they provide protocol translations (I.e.
SNMP, HTML, etc.)
Original work by David Moran
Agent Services
Mlet; (Management Applet) Dynamically adds
class files to the server either locally or from a
remote location.
Relation Service; Allows the definition of
relationships between MBeans
Monitors: Observe MBean attributes and emit
notifications when values change.
Timers: Emits user defined notifications at
specific times.
Original work by David Moran
JMX Remote API
Adds remote capability to the JMX spec
Makes the JMX agent accessible from outside
the JVM.
Developed through the JCP JSR 160
Standard support via RMI
Optional support via TCP Sockets (JMXMP)
API is as close as possible to the API defined by
the JMX API.
Also support discovery/lookup services and
defines security between the client and server.
As with RMI code must handle communication
exceptions
Original work by David Moran
J2EE Management
An MBean can get data directly from an
EJB by invoking its access methods.
An MBean can receive data being pushed
from an EJB.
Registers and Deletes an MBean with a
JMX agent upon creation and destruction
of an EJB
Original work by David Moran
J2EE Management Spec JSR77
This specification represents a model of the
J2EE application server, and its
subcomponents, that all J2EE-compliant
application vendors are required to expose
Requires JMX
Part of J2EE 1.4 spec
Specifies the MEJB, which is a session bean, to
expose the agent to remote clients.
Original work by David Moran
Available JMX Implementations





Sun JDK1.5
JBOSS JBOSS-MX
MX4J
XMOJO
Commercial implementations available;




Weblogic
Adventnet
XtreamJ
WebSphere Tivioli
Original work by David Moran
Future Directions
 Use of metadata
 Persistence
 Reliable event handling
 Master-agent/sub-agent functionality
 Manageability for J2EE™ apps
Original work by David Moran
Examples
MX4J - Dynamic MBean Example (CacheMBean)
MC4J Console
XMOJO - Model MBean Example (ServerInfo)
XMOJO Web based console
JBoss – “XMBean” Example (CacheMBean)
JBoss Web based console & MC4J Console
JDK1.5 Standard MBeans and JConsole
Original work by David Moran
Books
 JMX in Action
Benjamin G. Sullins, Mark Whipple
Publisher: Manning Publications Company
 JMX: Managing J2EE with Java Management Extensions
Marc Fleury, Juha Lindfors
Publisher: Sams
 Java and JMX: Building Manageable Systems
Heather Kreger, Ward K. Harold, Leigh Williamson,
Ward Harold
Publisher: Pearson Education
 Java Management Extensions
J. Steven Perry
Publisher: O'Reilly & Associates, Incorporated
 JMX Programming
Mike Jasnowski
Publisher: Wiley, John
& Sons, Incorporated
Original work by David Moran
References
 Sun JMX Page:
http://java.sun.com/products/JavaManagement
 JMX Forum jmx-forum@java.sun.com
 JBOSS MX:
http://www.jboss.org/developers/projects/jboss/jbos
smx.jsp
 AdventNet: www.adventnet.com
 http://www.gartner.com/reprints/adventnet/108841.html
 Interview with Chris Ebro
http://www.theserverside.com/events/library.jsp
 JSR77 Article
http://www.onjava.com/pub/a/onjava/2002/03/27/jsr77.html
 Original Slides
http://www.trijug.org/downloads/JMXPresentation.ppt
Original work by David Moran
References continued
 MX4J Page:
http://mx4j.sourceforge.org
 MC4J Page:
http://mc4j.sourceforge.org
 XMOJO Page: http://www.xmojo.org
 Jconsole page:
http://java.sun.com/j2se/1.5.0/docs/t
ooldocs/share/jconsole.html
 Tutorial Page:
http://www.admc.com/blaine/howtos/jmx
/jmx.html
 Article on JMX:
http://www.onjava.com/pub/a/onjava/20
Original work by David Moran
04/09/29/tigerjmx.html