45
© 2012 SL Corporation. All Rights Reserved. 1 JMX: Get the Most out of this Unsung Hero Tom Lubinski Chief Technical Officer [email protected] SL Corporation Corte Madera, CA 8 November, 2012

JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

Embed Size (px)

Citation preview

Page 1: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.1

JMX: Get the Most out of

this Unsung Hero

Tom Lubinski

Chief Technical Officer

[email protected]

SL CorporationCorte Madera, CA

8 November, 2012

Page 2: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.2 © 2012 SL Corporation. All Rights Reserved.

Agenda

Introduction to SL Corporation

JMX: A little background

JMX: How it can help

Q&A

Page 3: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.3 © 2012 SL Corporation. All Rights Reserved.

Who is SL and what is RTView ?

Why should I listen to you about JMX ?

Page 4: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.4 © 2012 SL Corporation. All Rights Reserved.

SL Corporation …

Extensive background in real-

time application monitoring

Critical Tax Season Applications at Intuit

Large volumes of dynamic data

Visualization technologies

OOCL World WideShipment Tracking

Specialists in Application /

Middleware, esp. TIBCO

Page 5: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.5 © 2012 SL Corporation. All Rights Reserved.

RTView Enterprise Monitor

Collects, Analyzes, and Visualizes data from different sources, many using JMX

RTView

Enterprise Monitor

RTView

Classic

GenericJVM

Apache/Tomcat

VMware

Amazon EC2

IBMWebSphere

OracleWebLogic

BusinessEvents

ActiveSpaces

OracleCoherence

… and many more

RTView

“IDE”

TIBCOEMS (JMS)

BusinessWorks

OracleGlassfish

IBMeXtreme

Scale

Page 6: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.6 © 2012 SL Corporation. All Rights Reserved.

High-Level Application Summary Views

Drilldown to individual components to investigate problems

RTView Enterprise Monitor

Page 7: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.7 © 2012 SL Corporation. All Rights Reserved.

(it’s kind of boring, actually …)

Monitoring is critical for complex apps …

Do you want to re-invent the wheel ?

SL has found JMX to be excellent model …

as we hope you see in this presentation

Why should I care about JMX ?

Page 8: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.8 © 2012 SL Corporation. All Rights Reserved.

Need for collecting monitoring information

Roots in agent technology, like TIBCO Hawk

JMX 1.1 then 1.2

External in Java 1.4, but automatic in 1.5+

Whence JMX …

Page 9: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.9 © 2012 SL Corporation. All Rights Reserved.

“Standards”

Standardize monitoring and management

Standard system-independent data types

Standard naming / access mechanism

Why JMX …

Page 10: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.10 © 2012 SL Corporation. All Rights Reserved.

None at all … very common

Output log files

Write to Database

Send JMS Message

Custom TCP or Web Service transport

JMX Makes it easy … and standard !

Typical Monitoring Approaches …

Page 11: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.11 © 2012 SL Corporation. All Rights Reserved.

Selfish Motives

Unclean Thoughts

We lust for you to produce more monitoring data - easily !

We want you to use standards …So RTView can collect data easily, analyze it, and visualize it

… and provide useful, actionable information for you

Confession …

Page 12: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.12

Every JVM produces CPU, Memory, Thread, GC information

Examples of Standard JMX Data

Page 13: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.13

Tomcat produces Session data, Request Counts, and Response Time for

entire server and every servlet

Examples of Standard JMX Data

Page 14: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.14

Middleware and Application Tiers

Where JMX Data can be Collected

Page 15: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.15 © 2012 SL Corporation. All Rights Reserved.

Learn to use JMX …

… The right way !

How can I get my Apps to produce data like Tomcat or other middleware ?

Page 16: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.16 © 2012 SL Corporation. All Rights Reserved.

1) Abstract Monitoring Model

2) Simple Data Model

3) Pluggable Transport Mechanism

What is the so-called right way to use JMX ?

Page 17: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.17 © 2012 SL Corporation. All Rights Reserved.

1) Abstract Monitoring Model

Monitoring is observing !

Management is commanding

Isolate monitoring / management code from application

code

Page 18: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.18 © 2012 SL Corporation. All Rights Reserved.

Communication should be one-way !

Application shouldn’t know it is being monitored …

1) Abstract Monitoring Model

Monitoring

Code

Application

Code

Observe internal structures

Execute Commands

which should be there already !

Page 19: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.19 © 2012 SL Corporation. All Rights Reserved.

1) Abstract Monitoring Model

