SlideShare a Scribd company logo
JMX Tools
Ferramentas de Monitoração
2
Java Management
              eXtension




‟
    The JMX technology provides the tools for
   building distributed, Web-based, modular and
     dynamic solutions for managing and
    monitoring devices, applications, and
              service-driven networks.



http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/index.jsp   3
Simple Network
Management Protocol




‟
 Simple Network Management Protocol
       (SNMP) is used in network
    management systems to
monitor network-attached devices for
 conditions that warrant administrative
               attention.


http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol   4
JMX    Java
SNMP   Rede


              5
SNMP
                    monitoração
                   gerenciamento




Dispositivo SNMP                   Console SNMP

                                                  6
JMX
                  monitoração
                 gerenciamento




Aplicação JMX                    Console JMX

                                               7
Console SNMP
  - Nagios -




               8
Console JMX
  - MC4J -




              9
Managed Beans
        mbean




mbean           mbean




        mbean

                        10
Microkernel
                    mbean




mbean                                    mbean




                    mbean



 http://www.jboss.org/community/docs/DOC-10671
 http://www.jboss.org/community/docs/DOC-10543   11
JBoss




http://www.jboss.org/file-access/default/members/jbossas/freezone/docs/Server_Configuration_Guide/4/html/The_JBoss_JMX_Microkernel-An_Introduction_to_JMX.html   12
13
Desafio
mbean   mbean   mbean   mbean   mbean   mbean   mbean   mbean   mbean




mbean   mbean   mbean   mbean   mbean   mbean   mbean   mbean   mbean


                                                                        14
Console JMX
    nativo do
      JBoss




mbean




                 15
MBeans têm atributos




                   16
MBeans têm operações




                       17
Resultado de uma
    operação




                   18
Outros
Consoles JMX



               19
twiddle
                                                  CLI do JBoss




app/jboss-4.2.2.GA/bin$ ls
classpath.sh                  probe.sh       twiddle.sh
javassist.jar                 run.bat        wsconsume.bat
jboss-profiler-plugins.jar    run.conf       wsconsume.sh
jboss-profiler.jar            run.jar        wsprovide.bat
jboss-profiler.properties     run.sh         wsprovide.sh
jboss_init_hpux.sh            shutdown.bat   wsrunclient.bat
jboss_init_redhat.sh          shutdown.jar   wsrunclient.sh
jboss_init_suse.sh            shutdown.sh    wstools.bat
jmxremote.password            twiddle.bat    wstools.sh
jmxremote.password.template   twiddle.jar
probe.bat                     twiddle.log




                                                                 20
get             atributo


twiddle            mbean

          invoke           operação   parâmetros




                                                   21
./run.sh
jboss-4.2.2.GA/bin$ ./twiddle.sh get jboss.system:type=ServerInfo HostAddress
10:54:35,761 ERROR [Twiddle] Exec failed
org.jboss.util.NestedRuntimeException: - nested throwable: (javax.naming.CommunicationException [Root exception is
java.rmi.ConnectException: Connection refused to host: 192.168.1.17; nested exception is:
        java.net.ConnectException: Connection refused])
        at org.jboss.console.twiddle.Twiddle$1.getServer(Twiddle.java:143)
        at org.jboss.console.twiddle.command.MBeanServerCommand.getMBeanServer(MBeanServerCommand.java:59)
        at org.jboss.console.twiddle.command.GetCommand.execute(GetCommand.java:149)
        at org.jboss.console.twiddle.Twiddle.main(Twiddle.java:305)




                        ./run.sh -b 192.168.1.17
jboss-4.2.2.GA/bin$ ./twiddle.sh get jboss.system:type=ServerInfo HostAddress
11:05:41,966 ERROR [Twiddle] Exec failed
org.jboss.util.NestedRuntimeException: Could not obtain connection to any of these urls: localhost:1099 and discovery
failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is
java.net.SocketTimeoutException: Receive timed out]; - nested throwable: (javax.naming.CommunicationException: Could not
obtain connection to any of these urls: localhost:1099 and discovery failed with error:
javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed
out] [Root exception is javax.naming.CommunicationException: Failed to connect to server localhost:1099 [Root exception
is javax.naming.ServiceUnavailableException: Failed to connect to server localhost:1099 [Root exception is
java.net.ConnectException: Connection refused]]])



                               ./run.sh -b 0.0.0.0
jboss-4.2.2.GA/bin$ ./twiddle.sh    get jboss.system:type=ServerInfo HostAddress
HostAddress=192.168.1.17



                                                                                                                      22
$ ./twiddle.sh get jboss.system:type=ServerInfo HostAddress
HostAddress=192.168.1.17

