SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
WebLogic Diagnostic
Framework
For the Busy IT Professional

                                                      welcome!
                               munz & more
                                     Dr. Frank Munz
                                   Insync, Aug2010




           about me                                   Frank Munz




                                                          Java EE
                                                            and
                                                            EAI
             10 years                                 with some BPM
                                                        = SOA



                                                                      1
3
                                   years ago




munz & more                      working globally
http://www.munzandmore.com   based @ Manly & Munich




                                                      2
Oracle Fusion Middleware




                           3
Weblogic Server
                                                  Oracle Service Bus
    Version 4 to 11g




                                                      Architecture
                                                       Operation
from the very beginning
                                                     Development
                                                  Training / Coaching




                                            Weblogic Server Course
                                            Architecture, Features and Operation
 high end curriculum
                                            Monitoring, Sizing and Performance
  WLS / OSB / SOA                           Tuning

       arch / features / operation          Oracle Service Bus Course
 monitoring / sizing / performance tuning   Architecture, Development and
                                            Operation




                                                                                   4
“Best of WLDF”
                     reasons




     1.


                     failure
     2.          becomes news


                                5
some            passengers per year
45.000.000               (max)




          30 821
      in 6 hours
                   30 821
                   passengers


                                         6
looking at:




     worse:               this went on for hours…




monitoring + diagnostic
     is important          important


                                                    7
“So far, this was not
    necessary”                    3.

                                   how is
      tools                your most important
                        application doing right now?




                                   ?
                                                       8
Free Heap?            Size of http session?




         Time to
                            Free DB connections
 replicate http session
                             in connection pool?
       in cluster?




   What SQL is sent
      to the DB?
    At which LOC?
                              positioning
How long is it executing?




                                                    9
WLDF
Operations           Developer
                                       features
EM                   Profiler
Nagios               AOP




                                       persists data
   monitoring + diagnostics        is already installed
    server + applications                 is free
                                 only minutes to activate




             JMX                  MBeans encapsulate




                                                            10
Configuration Data
                                          +                                                          MBeans have
         Runtime Values




                                                                                         WLST
                        attributes
                                                                                       start WLST with:
                       operations
                         children                                                      java weblogic.WLST [Script.py]

                       notifications                                                   -> domainRuntime()




WLST Quick Reference
ls()                     show current mbean / cmo = current managed object
                         ls('a') shows attributes , 'c' child mbeans, 'o' operations
cd()                     navigate

serverConfig()           change to config mbeans
serverRuntime() change to server runtime
domainRuntime() change to domain runtime
jndi()

edit()
                         change to jndi tree

                         change to edit tree
                                                                                          WLDF basics
startEdit()              start an edit session, then use set('pn','v') / get('pn')
save()                   persist changes
activate()               activate changes
undo()                   undo changes
easeSyntax()
easeSyntax()             switch off python syntax, do not use for scripting




                                                                                                                        11
Diagnostic System Module

Create a system modul,
target it to any number of servers

• You can have many modules configured
                                                  collected metrics
• Set target to particular server when needed
• You can change module target witout restart




Collected Metrics                               Collected Metric
                                                Type and Attributes
... replace your WLST script that
contains a loop with sleep() e.g. to
monitor free heap.

Remember:
Collected metrics = harvested data




Diagnostic Archives

• File (default)                                          watches
• DB archive                                                  &
both come with retirement options
                                                        notifications



                                                                        12
Watches                          Watches

A watch consists of:             Watches can based on:
   • expression / rule              • collected metrics
   • one or more notifications      • server logs
   • alarm setting                  • event data (= instrumentation)




Watch                            Notification
Rule Expression
                                 Triggered based on watch rules.

                                 Define all underlying transport protocol
                                 configurations first




Notification Types Supported

• JMX
• JMS
• SMTP                           instrumentation
• SNMP
• Diagnostic Images




                                                                            13
Instrumentation                                  Instrumentation Scope

Monitor                                           Server scope
= Unit of diagnostic code                         = fixed location


Action                                            Application scope
= what happens when monitor is triggered          = custom location




Delegate Monitor                                  Actions