Only one requirement to use JMX:

Application must indicate it is observable and set up the

observer

Modularity is important ! Organize well from start !

More data structures = more complexity

Page 20: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.20 © 2012 SL Corporation. All Rights Reserved.

Monitoring Code

Application = Global App Data + Component Data

1) Abstract Monitoring Model

Application

Code

Modular

organization

JMXAgent

AppManager

Component

ManagerComponent

Manager…

Page 21: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.21 © 2012 SL Corporation. All Rights Reserved.

1) Abstract Monitoring ModelApplication Class

public class MyApplication {

// Global Application data …

// Component data …

public MyApplication ()

{

// Create a JMX Agent to manage this App

SampleJmxAgent agent = new SampleJmxAgent(this);

}

{

Page 22: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.22 © 2012 SL Corporation. All Rights Reserved.

1) Abstract Monitoring ModelSample JMX Agent Class

import javax.management.*;

import java.lang.management.*;

public class SampleJmxAgent {

public SampleJmxAgent (MyApplication myApp)

{

// Get the platform MBeanServer

MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();

// Create App Manager instance

SampleAppManager managerBean = new SampleAppManager(mBeanServer, myApp);

// Multiple Component Manager instances ..

}

Page 23: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.23 © 2012 SL Corporation. All Rights Reserved.

1) Abstract Monitoring ModelSample App Manager Class

public class SampleAppManager implements SampleAppManagerMBean

{

private MyApplication myApp;

public SampleAppManager (MBeanServer mBeanServer, MyApplication myApp)

{

// Save reference to App

this.myApp = myApp;

// Uniquely identify this MBean instance and register with the MBeanServer

try {

ObjectName managerName = new ObjectName("MyApplication:name=AppManager");

mBeanServer.registerMBean(this, managerName);

} catch(Exception e) {

e.printStackTrace();

}

}

// data access method definitions …

}

Page 24: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.24 © 2012 SL Corporation. All Rights Reserved.

1) Abstract Monitoring ModelSample App Manager MBean Class

public interface SampleAppManagerMBean

{

// data access method declarations …

}

Page 25: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.25 © 2012 SL Corporation. All Rights Reserved.

Make monitoring data easy to consume !

Avoid complex data structures that must be

parsed

Make data “self-contained” – include indexes

2) Simple Data Model

Page 26: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.26 © 2012 SL Corporation. All Rights Reserved.

7 Basic Data Types:

int, long

double, float

boolean

String

Date

2) Simple Data Model

Page 27: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.27 © 2012 SL Corporation. All Rights Reserved.

2) Simple Data ModelApplication Class

public class MyApplication {

// Global Application variables

int intVar = 123;

long longVar = 12345678900L;

float floatVar = 12.34f;

double doubleVar = 567.899999;

boolean booleanVar = true;

String stringVar ="TestString";

java.util.Date dateVar = new java.util.Date();

public MyApplication ()

{

// Create a JMX Agent to manage this App

agent = new SampleJmxAgent(this);

}

{

Page 28: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.28 © 2012 SL Corporation. All Rights Reserved.

2) Simple Data ModelSample App Manager Class

public class SampleAppManager implements SampleAppManagerMBean{

// data access method definitions …

public int getIntVar () { return myApp.intVar; }public void setIntVar (int i) { }

public long getLongVar () { return myApp.longVar; }public void setLongVar (long l) { }

public float getFloatVar () { return myApp.floatVar; }public void setFloatVar (float f) { }

public double getDoubleVar () { return myApp.doubleVar; }public void setDoubleVar (double d) { }

public boolean getBooleanVar () { return myApp.booleanVar; }public void setBooleanVar (boolean b) { }

public String getStringVar () { return myApp.stringVar; }public void setStringVar (String s) { }

public java.util.Date getDateVar () { return myApp.dateVar; }public void setDateVar (java.util.Date date) { }

}

Page 29: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.29 © 2012 SL Corporation. All Rights Reserved.

2) Simple Data ModelSample App Manager MBean Class

public interface SampleAppManagerMBean{

// data access method declarations …public int getIntVar ();public void setIntVar (int i);

public long getLongVar ();public void setLongVar (long l);

public float getFloatVar ();public void setFloatVar (float f);

public double getDoubleVar ();public void setDoubleVar (double d);

public boolean getBooleanVar ();public void setBooleanVar (boolean b);

public String getStringVar ();public void setStringVar (String s);

public java.util.Date getDateVar ();public void setDateVar (java.util.Date date);

}