$ ./twiddle.sh get jboss.system:type=ServerInfo OSArch
OSArch=ppc

$ ./twiddle.sh get jboss.system:type=ServerInfo JavaVersion
JavaVersion=1.5.0_16
                                                              23
$ ./twiddle.sh invoke jboss.system:type=ServerInfo listThreadCpuUtilization
<table><tr><th>Thread Name</th><th>CPU (milliseconds)</th></tr><tr><td>DefaultQuartzScheduler_QuartzSchedulerThread</
td><td>2347</td></tr><tr><td>ScannerThread</td><td>1326</td></tr><tr><td>http-0.0.0.0-8080-1</td><td>814</td></
tr><tr><td>DestroyJavaVM</td><td>782</td></tr>(...)

$ ./twiddle.sh invoke jboss.system:type=ServerInfo listMemoryPools true
<b>Total Memory Pools:</b> 5<blockquote><b>Pool: Code Cache</b> (Non-heap memory)<blockquote>Peak Usage    : init:
163840, used:4691136, committed:4947968, max:33554432<br>Current Usage : init:163840, used:4683776, committed:4947968,
max:33554432<blockquote><br>|---------| committed:4.72Mb<br>
+---------------------------------------------------------------------+<br>|/////////|
| max:32Mb<br>+---------------------------------------------------------------------+<br>|--------| used:4.47Mb</
blockquote></blockquote><br><b>Pool: Eden Space</b> (Heap memory)(...)


                                                                                                                         24
JConsole




http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html   25
JConsole
pré-requisitos




           Java5+


                    26
JConsole
                  execução




Nenhuma VM foi
encontrada para
 monitoração
                             27
JBoss AS




            JBoss não está
           preparado para o
               JConsole
                              28
Parâmetro para
      habilitar monitoração
        via JMX console




...
                              29
Agora sim. VM do JBoss
   automaticamente
detectada pelo JConsole
                          30
Resumo de tudo




                 31
GC




As diversas regiões de memória da JVM
                                        32
33
34
MBeans da JVM
 Cadê os do JBoss?



                     35
Por padrão, o JBoss não usa
o MBean Server da VM, mas
uma implementação própria,
    chamada JBossMX




                              36
Agora sim!




             37
Na vida real,
servidores são
  acessados
remotamente.
                 38
Arquivo de senhas
                        para acesso JMX
                            remoto




  Configuração do
arquivo de senhas no
  run.conf do JBoss




                                           39
JConsole
               mais infos




http://java.sun.com/j2se/1.5.0/docs/guide/
   management/agent.html#jmxagent




                                             40
Usar o JConsole para monitoração das mesmas
informações monitoradas pela linha de comando nos
              exercícios anteriores.

                                                    41
MC4J




http://mc4j.org   42
Parou no tempo




                 43
VisualVM




https://visualvm.dev.java.net/   44
45
java-6-sun-1.6.0.13/bin$ ls
appletviewer   javac          jinfo        native2ascii   tnameserv
apt            javadoc        jmap         orbd           tools.policy
ControlPanel   javah          jps          pack200        unpack200
extcheck       javap          jrunscript   policytool     wsgen
HtmlConverter java-rmi.cgi    jsadebugd    rmic           wsimport
i386           javaws         jstack       rmid           xjc
idlj           jconsole       jstat        rmiregistry
jar            jcontrol       jstatd       schemagen
jarsigner      jdb            jvisualvm    serialver
java           jhat           keytool      servertool




                                                                     46
VisualVM
pré-requisitos




                 47
VisualVM
                    pré-requisitos
          todas são configurações no servidor remoto




Servidor RMI para                   Endereço a ser enviado ao
receber conexões                  VisualVM para que se conecte
     remotas                           ao servidor remoto




                                                                 48
Endereço do
servidor remoto




                  49
Endereço do
 agente JMX




              50
JVMs
monitoráveis no
servidor remoto




                  51
Resumo da
monitoração do
    JBoss




                 52
Monitoração do
    JBoss




                 53
Monitoração do
próprio VisualVM


   Dump da
   memória




                   54
Resumo do dump
  de memória




                 55
Memória consumida
 por cada tipo de
      objeto




                    56
Instâncias de uma
 classe específica




                    57
Threads do   Snapshot das
 servidor      threads




                            58
59
A graça do
VisualVM está em
   seus plugins

                   60
61
62
63
MBeans do JBoss



                  64
65
Troubleshooting
porque os problemas virão




                            66
Conexão estabelecida,
 mas nada acontece.




                          Inicialize o ‘jstatd’ no
                        servidor remoto e todas
                               as aplicações
                           monitoráveis serão
                              identificadas e
                             apresentadas no
                                 VisualVM




                                                     67