Selection of predefined monitors                  Actions create events:
                                                  • DisplayArgumentsAction (captures args and return value)
                                                  • StackDumpAction
                                                  • ThreadDumpAction
                                                  • TraceAction (generates Trace event)
                                                  • TraceElapsedTimeAction
                                                  • TraceMemoryAllocationAction (WLS 10.3.3)
                                                  • MethodInvocationStatisticsAction (WLS10.3)




MethodInvocationStatisticsAction                  MethodInvocationStatisticsAction

Computes method invocation statistics             MethodInvocationStatistics::=
                                                  MethodInvocationStatistics
                                                  Map<className, MethodMap>
in memory without persisting.                     MethodMap::=
                                                  MethodMap
                                                  Map<methodName, MethodParamsSignatureMap>
                                                  MethodParamsSignatureMap::= Map<MethodParamsSignature,
                                                  MethodParamsSignatureMap
Access this information through
                                                  MethodDataMap>
InstrumentationRuntimeMBean by using collected
                                                  MethodDataMap::=
                                                  MethodDataMap
metrics or a watch with notifcation.              <MetricName, Statistic>
                                                  MetricName:= min | max | ... std_deviation
                                                  MetricName




                                                                                                              14
MethodInvocationStatisticsAction                               MethodStats Application

MethodInvocationStatistics                                     http://www.oracle.com/technetwork/articles/
                                                               cico-wldf-091073.html
{java.sql.Statement={executeQuery={java.lang.Stri
ng={count=4, sum=1.0015808E7,
std_deviation=466173.85858443414, avg=2503952.0,
sum_of_squares=2.594
8374738926E13, max=3307465, min=2174694}}}}




Custom Monitor                                                 Instrumentation
Example
<wldf-resource ...
   <instrumentation>

                                                               always:
        <enabled>true</enabled>
        <wldf-instrumentation-monitor>
               <name>FranksMonitor</name>
               <enabled>true</enabled>
               <action>TraceElapsedTimeAction</action>
                                                               Deploy / Redeploy / Update to apply
               <location-type>around</location-type>
               <pointcut>execute ( * com.surfandconsulting.*
                      bookFligh* (...));</pointcut>
                                                               Instrumentation uses AspectJ
        </wldf-instrumentation-monitor>




Hot Swap

Without       hot swap -> redeploy
With          hot swap -> update in place

Enable hot swap with:                                                  dye injection
-javaagent:$WL_HOMEserverlib
diagnostics-agent.jar




                                                                                                             15
incoming requests   Dye Injection Monitor


dye injection
                                             Monitor sets/unsets bits in
monitor:                                     64 bit dye vector
user1=sharon                                 to mark requests
addr1=192.168.0.7
                                             to be able to filter them later
                          time




 Dye Injection Monitor                       Dye Injection

                                             Throttle Dye further reduces number of samples:
                                             • THROTTLE_INTERVAL (milliseconds)
                                             • THROTTLE_RATE (n-th sample)




                                             Capture Image




   diagnostic images




                                                                                               16
You cannot open these .img files with photoshop
                                                       WLDF
                      ;-)                         console extension




       plot mbean attribute
                                                       example:
          data over time




      connection pool with
         5 connections
          under load:




                                                                      17
with “PinnedToThread”
       enabled:




       /dashboard

 is the new WLDF console extension




                                       well designed
 Conclusion                          well docuemented
                                      quick to apply




                                                        18
What should be
needs learning period
                          improved:




                         one sampling interval
         WLS
                           per module but
   runtime values
                           one module per
    not resettable
                              server only




                        motivation/introduction
      hot swap
                                in Oracle
needs in-place update
                            documentation




                                                  19
more information:                                           www.munzandmore.com/blog




                                     WebLogic on
                                     Amazon and
                                      Rackspace                                 Mike Cico‘s article:
                                                                        http://www.oracle.com/technetwork/articles/cico-wldf-091073.html

                                        Cloud
                                    www.munzandmore.com/book




          Oracle WLDF docs:                                                                   the end
http://download.oracle.com/docs/cd/E14571_01/web.1111/e13714/toc.htm




                                                                                                                                           20
questions?




             21

Más contenido relacionado

La actualidad más candente

Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Agora Group
 
