Virtual Management Information Base (VMIB) - Mil-OSS

advertisement
Test & Evaluation/Science & Technology Program
Net-Centric Systems Test (NST)
Test Technology Area
Virtual Management Information Base (VMIB) Overview
Scott Oppenlander (Principal Investigator)
March 2012
DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
Acknowledgement
This project is funded by the Test Resource Management Center (TRMC) Test
and Evaluation/Science & Technology (T&E/S&T) Program through the U.S.
Army Program Executive Office for Simulation, Training and Instrumentation
(PEO STRI) under contract number W900KK-10-C-0022.
DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
2
What is the business problem?
•
The emphasis on development and integration of net centric programs has resulted
in diverse and interrelated web services to test and troubleshoot.
•
Debugging complex SOA environments requires costly and scarce on-site subject
matter experts (SME).
•
Test range time with live assets is expensive and scheduled months in advance.
Time spent investigating web service failures instead of testing interoperability with
live assets is wasted funding.
•
The additional time required to debug complex SOA environments directly drives the
schedule and budget overruns when deploying a system. This leads to delays in
providing the warfighter with the tools required to accomplish their mission.
DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
3
Example – Document Retrieval
DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
4
Pitfalls of net-centricity
•
Applications that invoke web services must be written to gracefully handle all
possible return values and exceptions.
•
Target web services must be written both to gracefully handle all conditions as well
as to return meaningful information in the case of exception conditions.
•
Chained web services (i.e. web services that themselves invoke web services) do
not return the root cause of failure
•
Different web services are frequently coded and maintained by different vendors and
agencies, each with variable coding practices, support procedures, opacity, and
general helpfulness.
•
Susceptible to time synchronization, server certificate or trust store issues.
DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
5
Consequence of Failure
org.mc4j.ems.connection.EmsInvocationException: Exception on invocation of
[findMonitorDeadlockedThreads]org.mc4j.ems.connection.EmsConnectException: Connection failure null
at org.mc4j.ems.impl.jmx.connection.bean.operation.DOperation.invoke(DOperation.java:127)
at org.rhq.plugins.jmx.MBeanResourceComponent.invokeOperation(MBeanResourceComponent.java:547)
at org.rhq.plugins.jmx.MBeanResourceComponent.invokeOperation(MBeanResourceComponent.java:517)
at org.rhq.plugins.jmx.ThreadDataMeasurementComponent.invokeOperation(ThreadDataMeasurementComponent.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.rhq.core.pc.inventory.ResourceContainer$ComponentInvocationThread.call(ResourceContainer.java:525)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
Caused by: MBeanException: null Cause: javax.management.InstanceNotFoundException: java.lang:type=Threading is not registered.
at org.jboss.mx.interceptor.ReflectedDispatcher.handleInvocationExceptions(ReflectedDispatcher.java:180)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:163)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
... 3 more
Caused by: javax.management.InstanceNotFoundException: java.lang:type=Threading is not registered.
at org.jboss.mx.server.registry.BasicMBeanRegistry.get(BasicMBeanRegistry.java:523)
at org.jboss.mx.server.registry.BasicMBeanRegistry.getValue(BasicMBeanRegistry.java:561)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
... 48 more
DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
6
How can VMIB help?
• Visibility inside the encryption boundary to examine messages
• Detection and diagnosis of failure in chained web services
• Open interface allows “bring your own” analytics
• Simple to install and back out
• Pairing of SOAP requests and responses
• No code or service endpoint modifications required. No proxy
agents to configure.
• Toolkit allows users to write custom instrumentation
DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
7
Chained web services
JVM
SO
AP
re
sp
on
se
VMIB agent
VMIB agent
SOAP response
AP
SO
JVM
se
on
sp
JVM
re
VMIB agent
VMIB agent
JVM
DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
8
Installation
• Shut down JVM
• Copy VMIB probe .jar files
VMIB client
• Update $JAVA_OPTS
• Restart JVM
VMIB probe
JVM
• Deploy VMIB client application
DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
9
Concept of Operations
Other analytics
HSQLDB
(in-memory
database)
VMIB client
application
DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
Other analytics
VMIB
10
VMIB Components
• Probe – captures information about classes and exceptions as
specified on the command line. The JVM under test is modified in
memory by the VMIB probe to provide instrumentation.
• Log4VMIB – a small, high speed bridge class that accepts data from
the VMIB probe and inserts it into the HSQL database.
• HSQL (hyper structured query language database) – a small, high
performance, in memory database that acts as a buffer between the
probe and the agent.
• Agent – an application that extracts instrumentation from the HSQL
database and publishes it via web service.
• Hub – VMIB analytics and visualization on a separate server.
DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
11
Supported Platforms and Protocols
• Java 5 and 6
• JBoss-WS 4.2.2
• JAX-WS 2.1
• Apache CXF 2.2 and 2.3
• Weblogic 10.3
• SOAP
• JSON
DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
12
Future Features and Issues
• Disconnected operations
• Limited bandwidth
• Prioritization of traffic
• Bandwidth throttling
• Tiered hubs
• Address accreditation questions
• Investigate automated generation of instrumentation
DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
13
Contact Information
Scott Oppenlander
soppenlander@lce.com
(214) 766-1804
DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
14
Questions
?
DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
15
Download