Problema de conexão com o
   agente JMX da JVM remota.
     Configure o parâmetro
java.rmi.server.hostname
 no run.conf do servidor remoto   68
VisualVM 1.1
tem problemas
 com JDK6u12


http://blogs.sun.com/nbprofiler/entry/visualvm_fixed_to_correctly_recognize   69
Plugin para resolver a
incompatibilidade do
  VisualVM 1.1 com
      JDK6u12




                         70
$ jstatd
Could not create remote object
access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses write)
java.security.AccessControlException: access denied (java.util.PropertyPermission
java.rmi.server.ignoreSubClasses write)
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
    at java.security.AccessController.checkPermission(AccessController.java:546)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
    at java.lang.System.setProperty(System.java:727)
    at sun.tools.jstatd.Jstatd.main(Jstatd.java:122)




          grant codebase "file:${java.home}/../lib/tools.jar" {
              permission java.security.AllPermission;
          };
                                                         $JAVA_HOME/bin/tools.policy




$sudo jstatd -J-Djava.security.policy=$JAVA_HOME/bin/tools.policy

                                                                                       71
eclipse-jmx




http://code.google.com/p/eclipse-jmx/
                                        72
Pelo VisualVM,
acompanhar métricas
de memória, threads
  e processamento
durante os testes de
       carga.




                       73
P&R

More Related Content

What's hot

The Java EE 6 platform
The Java EE 6 platformThe Java EE 6 platform
The Java EE 6 platform
Lorraine JUG
 
MariaDB training
MariaDB trainingMariaDB training
MariaDB training
Samuel Dos Santos Tolentino
 
Jbosstraining
JbosstrainingJbosstraining
Jbosstraining
Mastinder Singh
 
Fungsi run
Fungsi runFungsi run
Fungsi runamcied
 
Ch10.애플리케이션 서버의 병목_발견_방법
Ch10.애플리케이션 서버의 병목_발견_방법Ch10.애플리케이션 서버의 병목_발견_방법
Ch10.애플리케이션 서버의 병목_발견_방법
Minchul Jung
 
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5TUSHAR VARSHNEY
 
Instalar PENTAHO 5 en CentOS 6
Instalar PENTAHO 5 en CentOS 6Instalar PENTAHO 5 en CentOS 6
Instalar PENTAHO 5 en CentOS 6
Moisés Elías Araya
 
Vmware management-with-vcli-5.0
Vmware management-with-vcli-5.0Vmware management-with-vcli-5.0
Vmware management-with-vcli-5.0Sathishkumar A
 

What's hot (8)

The Java EE 6 platform
The Java EE 6 platformThe Java EE 6 platform
The Java EE 6 platform
 
MariaDB training
MariaDB trainingMariaDB training
MariaDB training
 
Jbosstraining
JbosstrainingJbosstraining
Jbosstraining
 
Fungsi run
Fungsi runFungsi run
Fungsi run
 
Ch10.애플리케이션 서버의 병목_발견_방법
Ch10.애플리케이션 서버의 병목_발견_방법Ch10.애플리케이션 서버의 병목_발견_방법
Ch10.애플리케이션 서버의 병목_발견_방법
 
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5
 
Instalar PENTAHO 5 en CentOS 6
Instalar PENTAHO 5 en CentOS 6Instalar PENTAHO 5 en CentOS 6
Instalar PENTAHO 5 en CentOS 6
 
Vmware management-with-vcli-5.0
Vmware management-with-vcli-5.0Vmware management-with-vcli-5.0
Vmware management-with-vcli-5.0
 

Similar to JMX Management Tools

JBoss AS 7, la révolution
JBoss AS 7, la révolutionJBoss AS 7, la révolution
JBoss AS 7, la révolution
Alexis Hassler
 
JDK Tools For Performance Diagnostics
JDK Tools For Performance DiagnosticsJDK Tools For Performance Diagnostics
JDK Tools For Performance Diagnostics
Baruch Sadogursky
 
Jaoo Michael Neale 09
Jaoo Michael Neale 09Jaoo Michael Neale 09
Jaoo Michael Neale 09
Michael Neale
 
Python + GDB = Javaデバッガ
Python + GDB = JavaデバッガPython + GDB = Javaデバッガ
Python + GDB = Javaデバッガ
Kenji Kazumura
 
Genode Compositions
Genode CompositionsGenode Compositions
Genode Compositions
Vasily Sartakov
 
JBoss Enterprise Application Platform 6 Troubleshooting
JBoss Enterprise Application Platform 6 TroubleshootingJBoss Enterprise Application Platform 6 Troubleshooting
JBoss Enterprise Application Platform 6 Troubleshooting
Alexandre Cavalcanti
 