JBoss Application Server 7
JBoss Application Server 7JBoss Application Server 7
JBoss Application Server 7Ray Ploski
 
Connections Administration Toolkit - Product Presentation
Connections Administration Toolkit - Product PresentationConnections Administration Toolkit - Product Presentation
Connections Administration Toolkit - Product PresentationTIMETOACT GROUP
 
Scotas - Oracle Open World Sao Pablo
Scotas - Oracle Open World Sao PabloScotas - Oracle Open World Sao Pablo
Scotas - Oracle Open World Sao PabloJulian Arocena
 
JavaEE 6 and GlassFish v3 at SFJUG
JavaEE 6 and GlassFish v3 at SFJUGJavaEE 6 and GlassFish v3 at SFJUG
JavaEE 6 and GlassFish v3 at SFJUGMarakana Inc.
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010Arun Gupta
 
BUG - BEA Users\' Group, Jan16 2003
BUG - BEA Users\' Group, Jan16 2003BUG - BEA Users\' Group, Jan16 2003
BUG - BEA Users\' Group, Jan16 2003Sanjeev Kumar
 
Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010
Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010
Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010Arun Gupta
 
5050 dev nation
5050 dev nation5050 dev nation
5050 dev nationArun Gupta
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudArun Gupta
 
The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011Arun Gupta
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011Arun Gupta
 
Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Arun Gupta
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repositorynobby
 
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.Dimitris Andreadis
 
Ensuring High-performance of Mission-critical Java Applications in Multi-tena...
Ensuring High-performance of Mission-critical Java Applications in Multi-tena...Ensuring High-performance of Mission-critical Java Applications in Multi-tena...
Ensuring High-performance of Mission-critical Java Applications in Multi-tena...Zhenyun Zhuang
 
09 transactions new1
09 transactions new109 transactions new1
09 transactions new1thirumuru2012
 

La actualidad más candente (20)

Bca1931 final
Bca1931 finalBca1931 final
Bca1931 final
 
Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011
 
JBoss Application Server 7
JBoss Application Server 7JBoss Application Server 7
JBoss Application Server 7
 
Connections Administration Toolkit - Product Presentation
Connections Administration Toolkit - Product PresentationConnections Administration Toolkit - Product Presentation
Connections Administration Toolkit - Product Presentation
 
Scotas - Oracle Open World Sao Pablo
Scotas - Oracle Open World Sao PabloScotas - Oracle Open World Sao Pablo
Scotas - Oracle Open World Sao Pablo
 
JavaEE 6 and GlassFish v3 at SFJUG
JavaEE 6 and GlassFish v3 at SFJUGJavaEE 6 and GlassFish v3 at SFJUG
JavaEE 6 and GlassFish v3 at SFJUG
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
 
BUG - BEA Users\' Group, Jan16 2003
BUG - BEA Users\' Group, Jan16 2003BUG - BEA Users\' Group, Jan16 2003
BUG - BEA Users\' Group, Jan16 2003
 
Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010
Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010
Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010
 
5050 dev nation
5050 dev nation5050 dev nation
5050 dev nation
 
Oracle History #5
Oracle History #5Oracle History #5
Oracle History #5
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
 
The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011
 
Oracle VM Benchmark
Oracle VM BenchmarkOracle VM Benchmark
Oracle VM Benchmark
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011
 
Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
 
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
 
Ensuring High-performance of Mission-critical Java Applications in Multi-tena...
Ensuring High-performance of Mission-critical Java Applications in Multi-tena...Ensuring High-performance of Mission-critical Java Applications in Multi-tena...
Ensuring High-performance of Mission-critical Java Applications in Multi-tena...
 
09 transactions new1
09 transactions new109 transactions new1
09 transactions new1
 

Similar a WebLogic Diagnostic Framework For the Busy IT Professional

2012 06-15-jazoon12-sub138-eranea-large-apps-migration
2012 06-15-jazoon12-sub138-eranea-large-apps-migration2012 06-15-jazoon12-sub138-eranea-large-apps-migration
2012 06-15-jazoon12-sub138-eranea-large-apps-migrationDidier Durand
 
Performance testslideshowrecent
Performance testslideshowrecentPerformance testslideshowrecent
Performance testslideshowrecentFuture Simmons
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyWASdev Community
 