Page 30: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.30

Viewed in jconsole …

2) Simple Data Model

Page 31: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.31

Viewed in RTView Builder …

One tabular row per MBean, permitting aggregation across multiple instances

2) Simple Data Model

Page 32: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.32 © 2012 SL Corporation. All Rights Reserved.

Other Useful Data Types:

Should be used with care (supported by

RTView, but not all JMX tools)

Array

CompositeData

TabularData

2) Simple Data Model

Page 33: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.33 © 2012 SL Corporation. All Rights Reserved.

In MyApplication:

String[] serverList = { "bogart", "bacall", "jones", "clarion" };

In AppManager:

public String[] getServerList () { return myApp.serverList; }

In AppManagerMBean:

public String[] getServerList () ;

2) Simple Data ModelArray

RTView and jconsole can view all array elements at once …

Page 34: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.34 © 2012 SL Corporation. All Rights Reserved.

2) Simple Data ModelCompositeData

Single row data structure, consisting of multiple typed fields (items)

CompositeType ctype = new CompositeType(typeName, indexNames, itemNames, itemNames, itemTypes);

Not recommended for general use …

Many developers use Composite, but difficult to use by clients

RTView can see them easily, but jconsole can only view one element at a time

(as well as most other JMX tools)

Page 35: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.35 © 2012 SL Corporation. All Rights Reserved.

2) Simple Data ModelTabularData

Tabular data structure, consisting of multiple Composite rows

CompositeType ctype = new CompositeType(“typeName”, “description”, itemNames, itemDescriptions, itemTypes);

TabularType ttype = new TabularType(“typeName”, ”description”, ctype, indexNames)

Recommended for use when performance is an issue …

More work to use by clients, but is most efficient for large tables

Alternative to multiple instances of single MBean

RTView can see them easily, but jconsole can only view one element at a time

(as well as most other JMX tools)

Page 36: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.36 © 2012 SL Corporation. All Rights Reserved.

2) Simple Data ModelTabularData

Sample use case:

Oracle Coherence = distributed cache system

e.g. 100 Nodes x 50 caches distributed = 5000 MBeans

SL provided optimized TabularData version of same data:

100 TabularData MBeans with 50 rows each

Used 3 X less network bandwidth to transfer and 10 X speed improvement

Page 37: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.37 © 2012 SL Corporation. All Rights Reserved.

2) Simple Data ModelTabularData

RTView display

showing data from

thousands of

Mbeans in

heatmap

Page 38: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.38 © 2012 SL Corporation. All Rights Reserved.

Separate monitoring data structures from

transport code

In-memory monitoring data stored in uniform

fashion = input to transport mechanism

3) Pluggable Transport Mechanism

Page 39: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.39 © 2012 SL Corporation. All Rights Reserved.

The JMX Data Model, e.g. SimpleType and

TabularType = important

Transport can be anything

3) Pluggable Transport Mechanism

Page 40: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.40 © 2012 SL Corporation. All Rights Reserved.

The JMX Data Model, e.g. SimpleType and

TabularType = important

Transport can be anything:

Log File

Database Table

JMS Message

3) Pluggable Transport Mechanism

Page 41: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.41 © 2012 SL Corporation. All Rights Reserved.

Monitoring Code

Provide Transport Plugins / Interfaces

3) Pluggable Transport MechanismArchitecture View

Application

Code

Many different

interfaces could be

provided

JMXAgent

AppManager

Component

ManagerComponent

Manager…

MBeanInterface JMX API

SQLInterface Database Table

JMSInterface JMS Message

OtherInterface Other Transport

Page 42: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.42 © 2012 SL Corporation. All Rights Reserved.

Forget to include index columns in your data

Encode monitoring data in XML string fields

Use overly complex keys

Inconsistent key, index column mappings

4) Some things NOT to do …

Page 43: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.43 © 2012 SL Corporation. All Rights Reserved.

Additional Info in JDJ Technical Paper:

4) Some things NOT to do …

Page 44: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.44 © 2012 SL Corporation. All Rights Reserved.

Resources: www.sl.com

Page 45: JMX: Get the Most out of this Unsung Hero ·  · 2013-05-20Introduction to SL Corporation JMX: A little background JMX: ... TIBCO EMS (JMS) Business Works Oracle Glassfish IBM eXtreme

© 2012 SL Corporation. All Rights Reserved.

© 2012 SL Corporation. All Rights Reserved.45 © 2012 SL Corporation. All Rights Reserved.

Q & A