It pro dev_birbilis_20101127_en
It pro dev_birbilis_20101127_enIt pro dev_birbilis_20101127_en
It pro dev_birbilis_20101127_en
George Birbilis
 
WebLogic Administration course outline
WebLogic Administration course outlineWebLogic Administration course outline
WebLogic Administration course outlineVybhava Technologies
 
As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012alepalin
 
Apache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip HanikApache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip Hanik
Edgar Espina
 
Introduction to Backbone.js
Introduction to Backbone.jsIntroduction to Backbone.js
Introduction to Backbone.js
Jonathan Weiss
 
JBossWS Project by Alessio Soldano
JBossWS Project by Alessio SoldanoJBossWS Project by Alessio Soldano
JBossWS Project by Alessio Soldano
Java User Group Roma
 
April 2010 - JBoss Web Services
April 2010 - JBoss Web ServicesApril 2010 - JBoss Web Services
April 2010 - JBoss Web ServicesJBug Italy
 
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache MesosJUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
CloudBees
 
Jopr Plugin Development
Jopr Plugin DevelopmentJopr Plugin Development
Jopr Plugin DevelopmentSEA Tecnologia
 
WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the Union
Dimitris Andreadis
 
CRaSH the shell for the JVM
CRaSH the shell for the JVMCRaSH the shell for the JVM
CRaSH the shell for the JVM
jviet
 
WebLogic JMX for DevOps
WebLogic JMX for DevOpsWebLogic JMX for DevOps
WebLogic JMX for DevOpsFrank Munz
 
AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware
AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion MiddlewareAMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware
AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware
Getting value from IoT, Integration and Data Analytics
 

Similar to JMX Management Tools (20)

J boss
J bossJ boss
J boss
 
JBoss AS 7, la révolution
JBoss AS 7, la révolutionJBoss AS 7, la révolution
JBoss AS 7, la révolution
 
JDK Tools For Performance Diagnostics
JDK Tools For Performance DiagnosticsJDK Tools For Performance Diagnostics
JDK Tools For Performance Diagnostics
 
Jaoo Michael Neale 09
Jaoo Michael Neale 09Jaoo Michael Neale 09
Jaoo Michael Neale 09
 
Python + GDB = Javaデバッガ
Python + GDB = JavaデバッガPython + GDB = Javaデバッガ
Python + GDB = Javaデバッガ
 
Genode Compositions
Genode CompositionsGenode Compositions
Genode Compositions
 
JBoss Enterprise Application Platform 6 Troubleshooting
JBoss Enterprise Application Platform 6 TroubleshootingJBoss Enterprise Application Platform 6 Troubleshooting
JBoss Enterprise Application Platform 6 Troubleshooting
 
It pro dev_birbilis_20101127_en
It pro dev_birbilis_20101127_enIt pro dev_birbilis_20101127_en
It pro dev_birbilis_20101127_en
 
WebLogic Administration course outline
WebLogic Administration course outlineWebLogic Administration course outline
WebLogic Administration course outline
 
As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012
 
Apache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip HanikApache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip Hanik
 
Introduction to Backbone.js
Introduction to Backbone.jsIntroduction to Backbone.js
Introduction to Backbone.js
 
JBossWS Project by Alessio Soldano
JBossWS Project by Alessio SoldanoJBossWS Project by Alessio Soldano
JBossWS Project by Alessio Soldano
 
April 2010 - JBoss Web Services
April 2010 - JBoss Web ServicesApril 2010 - JBoss Web Services
April 2010 - JBoss Web Services
 
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache MesosJUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
 
Jopr Plugin Development
Jopr Plugin DevelopmentJopr Plugin Development
Jopr Plugin Development
 
WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the Union
 
CRaSH the shell for the JVM
CRaSH the shell for the JVMCRaSH the shell for the JVM
CRaSH the shell for the JVM
 
WebLogic JMX for DevOps
WebLogic JMX for DevOpsWebLogic JMX for DevOps
WebLogic JMX for DevOps
 
AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware
AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion MiddlewareAMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware
AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware
 

More from SEA Tecnologia

Loomio how to Series - Working on a Discussion
Loomio how to Series - Working on a DiscussionLoomio how to Series - Working on a Discussion
Loomio how to Series - Working on a Discussion
SEA Tecnologia
 
Loomio how to Series - Creating a new Group of People
Loomio how to Series - Creating a new Group of PeopleLoomio how to Series - Creating a new Group of People
Loomio how to Series - Creating a new Group of People
SEA Tecnologia
 
Loomio how to Series - Creating a new Discussion
Loomio how to Series - Creating a new DiscussionLoomio how to Series - Creating a new Discussion
Loomio how to Series - Creating a new Discussion
SEA Tecnologia
 