OSCON 2012 OpenStack Automation and DevOps Best Practices
OSCON 2012 OpenStack Automation and DevOps Best PracticesOSCON 2012 OpenStack Automation and DevOps Best Practices
OSCON 2012 OpenStack Automation and DevOps Best PracticesMatt Ray
 
Openstack Diablo Survey
Openstack Diablo SurveyOpenstack Diablo Survey
Openstack Diablo SurveyPjack Chen
 
Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts weili_at_slideshare
 
Dell web monsters-oct2011-v6-public
Dell web monsters-oct2011-v6-publicDell web monsters-oct2011-v6-public
Dell web monsters-oct2011-v6-publicBarton George
 
The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...
The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...
The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...Amazon Web Services
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinarCloudBees
 
Summer training oracle
Summer training   oracle Summer training   oracle
Summer training oracle Arshit Rai
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOABob Rhubart
 
OpenStack at Xen summit Asia
OpenStack at Xen summit Asia OpenStack at Xen summit Asia
OpenStack at Xen summit Asia Jaesuk Ahn
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOABob Rhubart
 
2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadisdandre
 
02 -my_sql_roma-may2011
02  -my_sql_roma-may201102  -my_sql_roma-may2011
02 -my_sql_roma-may2011testfank
 
Operating the Hyperscale Cloud
Operating the Hyperscale CloudOperating the Hyperscale Cloud
Operating the Hyperscale CloudOpen Stack
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…Sergey Dzyuban
 
Integration in the age of DevOps
Integration in the age of DevOpsIntegration in the age of DevOps
Integration in the age of DevOpsAlbert Wong
 
Succeding with the Apache SOA stack
Succeding with the Apache SOA stackSucceding with the Apache SOA stack
Succeding with the Apache SOA stackJohan Edstrom
 

Similar a WebLogic Diagnostic Framework For the Busy IT Professional (20)

2012 06-15-jazoon12-sub138-eranea-large-apps-migration
2012 06-15-jazoon12-sub138-eranea-large-apps-migration2012 06-15-jazoon12-sub138-eranea-large-apps-migration
2012 06-15-jazoon12-sub138-eranea-large-apps-migration
 
Performance testslideshowrecent
Performance testslideshowrecentPerformance testslideshowrecent
Performance testslideshowrecent
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
 
OSCON 2012 OpenStack Automation and DevOps Best Practices
OSCON 2012 OpenStack Automation and DevOps Best PracticesOSCON 2012 OpenStack Automation and DevOps Best Practices
OSCON 2012 OpenStack Automation and DevOps Best Practices
 
Openstack Diablo Survey
Openstack Diablo SurveyOpenstack Diablo Survey
Openstack Diablo Survey
 
Virtual classroom
Virtual classroomVirtual classroom
Virtual classroom
 
Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts
 
Dell web monsters-oct2011-v6-public
Dell web monsters-oct2011-v6-publicDell web monsters-oct2011-v6-public
Dell web monsters-oct2011-v6-public
 
The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...
The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...
The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinar
 
Summer training oracle
Summer training   oracle Summer training   oracle
Summer training oracle
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
OpenStack at Xen summit Asia
OpenStack at Xen summit Asia OpenStack at Xen summit Asia
OpenStack at Xen summit Asia
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis
 
02 -my_sql_roma-may2011
02  -my_sql_roma-may201102  -my_sql_roma-may2011
02 -my_sql_roma-may2011
 
Operating the Hyperscale Cloud
Operating the Hyperscale CloudOperating the Hyperscale Cloud
Operating the Hyperscale Cloud
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…
 
Integration in the age of DevOps
Integration in the age of DevOpsIntegration in the age of DevOps
Integration in the age of DevOps
 
Succeding with the Apache SOA stack
Succeding with the Apache SOA stackSucceding with the Apache SOA stack
Succeding with the Apache SOA stack
 

Más de InSync Conference

Frank munz oracle fusion middleware and aws cloud services in sync11
Frank munz oracle fusion middleware and aws cloud services in sync11Frank munz oracle fusion middleware and aws cloud services in sync11
Frank munz oracle fusion middleware and aws cloud services in sync11InSync Conference
 
