19 Octubre 2009 Curso JBoss César Pajares – ECM /CMS Manager [email protected]JBoss AS Deployment, Seguridad - Monitorización JBoss Professional Open Source 1
Transcript
1. JBoss Professional Open Source JBoss AS Deployment,
Seguridad - Monitorizacin Csar Pajares ECM /CMS Manager
[email protected] 19 Octubre 2009 Curso JBoss JB366
2. Jboss AS 5.1.0 Instalacin Running as a Service under
Microsoft Windows Csar Pajares ECM /CMS Manager
[email protected] 19 Octubre 2009 Curso JBoss JB366
3. Jboss AS 5.1.0 Instalacin Antigua instalacin: Problemas con
Java.lang.OutofMemoryError Podemos configurar que el servidor se
ejecute como un servicio bajo Microsoft Windows, y configurarlo
para que se inicie automticamente si se desea. Paso 1.- Download
the JavaService 2.0.10 package from
http://forge.objectweb.org/projects/javaservice/. Paso 2.-
Descomprimimos el paquete y utilizamos el archivo JBossInstall.bat
para instalar el servicio de JBoss. Debemos establecer el JAVA_HOME
y variables de entorno JBOSS_HOME para apuntar a la JDK y JBoss,
como directorios antes de ejecutar JBossInstall.bat. Paso 3.- Run
JBossInstall.bat con la siguiente sintaxis: JBossInstall.bat [-auto
| -manual] Csar Pajares ECM /CMS Manager [email protected]
Cualquier servicio del que dependa Jboss AS Ej: mysql 19 Octubre
2009 Curso JBoss JB366
4. Jboss AS 5.1.0 Instalacin Instalacin actual: JBossNative
Windows En algunas versiones es necesario descargar Jboss Native de
la siguiente direccin: http://labs.jboss.com/jbossweb/downloads/
Paso 1.- Instalacin: descomprimimos e utilizamos el archivo
service.bat C:> cd c:jboss-4.2.0bin C:> service.bat install
Paso 3.- Revisamos en Panel de Control Herramientas administrativas
Servicios, si ha instalado correctamente el servicio de arranque de
JBoss Podemos ejecutar en consola lo siguiente: C:> net start
JBAS50SVC C:> net stop JBAS50SVC
http://www.jboss.org/community/wiki/RunJBossAsAServiceOnWindows
Csar Pajares ECM /CMS Manager [email protected] 19 Octubre
2009 Curso JBoss JB366
5. Jboss AS 5.1.0 Instalacin Otra Opcin:
RunJBossAsAServiceOnWindows Use the JavaServiceWrapper by Tanuki
Note: Users keep editing this page, saying that the
JavaServiceWrapper is not recommended. This is not true. They are
confused between the JavaService and the JavaServiceWrapper. They
are two completely different products. JavaService is not
recommended(for the below reasons), but JavaServiceWrapper is
recommended. The majority of JBoss users are using the
JavaServiceWrapper as their way of making jboss run as a service.
You can use Java Service Wrapper :
http://wrapper.tanukisoftware.org/doc/english/integrate-simple-win.html
and manage it by JMX :
http://wrapper.tanukisoftware.org/doc/english/jmx.htmljboss Csar
Pajares ECM /CMS Manager [email protected] 19 Octubre 2009
Curso JBoss JB366
6. Jboss AS 5.1.0 Instalacin Otra Opcin:
RunJBossAsAServiceOnWindows Use the JavaServiceWrapper by Tanuki
Unzip the wrapper zip file, and do the following: copy
WRAPPER_HOMEbinWrapper.exe %JBOSS_HOME%binWrapper.exe copy
WRAPPER_HOMElibWrapper.DLL %JBOSS_HOME%libWrapper.DLL copy
WRAPPER_HOMElibwrapper.jar %JBOSS_HOME%libwrapper.jar mkdir
%JBOSS_HOME%serverYOURCONFIGwrapper Csar Pajares ECM /CMS Manager
[email protected] 19 Octubre 2009 Curso JBoss JB366
7. Jboss AS 5.1.0 Instalacin Otra Opcin:
RunJBossAsAServiceOnWindows Use the JavaServiceWrapper by Tanuki
Create wrapper.conf file inside %JBOSS_HOME%serverYOURCONFIGwrapper
with the below contents: Csar Pajares ECM /CMS Manager
[email protected] 19 Octubre 2009 Curso JBoss JB366
8. Jboss AS 5.1.0 Instalacin Otra Opcin:
RunJBossAsAServiceOnWindows Use the JavaServiceWrapper by Tanuki
Csar Pajares ECM /CMS Manager [email protected] 19 Octubre
2009 Curso JBoss JB366
9. Jboss AS 5.1.0 Instalacin Configurar BBDD alternativa con
JBoss AS Csar Pajares ECM /CMS Manager [email protected] 19
Octubre 2009 Curso JBoss JB366
10. Jboss AS 5.1.0 Instalacin Configurar BBDD alternativa con
JBoss AS Hemos estado usando la fuente de datos predeterminada
JBossAS en nuestras aplicaciones. Esta fuente de datos est
configurada para utilizar la instancia de base de datos integrada
Hypersonic Esta fuente de datos est enlazada al nombre JNDI java: /
DefaultDS y a su descriptor que se denomina hsqldb-ds.xml en el
directorio deploy Vamos a utilizar MySQL como BBDD por defecto de
JBoss AS Csar Pajares ECM /CMS Manager [email protected] 19
Octubre 2009 Curso JBoss JB366
11. Jboss AS 5.1.0 Instalacin Deployment Csar Pajares ECM /CMS
Manager [email protected] 19 Octubre 2009 Curso JBoss
JB366
12. Jboss AS 5.1.0 Instalacin Configurar ECLIPSE con JBoss AS
Csar Pajares ECM /CMS Manager [email protected] 19 Octubre
2009 Curso JBoss JB366
13. Jboss AS 5.1.0 Instalacin Getting Started Deployment La
Implementacin de aplicaciones de JBoss AS es muy fcil Slo tenemos
que copiar la aplicacin en el directorio JBOSS_HOME / server /
default / deploy/ JBoss AS busca constantemente el directorio de
despliegue para recoger las nuevas aplicaciones o la modificacin de
las aplicaciones existentes Podemos disponer de un HOT DEPLOY de
una aplicacin sobre la marcha, mientras que JBoss AS sigue
funcionando Csar Pajares ECM /CMS Manager [email protected] 19
Octubre 2009 Curso JBoss JB366
14. Jboss AS 5.1.0 Instalacin Getting Started Deployment Se
pueden implementar diferentes tipos de aplicaciones empresariales
en JBoss AS El archivo WAR Contiene las clases de servlets, pginas,
las bibliotecas, y los descriptores de despliegue, tales como
web.xml, faces-config.xml, etc, y jboss-web.xml. El archivo EAR Que
normalmente contiene un archivo WAR para el mdulo web, archivos JAR
para los mdulos EJB, as como los descriptores de despliegue, tales
como aplicacion.xml y jboss-app.xml etc El archivo SAR Son paquetes
de un servicio de JBoss en un archivo JAR. Es utilizado
principalmente por los servicios internos de JBoss. El *-ds.xml
define las conexiones a bases de datos externas. La fuente de datos
pueden ser reutilizadas por todas las aplicaciones y servicios de
JBoss AS a travs del JNDI interno. Podemos desplegar archivos XML
con las definiciones de servicios MBean. Si tenemos los archivos
JAR adecuados disponibles en el despliegue o directorios lib, los
MBeans especificados en los archivos XML se iniciarn. Esta es la
manera de cmo iniciar muchos JBoss como servicios internos, como
las colas JMS. Tambin podemos implementar archivos JAR que
contienen EJBs o otros objetos de servicios, directamente en JBoss
AS. Csar Pajares ECM /CMS Manager [email protected] 19 Octubre
2009 Curso JBoss JB366
15. Jboss AS 5.1.0 Instalacin Getting Started Deployment Los
paquetes de despliegue WAR, EAR, y SAR, en realidad son archivos
JAR con archivos XML que describen la implementacin y despliegue en
directorios como META-INF y WEB-INF. JBoss AS permite desplegar
estos archivos como directorios en lugar de archivos JAR. Que le
permite realizar cambios en las pginas web, etc sobre la marcha sin
volver a desplegar toda la aplicacin. Si no necesitamos volver a
implementar el directorio sin reiniciar el servidor, slo podemos
tocar los descriptores de despliegue (por ejemplo, el
WEB-INF/web.xml en una WAR y la META-INF/application.xml en un EAR)
para actualizar sus marcas de tiempo. Csar Pajares ECM /CMS Manager
[email protected] 19 Octubre 2009 Curso JBoss JB366
16. Jboss AS 5.1.0 Instalacin Getting Started Hot-deployment of
services in JBoss Echemos un vistazo a un ejemplo prctico de
despliegue en caliente de los servicios en JBoss. Con e Servidor
Jboss arrancado, vemos el directorio server/production/deploy
Copiamos en otra ubicacin el fichero mailservice.xml y miramos que
aparece en la consola 13:10:05,235 INFO [MailService] Mail service
'java:/Mail' removed from JNDI Volvemos a copiar el fichero dentro
del directorio 13:58:54,331 INFO [MailService] Mail Service bound
to java:/Mail Csar Pajares ECM /CMS Manager [email protected]
19 Octubre 2009 Curso JBoss JB366
17. Jboss AS 5.1.0 Instalacin JBoss deployment directory
configuration Configuring JBoss deploy directory in 4.x releases or
earlier The configuration file which we need to modify is
server/xxxx/conf/jbossservice.xml Open it and move almost at the
end of the file. There you'll find the following attribute: Csar
Pajares ECM /CMS Manager [email protected] 19 Octubre 2009
Curso JBoss JB366
18. Jboss AS 5.1.0 Instalacin JBoss deployment directory
configuration Configuring JBoss deploy directory in 5.0 release
JBoss 5.x doesn't use any more jboss-service.xml for configuring
the deployment directory. Instead, you have to manipulate the
server/xxx/conf/bootstrap/profilerepository.xml file. Search for
the SerializableDeploymentRepositoryFactory (about at the beginning
of the file). There, if you want to add for example the
"deployments" beneath the JBoss Home, simply add another element in
the array: Csar Pajares ECM /CMS Manager [email protected] 19
Octubre 2009 Curso JBoss JB366
19. Jboss AS 5.1.0 Instalacin JBoss deployment directory
configuration Configuring JBoss deployment directory in release 5.1
Just while I was completing this article I've found out in JBoss
wiki that in release 5.1 the configuration as changed again (!!!),
so when using JBoss 5.1 your configuration file will be
server/xxxx/conf/bootstrap/profile.xml. Find the Bean named
BootstrapProfileFactory and add your deploy folder to the list
element: Csar Pajares ECM /CMS Manager [email protected] 19
Octubre 2009 Curso JBoss JB366
20. Jboss AS 5.1.0 Instalacin La API JMX Monitorizacin de JBoss
Csar Pajares ECM /CMS Manager [email protected] 19 Octubre
2009 Curso JBoss JB366
21. Jboss AS 5.1.0 Instalacin La API JMX y Monitorizacin de
JBoss Vamos a hacer una breve introduccin a JMX y de cmo podemos
acceder a las caractersticas de JBoss gracias a los MBeans que
implementan esta API. Asimismo veremos tres herramientas de
monitorizacin del servidor. Contenidos: La API JMX y Monitorizacin
de JBoss Introduccin a JMX Arquitectura de JMX Monitorizacin de
JBoss Monitorizacin con JConsole Monitorizacin con MC4j Management
Console for Java Monitorizacin con ManageEngine Applications
Manager 8 Csar Pajares ECM /CMS Manager [email protected] 19
Octubre 2009 Curso JBoss JB366
22. Jboss AS 5.1.0 Instalacin La API JMX y Monitorizacin de
JBoss Introduccin a JMX La Java Management eXtensions (JMX) API es
un estndar de Sun para la gestin y monitorizacin remota de recursos
java como: Aplicaciones y dispositivos Servidores y servicios JVM
Nos permite entre otras cosas consultar o cambiar una determinada
configuracin, conocer estadsticas y comportamiento de una
aplicacin, conocer cambios de estado (y notificarlo, iniciar
acciones, etc), crear nuestros manejadores de recursos y
publicarlos en una API, interoperar con otras tecnologas... JMX se
integr pronto en la J2EE y ms tarde en la JSE, concretamente desde
la JDK 5. Su jerarqua de subpaquetes se encuentran bajo
javax.management, y esta es su API pblica. Asimismo existe una API
privada bajo com.sun.jmx, a la que slo debera tener acceso las
propias libreras de la JDK, puesto que esta implementacin puede
evolucionar y ser cambiada en futuras versiones. A partir de la JDK
5.0 se incluye Jconsole para monitorizar la JVM y aplicaciones que
implementen JMX. Es un ejecutable con interfaz grfica que se
encuentra en la carpeta bin de la instalacin de la distribucion de
Sun JDK. Csar Pajares ECM /CMS Manager [email protected] 19
Octubre 2009 Curso JBoss JB366
23. Jboss AS 5.1.0 Instalacin La API JMX y Monitorizacin de
JBoss Introduccin a JMX Arquitectura basada en 3 capas: Capa de
aplicacin (o nivel de instrumentacin), la capa de ms bajo nivel
donde residen los componentes (MBean) que facilitan la informacin
necesaria para la gestin de una aplicacin. Estos componentes son
desarrollados segn las necesidades de gestin especficas de cada
parte de una aplicacin. Nivel de agente: facilita una interfaz para
el manejo de los MBean del nivel de instrumentacin. Nivel de
Adaptadores: uno o ms conectores (o adaptadores de protocolo) que
proporcionan acceso desde los sistemas de monitorizacin remotos
Csar Pajares ECM /CMS Manager [email protected] 19 Octubre
2009 Curso JBoss JB366
24. Jboss AS 5.1.0 Instalacin La API JMX y Monitorizacin de
JBoss Monitorizacin de JBoss JBoss implementa JMX en su
microkernel. El propio servidor dispone de un una consola JMX
accesible por la URL http://localhost:8080/jmx-console que muestra
los MBeans pblicos accesibles por ella o programticamente por cdigo
Java.: Algunas acciones tiles: Mostrar el rbol JNDI Forzar un
volcado de memoria Mostrar el uso del pool de memoria Gestionar el
escner de despliegues Redesplegar una aplicacin Acceder a la base
de datos Hypersonic Detener JBoss Conocer estado de los EJB
desplegados e instanciados ... y mucho ms Csar Pajares ECM /CMS
Manager [email protected] 19 Octubre 2009 Curso JBoss
JB366
25. Jboss AS 5.1.0 Instalacin La API JMX y Monitorizacin de
JBoss Monitorizacin con JConsole Jconsole (www.servletsuite.com)
usa el JMX de JBoss para monitorizar el servidor: estado, logs,
despliegues, uploads y visor de los MBeans: Para poder trabajar con
JConsole debemos seguir los siguientes pasos: Descargar
jconsole.war desde http://www.servletsuite.com/jm x/jconsole.htm
Copiar jconsole.war en la carpeta deploy del servidor utilizado,
para su despliegue (habitualmente en
/jboss5.1.0.GA/server/default/deploy/) Con JBoss en ejecucin,
acceder a http://localhost:8080/jconsole Csar Pajares ECM /CMS
Manager [email protected] 19 Octubre 2009 Curso JBoss
JB366
26. Jboss AS 5.1.0 Instalacin La API JMX y Monitorizacin de
JBoss Monitorizacin con MC4j Management Console for Java El MC4j
Management Console for Java (open source) es una aplicacin
standalone basada en java diseada para monitorizar mltiples
servidores y visualizar sus los MBeans, en su caso. Csar Pajares
ECM /CMS Manager [email protected] 19 Octubre 2009 Curso JBoss
JB366
27. Jboss AS 5.1.0 Instalacin La API JMX y Monitorizacin de
JBoss Monitorizacin con MC4j Management Console for Java Para
instalar la ltima versin: Descargar la versin apropiada a nuestro
sistema operativo desde
http://www.mc4j.org/confluence/display/MC4J/Download y descomprimir
Descargar la librera log4j de http://logging.apache.org/log4j/1.2/,
descomprimir y localizar el log4j-1.2.*.jar Renombrar a
log4j-1.2.8.jar Sustituir el existente en mc4j/mc4j/modules/ext por
el renombrado anterior Finalmente cargamos la aplicacin con el
ejecutable situado en C:Archivos de programaMC4J Console 1.2b9 Csar
Pajares ECM /CMS Manager [email protected] 19 Octubre 2009
Curso JBoss JB366
28. Jboss AS 5.1.0 Instalacin La API JMX y Monitorizacin de
JBoss Monitorizacin con MC4j Management Console for Java Csar
Pajares ECM /CMS Manager [email protected] 19 Octubre 2009
Curso JBoss JB366
29. Jboss AS 5.1.0 Instalacin La API JMX y Monitorizacin de
JBoss Monitorizacin con ManageEngine Applications Manager 8
ManageEngine Applications Manager es un potente monitor comercial
con una versin libre (limitacin: mximo 5 monitores) aplicable a
servidores, BBDD, aplicaciones, websites, ERP, transacciones y
mucho ms. Ha sido diseada con una interfaz muy completa y ofrece
mltiples estadsticas, que pueden asociarse acciones al seguimiento
de recursos, como alarmas y notificaciones por correo electrnico.
Permite la monitorizacin de recursos remotos (los anteriores
monitores se limitaban al servidor local) y la monitorizacin de
MBeans de JMX. Csar Pajares ECM /CMS Manager [email protected]
19 Octubre 2009 Curso JBoss JB366
30. Jboss AS 5.1.0 Instalacin La API JMX y Monitorizacin de
JBoss Monitorizacin con ManageEngine Applications Manager 8
Descarga:
http://manageengine.adventnet.com/products/applications_manager/download.html
y ejecutamos el instalable Instalacin: Descargar log4j de
http://logging.apache.org/log4j/1.2/, descomprimir y localizar el
log4j-1.2.*.jar Renombrar a log4j.jar Sustituir el existente en
AdventNet/ME/AppManager8/working/classes/ por el renombrado
anterior Ejecucin: startApplicationsManager en
AdventNet/ME/AppManager8 Jboss ha de poder aceptar conexiones
remotas (e.g. iniciar el servidor con run -b 0.0.0.0 o la IP que
deseemos que tenga acceso) Csar Pajares ECM /CMS Manager
[email protected] 19 Octubre 2009 Curso JBoss JB366
31. Jboss AS 5.1.0 Instalacin La API JMX y Monitorizacin de
JBoss Monitorizacin con ManageEngine Applications Manager 8
ManageEngine se habr levantado en nuestro sistema como un servidor
de monitorizacin, por lo tanto su consola de configuracin ser
accesible va web. Por eso navegamos a la URL http://localhost:9090/
y en la pantalla de navegacin nos autenticamos con login admin y
password admin. Vamos a configurar ahora un monitor para nuestro
JBoss. Primero pulsamos en la pestaa Monitors | New Monitor y en la
columna Application Servers pulsamos sobre JBoss: Csar Pajares ECM
/CMS Manager [email protected] 19 Octubre 2009 Curso JBoss
JB366
32. Jboss AS 5.1.0 Instalacin La API JMX y Monitorizacin de
JBoss Monitorizacin con ManageEngine Applications Manager 8
Seleccionamos como tipo de monitor JBoss Server Una vez conectado
en nuevo monitor a JBoss, se muestra un resumen de monitores: Csar
Pajares ECM /CMS Manager [email protected] 19 Octubre 2009
Curso JBoss JB366
33. Jboss AS 5.1.0 Instalacin La API JMX y Monitorizacin de
JBoss Monitorizacin con ManageEngine Applications Manager 8
Conclusiones Podemos quedarnos con estos puntos fundamentales: La
API JMX permite acceder a informacin publicada por una aplicacin
Las unidades que publican esa informacin son los Mbeans JBoss
implementa multitud de Mbeans Existen herramientas para usar la JMX
de JBoss y monitorizar su estado Csar Pajares ECM /CMS Manager
[email protected] 19 Octubre 2009 Curso JBoss JB366
34. Jboss AS 5.1.0 Instalacin JBoss ON es la versin certificada
y testeada que ofrece RedHat de Jopr. 34
35. Jboss AS 5.1.0 Instalacin 35
36. Jboss AS 5.1.0 Instalacin 36
37. Jboss AS 5.1.0 Instalacin Seleccin de la Base de datos
37
38. Jboss AS 5.1.0 Instalacin 38
39. Jboss AS 5.1.0 Instalacin 39
40. Jboss AS 5.1.0 Instalacin Instalacin de jopr La ltima
versin Jopr 2.3.1 permite instalarse utilizando una base de datos
embebida (h2) sin necesidad de instalar PosgreSQL y/o Oracle. Para
instalar el lado del servidor, se han de efectuar los siguientes
pasos: 1.Descargar el proyecto jopr 2.3.1 de aqu . 2.Descomprimir
el fichero: unzip jopr-server-2.3.1.zip 3.Configurar las variables
de entorno RHQ_SERVER_HOME (ej: /usr/java/jopr-server-2.2.1) y
RHQ_SERVER_JAVA_EXE_FILE_PATH (ej: /usr/java/jdk1.6.0_13/bin/java)
directamente del fichero ./bin/rhq-server.sh. 4.Arrancar el
servidor con la sentencia ./bin/rhq-server.sh start 5.Para iniciar
la instalacin, acceder va web a http://:7080. En caso de no querer
utilizar una base de datos externa (PosgreSQL u Oracle), marcar la
opcin Embedded Database. Posteriormente, se ha de instalar el
agente en cada uno de los servidores a monitorizar: 1.Desde el
equipo a monitorizar, descargar el fichero jar: wget
http://:7080/agentupdate/download 2.Instalar el agente con java
-jar install 3.Ejecutar el agente con rhq-agent.sh Tambin
comentaremos que JON es la versin certificada y testeada que ofrece
RedHat de Jopr. 40
41. Jboss AS 5.1.0 Instalacin 41
42. Jboss AS 5.1.0 Instalacin 42
43. Jboss AS 5.1.0 Instalacin 1.Go to the Jopr - Releases page
and download the Jopr distribution. 2.Unzip the distribution in a
suitable place (i.e. in a directory not too deeply nested and with
no spaces or non-ASCII characters in its name) 3.Install a database
like PostgreSQL (version 8.2.4 +, please choose C locale for
initdb), create a database instance called 'rhq' in it and a user
'rhqadmin' that owns this 'rhq' database. create user rhqadmin
password 'rhqadmin'; create database rhq owner rhqadmin;
4.Eventually set RHQ_SERVER_JAVA_HOME or
RHQ_SERVER_JAVA_EXE_FILE_PATH env variables appropriately. This is
needed if your JAVA_HOME does not point to a java installation that
is valid with Jopr (e.g. java 1.4); Jopr requires java5+. 5.cd into
the jopr-server-*/ directory and start the Server:
bin/rhq-server.sh console 6.After a few seconds, the messages on
the console will stop. When this happens, point your browser to
http://localhost:7080/ and run the installer. 7.When this is done
and you can log in (default user / pass are: rhqadmin/rhqadmin), it
is time to start the Agent. Start a second shell for this.
8.Unpackage the Agent into a directory of your choosing: If you
received the Agent as a .zip package, simply unzip it into your
chosen directory If you received the Agent as a agent update binary
.jar, copy it to your chosen directory and run "java -jar -install"
NEW In Jopr 2.2: If you do not yet have an Agent distribution, but
you have started your Jopr Server as described above, then you can
pull down an Agent update binary .jar directly from the server and
install it using these instructions: Point a browser to
"http://:7080/agentupdate/download" and save the Agent binary
update jar in a directory where you want to install the agent (the
file you save should have a .jar extension; "" should be the
hostname or IP address of the server that is running and "7080" is
the port on which that the server is accepting HTTP requests) Run
"java -jar --install" where "" is the name of the file you
downloaded from the server 9.cd into the Agent directory (typically
named "rhq-agent"). 10.Start the Agent by issuing: bin/rhq-agent.sh
Answer the questions asked by the Agent. 11.Go back to the Server
GUI and to its Dashboard. Watch resources show up in the upper
right in the Autodiscovery portlet, and import them. 12.Done :-)
For a more detailed installation document, you can go to the JBoss
Operations Network documentation. 43
44. Jboss AS 5.1.0 Instalacin GET JBOSS 5!
http://www.jboss.org/jbossas/downloads Questions? Csar Pajares ECM
/CMS Manager [email protected] 19 Octubre 2009 Curso JBoss
JB366