Gerentes em Crise existencial - Existimos no Universo Ágil?
Gerentes em Crise existencial - Existimos no Universo Ágil?Gerentes em Crise existencial - Existimos no Universo Ágil?
Gerentes em Crise existencial - Existimos no Universo Ágil?
SEA Tecnologia
 
O curioso caso de Náutilus Button
O curioso caso de Náutilus ButtonO curioso caso de Náutilus Button
O curioso caso de Náutilus Button
SEA Tecnologia
 
Contratos de desenvolvimento de software para governo blue pill or red pill?
Contratos de desenvolvimento de software para governo  blue pill or red pill?Contratos de desenvolvimento de software para governo  blue pill or red pill?
Contratos de desenvolvimento de software para governo blue pill or red pill?
SEA Tecnologia
 
#Fail
#Fail#Fail
Agilidade no Governo
Agilidade no GovernoAgilidade no Governo
Agilidade no Governo
SEA Tecnologia
 
Os benefícios e desafios da participação pública digital
Os benefícios e desafios da participação pública digitalOs benefícios e desafios da participação pública digital
Os benefícios e desafios da participação pública digital
SEA Tecnologia
 
A escola do século XXI deve ser ágil, enxuta e empreendedora.
A escola do século XXI deve ser ágil, enxuta e empreendedora.A escola do século XXI deve ser ágil, enxuta e empreendedora.
A escola do século XXI deve ser ágil, enxuta e empreendedora.SEA Tecnologia
 
Lean Startup
Lean StartupLean Startup
Lean Startup
SEA Tecnologia
 
Open Data
Open DataOpen Data
Open Data
SEA Tecnologia
 
Open data, scraping e thacks com Software Livre
Open data, scraping e thacks com Software LivreOpen data, scraping e thacks com Software Livre
Open data, scraping e thacks com Software LivreSEA Tecnologia
 
Agilidade dos projetos à empresa, uma história de Intracontágio
Agilidade dos projetos à empresa, uma história de IntracontágioAgilidade dos projetos à empresa, uma história de Intracontágio
Agilidade dos projetos à empresa, uma história de Intracontágio
SEA Tecnologia
 
Roadshow Brasília Novas funcionalidades Liferay 6
Roadshow Brasília Novas funcionalidades Liferay 6Roadshow Brasília Novas funcionalidades Liferay 6
Roadshow Brasília Novas funcionalidades Liferay 6
SEA Tecnologia
 
Roadshow Liferay no Brasil 2010
Roadshow Liferay no Brasil 2010Roadshow Liferay no Brasil 2010
Roadshow Liferay no Brasil 2010
SEA Tecnologia
 
Sem tesão não há solução
Sem tesão não há soluçãoSem tesão não há solução
Sem tesão não há solução
SEA Tecnologia
 
Empreendimentos em Rede
Empreendimentos em RedeEmpreendimentos em Rede
Empreendimentos em Rede
SEA Tecnologia
 

More from SEA Tecnologia (20)

Loomio how to Series - Working on a Discussion
Loomio how to Series - Working on a DiscussionLoomio how to Series - Working on a Discussion
Loomio how to Series - Working on a Discussion
 
Loomio how to Series - Creating a new Group of People
Loomio how to Series - Creating a new Group of PeopleLoomio how to Series - Creating a new Group of People
Loomio how to Series - Creating a new Group of People
 
Loomio how to Series - Creating a new Discussion
Loomio how to Series - Creating a new DiscussionLoomio how to Series - Creating a new Discussion
Loomio how to Series - Creating a new Discussion
 
Gerentes em Crise existencial - Existimos no Universo Ágil?
Gerentes em Crise existencial - Existimos no Universo Ágil?Gerentes em Crise existencial - Existimos no Universo Ágil?
Gerentes em Crise existencial - Existimos no Universo Ágil?
 
O curioso caso de Náutilus Button
O curioso caso de Náutilus ButtonO curioso caso de Náutilus Button
O curioso caso de Náutilus Button
 
Contratos de desenvolvimento de software para governo blue pill or red pill?
Contratos de desenvolvimento de software para governo  blue pill or red pill?Contratos de desenvolvimento de software para governo  blue pill or red pill?
Contratos de desenvolvimento de software para governo blue pill or red pill?
 
#Fail
#Fail#Fail
#Fail
 
Agilidade no Governo
Agilidade no GovernoAgilidade no Governo
Agilidade no Governo
 
Os benefícios e desafios da participação pública digital
Os benefícios e desafios da participação pública digitalOs benefícios e desafios da participação pública digital
Os benefícios e desafios da participação pública digital
 