Pythian MySQL - database for the web based economy
Pythian   MySQL - database for the web based economyPythian   MySQL - database for the web based economy
Pythian MySQL - database for the web based economyInSync Conference
 
IBM and Oracle Joint Solution Centre
IBM and Oracle Joint Solution CentreIBM and Oracle Joint Solution Centre
IBM and Oracle Joint Solution CentreInSync Conference
 
In Sync Running Apps On Oracle
In Sync  Running Apps On OracleIn Sync  Running Apps On Oracle
In Sync Running Apps On OracleInSync Conference
 
Oracle Fusion Middleware for JD Edwards
Oracle Fusion Middleware for JD EdwardsOracle Fusion Middleware for JD Edwards
Oracle Fusion Middleware for JD EdwardsInSync Conference
 
In sync10 cliffgodwin-ebs-final
In sync10 cliffgodwin-ebs-finalIn sync10 cliffgodwin-ebs-final
In sync10 cliffgodwin-ebs-finalInSync Conference
 
In sync10 cliffgodwin-appskeynote-final
In sync10 cliffgodwin-appskeynote-finalIn sync10 cliffgodwin-appskeynote-final
In sync10 cliffgodwin-appskeynote-finalInSync Conference
 
Optim Insync10 Paul Griffin presentation
Optim Insync10 Paul Griffin presentationOptim Insync10 Paul Griffin presentation
Optim Insync10 Paul Griffin presentationInSync Conference
 
Nswh Insync 2010 Ammar Customer Presentation
Nswh Insync 2010 Ammar Customer PresentationNswh Insync 2010 Ammar Customer Presentation
Nswh Insync 2010 Ammar Customer PresentationInSync Conference
 
Insync10 IBM JDE Sol Ed Announcement
Insync10 IBM JDE Sol Ed AnnouncementInsync10 IBM JDE Sol Ed Announcement
Insync10 IBM JDE Sol Ed AnnouncementInSync Conference
 
InSync10 Implement JDE Financial Analytics and Make Better Decisions
InSync10  Implement JDE Financial Analytics and Make Better DecisionsInSync10  Implement JDE Financial Analytics and Make Better Decisions
InSync10 Implement JDE Financial Analytics and Make Better DecisionsInSync Conference
 
Ebs operational reporting at santos evaluation, selection & implementation
Ebs operational reporting at santos evaluation, selection & implementationEbs operational reporting at santos evaluation, selection & implementation
Ebs operational reporting at santos evaluation, selection & implementationInSync Conference
 

Más de InSync Conference (20)

Frank munz oracle fusion middleware and aws cloud services in sync11
Frank munz oracle fusion middleware and aws cloud services in sync11Frank munz oracle fusion middleware and aws cloud services in sync11
Frank munz oracle fusion middleware and aws cloud services in sync11
 
Pythian MySQL - database for the web based economy
Pythian   MySQL - database for the web based economyPythian   MySQL - database for the web based economy
Pythian MySQL - database for the web based economy
 
IBM and Oracle Joint Solution Centre
IBM and Oracle Joint Solution CentreIBM and Oracle Joint Solution Centre
IBM and Oracle Joint Solution Centre
 
In Sync Running Apps On Oracle
In Sync  Running Apps On OracleIn Sync  Running Apps On Oracle
In Sync Running Apps On Oracle
 
P6 r8
P6 r8P6 r8
P6 r8
 
P6 analytics
P6 analyticsP6 analytics
P6 analytics
 
Upk presentation insync
Upk presentation insync Upk presentation insync
Upk presentation insync
 
Oracle Fusion Middleware for JD Edwards
Oracle Fusion Middleware for JD EdwardsOracle Fusion Middleware for JD Edwards
Oracle Fusion Middleware for JD Edwards
 
In sync10 grc_suite
In sync10 grc_suiteIn sync10 grc_suite
In sync10 grc_suite
 
In sync10 cliffgodwin-ebs-final
In sync10 cliffgodwin-ebs-finalIn sync10 cliffgodwin-ebs-final
In sync10 cliffgodwin-ebs-final
 
In sync10 cliffgodwin-appskeynote-final
In sync10 cliffgodwin-appskeynote-finalIn sync10 cliffgodwin-appskeynote-final
In sync10 cliffgodwin-appskeynote-final
 
Mnod linsync10 oba
Mnod linsync10 obaMnod linsync10 oba
Mnod linsync10 oba
 
D linsync10 ofa5yrs
D linsync10 ofa5yrsD linsync10 ofa5yrs
D linsync10 ofa5yrs
 
D linsync10 fusaapps
D linsync10 fusaappsD linsync10 fusaapps
D linsync10 fusaapps
 
Optim Insync10 Paul Griffin presentation
Optim Insync10 Paul Griffin presentationOptim Insync10 Paul Griffin presentation
Optim Insync10 Paul Griffin presentation
 
Nswh Insync 2010 Ammar Customer Presentation
Nswh Insync 2010 Ammar Customer PresentationNswh Insync 2010 Ammar Customer Presentation
Nswh Insync 2010 Ammar Customer Presentation
 
Insync10 IBM JDE Sol Ed Announcement
Insync10 IBM JDE Sol Ed AnnouncementInsync10 IBM JDE Sol Ed Announcement
Insync10 IBM JDE Sol Ed Announcement
 
InSync10 Implement JDE Financial Analytics and Make Better Decisions
InSync10  Implement JDE Financial Analytics and Make Better DecisionsInSync10  Implement JDE Financial Analytics and Make Better Decisions
InSync10 Implement JDE Financial Analytics and Make Better Decisions
 
Life after upgrading to r12
Life after upgrading to r12Life after upgrading to r12
Life after upgrading to r12
 
Ebs operational reporting at santos evaluation, selection & implementation
Ebs operational reporting at santos evaluation, selection & implementationEbs operational reporting at santos evaluation, selection & implementation
Ebs operational reporting at santos evaluation, selection & implementation
 