A escola do século XXI deve ser ágil, enxuta e empreendedora.
A escola do século XXI deve ser ágil, enxuta e empreendedora.A escola do século XXI deve ser ágil, enxuta e empreendedora.
A escola do século XXI deve ser ágil, enxuta e empreendedora.
 
Lean Startup
Lean StartupLean Startup
Lean Startup
 
Open Data
Open DataOpen Data
Open Data
 
Open data, scraping e thacks com Software Livre
Open data, scraping e thacks com Software LivreOpen data, scraping e thacks com Software Livre
Open data, scraping e thacks com Software Livre
 
Agilidade dos projetos à empresa, uma história de Intracontágio
Agilidade dos projetos à empresa, uma história de IntracontágioAgilidade dos projetos à empresa, uma história de Intracontágio
Agilidade dos projetos à empresa, uma história de Intracontágio
 
Roadshow Brasília Novas funcionalidades Liferay 6
Roadshow Brasília Novas funcionalidades Liferay 6Roadshow Brasília Novas funcionalidades Liferay 6
Roadshow Brasília Novas funcionalidades Liferay 6
 
Roadshow Liferay no Brasil 2010
Roadshow Liferay no Brasil 2010Roadshow Liferay no Brasil 2010
Roadshow Liferay no Brasil 2010
 
Sem tesão não há solução
Sem tesão não há soluçãoSem tesão não há solução
Sem tesão não há solução
 
Empreendimentos em Rede
Empreendimentos em RedeEmpreendimentos em Rede
Empreendimentos em Rede
 
Java Profiling Tools
Java Profiling ToolsJava Profiling Tools
Java Profiling Tools
 
Misc Monitoring Tools
Misc Monitoring ToolsMisc Monitoring Tools
Misc Monitoring Tools
 

Recently uploaded

Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 

Recently uploaded (20)

Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 

JMX Management Tools

  • 1. JMX Tools Ferramentas de Monitoração
  • 2. 2
  • 3. Java Management eXtension ‟ The JMX technology provides the tools for building distributed, Web-based, modular and dynamic solutions for managing and monitoring devices, applications, and service-driven networks. http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/index.jsp 3
  • 4. Simple Network Management Protocol ‟ Simple Network Management Protocol (SNMP) is used in network management systems to monitor network-attached devices for conditions that warrant administrative attention. http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol 4
  • 5. JMX Java SNMP Rede 5
  • 6. SNMP monitoração gerenciamento Dispositivo SNMP Console SNMP 6
  • 7. JMX monitoração gerenciamento Aplicação JMX Console JMX 7
  • 8. Console SNMP - Nagios - 8
  • 9. Console JMX - MC4J - 9
  • 10. Managed Beans mbean mbean mbean mbean 10
  • 11. Microkernel mbean mbean mbean mbean http://www.jboss.org/community/docs/DOC-10671 http://www.jboss.org/community/docs/DOC-10543 11
  • 13. 13
  • 14. Desafio mbean mbean mbean mbean mbean mbean mbean mbean mbean mbean mbean mbean mbean mbean mbean mbean mbean mbean 14
  • 15. Console JMX nativo do JBoss mbean 15
  • 18. Resultado de uma operação 18
  • 20. twiddle CLI do JBoss app/jboss-4.2.2.GA/bin$ ls classpath.sh probe.sh twiddle.sh javassist.jar run.bat wsconsume.bat jboss-profiler-plugins.jar run.conf wsconsume.sh jboss-profiler.jar run.jar wsprovide.bat jboss-profiler.properties run.sh wsprovide.sh jboss_init_hpux.sh shutdown.bat wsrunclient.bat jboss_init_redhat.sh shutdown.jar wsrunclient.sh jboss_init_suse.sh shutdown.sh wstools.bat jmxremote.password twiddle.bat wstools.sh jmxremote.password.template twiddle.jar probe.bat twiddle.log 20
  • 21. get atributo twiddle mbean invoke operação parâmetros 21
  • 22. ./run.sh jboss-4.2.2.GA/bin$ ./twiddle.sh get jboss.system:type=ServerInfo HostAddress 10:54:35,761 ERROR [Twiddle] Exec failed org.jboss.util.NestedRuntimeException: - nested throwable: (javax.naming.CommunicationException [Root exception is java.rmi.ConnectException: Connection refused to host: 192.168.1.17; nested exception is: java.net.ConnectException: Connection refused]) at org.jboss.console.twiddle.Twiddle$1.getServer(Twiddle.java:143) at org.jboss.console.twiddle.command.MBeanServerCommand.getMBeanServer(MBeanServerCommand.java:59) at org.jboss.console.twiddle.command.GetCommand.execute(GetCommand.java:149) at org.jboss.console.twiddle.Twiddle.main(Twiddle.java:305) ./run.sh -b 192.168.1.17 jboss-4.2.2.GA/bin$ ./twiddle.sh get jboss.system:type=ServerInfo HostAddress 11:05:41,966 ERROR [Twiddle] Exec failed org.jboss.util.NestedRuntimeException: Could not obtain connection to any of these urls: localhost:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out]; - nested throwable: (javax.naming.CommunicationException: Could not obtain connection to any of these urls: localhost:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to connect to server localhost:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server localhost:1099 [Root exception is java.net.ConnectException: Connection refused]]]) ./run.sh -b 0.0.0.0 jboss-4.2.2.GA/bin$ ./twiddle.sh get jboss.system:type=ServerInfo HostAddress HostAddress=192.168.1.17 22
  • 23. $ ./twiddle.sh get jboss.system:type=ServerInfo HostAddress HostAddress=192.168.1.17 $ ./twiddle.sh get jboss.system:type=ServerInfo OSArch OSArch=ppc $ ./twiddle.sh get jboss.system:type=ServerInfo JavaVersion JavaVersion=1.5.0_16 23
  • 24. $ ./twiddle.sh invoke jboss.system:type=ServerInfo listThreadCpuUtilization <table><tr><th>Thread Name</th><th>CPU (milliseconds)</th></tr><tr><td>DefaultQuartzScheduler_QuartzSchedulerThread</ td><td>2347</td></tr><tr><td>ScannerThread</td><td>1326</td></tr><tr><td>http-0.0.0.0-8080-1</td><td>814</td></ tr><tr><td>DestroyJavaVM</td><td>782</td></tr>(...) $ ./twiddle.sh invoke jboss.system:type=ServerInfo listMemoryPools true <b>Total Memory Pools:</b> 5<blockquote><b>Pool: Code Cache</b> (Non-heap memory)<blockquote>Peak Usage : init: 163840, used:4691136, committed:4947968, max:33554432<br>Current Usage : init:163840, used:4683776, committed:4947968, max:33554432<blockquote><br>|---------| committed:4.72Mb<br> +---------------------------------------------------------------------+<br>|/////////| | max:32Mb<br>+---------------------------------------------------------------------+<br>|--------| used:4.47Mb</ blockquote></blockquote><br><b>Pool: Eden Space</b> (Heap memory)(...) 24
  • 27. JConsole execução Nenhuma VM foi encontrada para monitoração 27
  • 28. JBoss AS JBoss não está preparado para o JConsole 28
  • 29. Parâmetro para habilitar monitoração via JMX console ... 29
  • 30. Agora sim. VM do JBoss automaticamente detectada pelo JConsole 30
  • 32. GC As diversas regiões de memória da JVM 32
  • 33. 33
  • 34. 34
  • 35. MBeans da JVM Cadê os do JBoss? 35
  • 36. Por padrão, o JBoss não usa o MBean Server da VM, mas uma implementação própria, chamada JBossMX 36
  • 38. Na vida real, servidores são acessados remotamente. 38
  • 39. Arquivo de senhas para acesso JMX remoto Configuração do arquivo de senhas no run.conf do JBoss 39
  • 40. JConsole mais infos http://java.sun.com/j2se/1.5.0/docs/guide/ management/agent.html#jmxagent 40
  • 41. Usar o JConsole para monitoração das mesmas informações monitoradas pela linha de comando nos exercícios anteriores. 41
  • 45. 45
  • 46. java-6-sun-1.6.0.13/bin$ ls appletviewer javac jinfo native2ascii tnameserv apt javadoc jmap orbd tools.policy ControlPanel javah jps pack200 unpack200 extcheck javap jrunscript policytool wsgen HtmlConverter java-rmi.cgi jsadebugd rmic wsimport i386 javaws jstack rmid xjc idlj jconsole jstat rmiregistry jar jcontrol jstatd schemagen jarsigner jdb jvisualvm serialver java jhat keytool servertool 46
  • 48. VisualVM pré-requisitos todas são configurações no servidor remoto Servidor RMI para Endereço a ser enviado ao receber conexões VisualVM para que se conecte remotas ao servidor remoto 48
  • 53. Monitoração do JBoss 53
  • 54. Monitoração do próprio VisualVM Dump da memória 54
  • 55. Resumo do dump de memória 55
  • 56. Memória consumida por cada tipo de objeto 56
  • 57. Instâncias de uma classe específica 57
  • 58. Threads do Snapshot das servidor threads 58
  • 59. 59
  • 60. A graça do VisualVM está em seus plugins 60
  • 61. 61
  • 62. 62
  • 63. 63
  • 65. 65
  • 67. Conexão estabelecida, mas nada acontece. Inicialize o ‘jstatd’ no servidor remoto e todas as aplicações monitoráveis serão identificadas e apresentadas no VisualVM 67
  • 68. Problema de conexão com o agente JMX da JVM remota. Configure o parâmetro java.rmi.server.hostname no run.conf do servidor remoto 68
  • 69. VisualVM 1.1 tem problemas com JDK6u12 http://blogs.sun.com/nbprofiler/entry/visualvm_fixed_to_correctly_recognize 69
  • 70. Plugin para resolver a incompatibilidade do VisualVM 1.1 com JDK6u12 70
  • 71. $ jstatd Could not create remote object access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses write) java.security.AccessControlException: access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses write) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) at java.security.AccessController.checkPermission(AccessController.java:546) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at java.lang.System.setProperty(System.java:727) at sun.tools.jstatd.Jstatd.main(Jstatd.java:122) grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; }; $JAVA_HOME/bin/tools.policy $sudo jstatd -J-Djava.security.policy=$JAVA_HOME/bin/tools.policy 71
  • 73. Pelo VisualVM, acompanhar métricas de memória, threads e processamento durante os testes de carga. 73
  • 74. P&R