WebLogic Diagnostic Framework For the Busy IT Professional

  • 1. WebLogic Diagnostic Framework For the Busy IT Professional welcome! munz & more Dr. Frank Munz Insync, Aug2010 about me Frank Munz Java EE and EAI 10 years with some BPM = SOA 1
  • 2. 3 years ago munz & more working globally http://www.munzandmore.com based @ Manly & Munich 2
  • 4. Weblogic Server Oracle Service Bus Version 4 to 11g Architecture Operation from the very beginning Development Training / Coaching Weblogic Server Course Architecture, Features and Operation high end curriculum Monitoring, Sizing and Performance WLS / OSB / SOA Tuning arch / features / operation Oracle Service Bus Course monitoring / sizing / performance tuning Architecture, Development and Operation 4
  • 5. “Best of WLDF” reasons 1. failure 2. becomes news 5
  • 6. some passengers per year 45.000.000 (max) 30 821 in 6 hours 30 821 passengers 6
  • 7. looking at: worse: this went on for hours… monitoring + diagnostic is important important 7
  • 8. “So far, this was not necessary” 3. how is tools your most important application doing right now? ? 8
  • 9. Free Heap? Size of http session? Time to Free DB connections replicate http session in connection pool? in cluster? What SQL is sent to the DB? At which LOC? positioning How long is it executing? 9
  • 10. WLDF Operations Developer features EM Profiler Nagios AOP persists data monitoring + diagnostics is already installed server + applications is free only minutes to activate JMX MBeans encapsulate 10
  • 11. Configuration Data + MBeans have Runtime Values WLST attributes start WLST with: operations children java weblogic.WLST [Script.py] notifications -> domainRuntime() WLST Quick Reference ls() show current mbean / cmo = current managed object ls('a') shows attributes , 'c' child mbeans, 'o' operations cd() navigate serverConfig() change to config mbeans serverRuntime() change to server runtime domainRuntime() change to domain runtime jndi() edit() change to jndi tree change to edit tree WLDF basics startEdit() start an edit session, then use set('pn','v') / get('pn') save() persist changes activate() activate changes undo() undo changes easeSyntax() easeSyntax() switch off python syntax, do not use for scripting 11
  • 12. Diagnostic System Module Create a system modul, target it to any number of servers • You can have many modules configured collected metrics • Set target to particular server when needed • You can change module target witout restart Collected Metrics Collected Metric Type and Attributes ... replace your WLST script that contains a loop with sleep() e.g. to monitor free heap. Remember: Collected metrics = harvested data Diagnostic Archives • File (default) watches • DB archive & both come with retirement options notifications 12
  • 13. Watches Watches A watch consists of: Watches can based on: • expression / rule • collected metrics • one or more notifications • server logs • alarm setting • event data (= instrumentation) Watch Notification Rule Expression Triggered based on watch rules. Define all underlying transport protocol configurations first Notification Types Supported • JMX • JMS • SMTP instrumentation • SNMP • Diagnostic Images 13
  • 14. Instrumentation Instrumentation Scope Monitor Server scope = Unit of diagnostic code = fixed location Action Application scope = what happens when monitor is triggered = custom location Delegate Monitor Actions Selection of predefined monitors Actions create events: • DisplayArgumentsAction (captures args and return value) • StackDumpAction • ThreadDumpAction • TraceAction (generates Trace event) • TraceElapsedTimeAction • TraceMemoryAllocationAction (WLS 10.3.3) • MethodInvocationStatisticsAction (WLS10.3) MethodInvocationStatisticsAction MethodInvocationStatisticsAction Computes method invocation statistics MethodInvocationStatistics::= MethodInvocationStatistics Map<className, MethodMap> in memory without persisting. MethodMap::= MethodMap Map<methodName, MethodParamsSignatureMap> MethodParamsSignatureMap::= Map<MethodParamsSignature, MethodParamsSignatureMap Access this information through MethodDataMap> InstrumentationRuntimeMBean by using collected MethodDataMap::= MethodDataMap metrics or a watch with notifcation. <MetricName, Statistic> MetricName:= min | max | ... std_deviation MetricName 14
  • 15. MethodInvocationStatisticsAction MethodStats Application MethodInvocationStatistics http://www.oracle.com/technetwork/articles/ cico-wldf-091073.html {java.sql.Statement={executeQuery={java.lang.Stri ng={count=4, sum=1.0015808E7, std_deviation=466173.85858443414, avg=2503952.0, sum_of_squares=2.594 8374738926E13, max=3307465, min=2174694}}}} Custom Monitor Instrumentation Example <wldf-resource ... <instrumentation> always: <enabled>true</enabled> <wldf-instrumentation-monitor> <name>FranksMonitor</name> <enabled>true</enabled> <action>TraceElapsedTimeAction</action> Deploy / Redeploy / Update to apply <location-type>around</location-type> <pointcut>execute ( * com.surfandconsulting.* bookFligh* (...));</pointcut> Instrumentation uses AspectJ </wldf-instrumentation-monitor> Hot Swap Without hot swap -> redeploy With hot swap -> update in place Enable hot swap with: dye injection -javaagent:$WL_HOMEserverlib diagnostics-agent.jar 15
  • 16. incoming requests Dye Injection Monitor dye injection Monitor sets/unsets bits in monitor: 64 bit dye vector user1=sharon to mark requests addr1=192.168.0.7 to be able to filter them later time Dye Injection Monitor Dye Injection Throttle Dye further reduces number of samples: • THROTTLE_INTERVAL (milliseconds) • THROTTLE_RATE (n-th sample) Capture Image diagnostic images 16
  • 17. You cannot open these .img files with photoshop WLDF ;-) console extension plot mbean attribute example: data over time connection pool with 5 connections under load: 17
  • 18. with “PinnedToThread” enabled: /dashboard is the new WLDF console extension well designed Conclusion well docuemented quick to apply 18
  • 19. What should be needs learning period improved: one sampling interval WLS per module but runtime values one module per not resettable server only motivation/introduction hot swap in Oracle needs in-place update documentation 19
  • 20. more information: www.munzandmore.com/blog WebLogic on Amazon and Rackspace Mike Cico‘s article: http://www.oracle.com/technetwork/articles/cico-wldf-091073.html Cloud www.munzandmore.com/book Oracle WLDF docs: the end http://download.oracle.com/docs/cd/E14571_01/web.1111/e13714/toc.htm 20