Editor's Notes

  1. Quer dizer, JMX est&amp;#xE1; para Java assim como SNMP est&amp;#xE1; para dispositivos de rede.
  2. No caso do SNMP, ele corresponde a uma interface que externaliza dados de dispositivos, que s&amp;#xE3;o lidos por ferramentas especializadas.
  3. Exemplo de console SNMP
  4. Exemplo de console JMX
  5. A especifica&amp;#xE7;&amp;#xE3;o JMX define MBeans como os elementos de externaliza&amp;#xE7;&amp;#xE3;o de informa&amp;#xE7;&amp;#xF5;es de qualquer aplica&amp;#xE7;&amp;#xE3;o Java.
  6. O pessoal do JBoss se aproveitou da estrutura modular definida pela especifica&amp;#xE7;&amp;#xE3;o JMX e usou-a na composi&amp;#xE7;&amp;#xE3;o de seu microkernel.
  7. Cada MBean do microkernel do JBoss &amp;#xE9; respons&amp;#xE1;vel por algum servi&amp;#xE7;o de infra-estrutura da especifica&amp;#xE7;&amp;#xE3;o JEE.
  8. Ent&amp;#xE3;o, por ter seus servi&amp;#xE7;os na forma de MBeans, o JBoss pode ser monitorado por qualquer Console JMX
  9. O grande desafio para uma boa monitar&amp;#xE7;&amp;#xE3;o via console JXM &amp;#xE9; conhecer a fundo as dezenas de MBeans que comp&amp;#xF5;em o JBoss.
  10. A forma mais f&amp;#xE1;cil de come&amp;#xE7;ar a se acostumar com os MBeans do JBoss &amp;#xE9; atrav&amp;#xE9;s de seu console JMX nativo.
  11. Mas existem v&amp;#xE1;rios outros Consoles JMX dispon&amp;#xED;veis no mercado.
  12. Extremamente simples. Dispon&amp;#xED;vel a partir do JDK 1.5.
  13. O JConsole est&amp;#xE1; inclu&amp;#xED;do nas instala&amp;#xE7;&amp;#xF5;es do Java5 ou superior.
  14. Para executar, chame &amp;#x2018;jconsole&amp;#x2019; no terminal.
  15. Ap&amp;#xF3;s reinicializar o JBoss e reconectar o JConsole, seus MBeans s&amp;#xE3;o apresentados.
  16. Ao habilitar o acesso remoto (com.sun.management.jmxremote.port), a seguran&amp;#xE7;a &amp;#xE9; obrigat&amp;#xF3;ria, salvo desabilita&amp;#xE7;&amp;#xE3;o expl&amp;#xED;cita, como fizemos, apenas para demonstra&amp;#xE7;&amp;#xE3;o.
  17. Um template para o arquivo de senhas pode ser encontrado em JRE_HOME/lib/management/jmxremote.password.template
  18. Um pouco mais completo que o JConsole, mas....
  19. ...est&amp;#xE1; parado desde 2005. O l&amp;#xED;der do projeto, Greg Hinkle, foi pro JON.
  20. VisualVM pode ser baixado da Internet.....
  21. ...ou aproveitado do pr&amp;#xF3;prio JDK. J&amp;#xE1; vem com o Java6
  22. &amp;#xD3;timo para compreender o funcionamento da mem&amp;#xF3;ria da JVM e dos algoritmos de Garbage Collector.
  23. Mesma informa&amp;#xE7;&amp;#xE3;o do jmx-console e do JConsole.
  24. Desenvolva seus pr&amp;#xF3;prios plugins.