Configuración
INSTALACIÓN DE JOLOKIA
Descargue el agente Jolokia de la web oficial: https://jolokia.org/download.html
Securización del agente Jolokia (WAR)
Puede asignar políticas de seguridad para restringir tanto el acceso como el uso de las opciones disponibles en el agente Jolokia.
Estas restricciones pueden especificarse en un fichero XML de políticas. Este fichero está dividido en secciones con las que podrá controlar varios parámetros:
Restricciones basadas en IP
El acceso general puede ser permitido basándose en la dirección IP de un cliente HTTP. Esta restricción se especifica en la sección<remote> , contendrá elementos <host> . El origen puede ser una dirección IP, un nombre de host, o una red en formato CIDR.
El ejemplo siguiente permite el acceso desde localhost y todos los clientes de la red
10.0.0.0/16:
<remote>
<host>localhost</host>
<host>10.0.0.0/16</host>
</remote>
Restricciones de comandos
Puede restringir los comandos que se permitirán ejecutar de manera general, indicando aquellos que se permitan. Para ello se utilizará la sección <commands> especificando cada comando con un elemento <command> .
El ejemplo siguiente habilita los comandos READ, LIST, SEARCH y VERSION . El resto de comandos ( WRITE, EXEC ) no estarían disponibles:
<commands>
<command>read</command>
<command>list</command>
<command>version</command>
<command>search</command>
</commands>
Existen restricciones de consultas de mbeans y orígenes de peticiones. Puede consultar la ayuda completa en el siguiente enlace: https://jolokia.org/reference/html/security.html
Ejemplo de política de seguridad
En este ejemplo se permite la conexión desde localhost y la red 10.0.0.0/16. También se limitan los comandos disponibles a READ,LIST,VERSION y SEARCH
<?xml version="1.0" encoding="UTF-8"?>
<restrict>
<remote>
<host>127.0.0.1</host>
<host>localhost</host>
<host>10.0.0.0/16</host>
</remote>
<commands>
<command>read</command>
<command>list</command>
<command>version</command>
<command>search</command>
</commands>
<http>
<method>post</method>
</http>
</restrict>
Inclusión de una política de seguridad
Para reempaquetar una política en el archivo WAR del agente Jolokia deberá seguir los
siguientes pasos:
# Descargue el agente WAR
$ jolokia
Nota: Puede descargarlo manualmente de: http://search.maven.org/remotecontent?filepath=org/jolokia/jolokia-war/1.5.0/jolokiawar-1.5.0.war
# Descargue la plantilla de política de ejemplo
# en el directorio local como “jolokia-access.xml”
$ jolokia download --policy
Nota : Si ha recibido errores al ejecutar los pasos previos, puede descargar la política de ejemplo desde http://www.jolokia.org/templates/jolokia-access.xml
Edite la política y coloque el archivo jolokia-war-VERSION.war y el archivo jolokia-access.xml en el mismo directorio.
# Repack the to add the policy file 'jolokia-access.xml' form the cwd
$ jolokia repack --policy jolokia.war
Deberá recibir una salida similar a lo siguiente:
$ jolokia repack --policy jolokia-war-1.5.0.war
* Adding policy WEB-INF/classes/jolokia-access.xml to
jolokia-war-1.5.0.war
Puede realizar una verificación del contenido del fichero WAR con el siguiente comando:
# Show current state (policy file include: yes/no)
$ jolokia jolokia.war
Jolokia en WebSphere
Para instalar el proxy en IBM Websphere. Realizar los siguientes pasos:
Seleccione en el menú lateral:
Aplicaciones > Nueva aplicación
Seleccione el fichero WAR de Jolokia.
Pulse siguiente .
Mantenga las opciones por defecto y pulse siguiente.
Modifique el nombre de la aplicación por “jolokia”, no es necesario realizar más cambios en esta pantalla. Presione siguiente.
Active la casilla de verificación para mapear la nueva aplicación con el servidor deseado. Pulse siguiente.
Active la casilla de verificación para mapear el host virtual por defecto. Pulse siguiente.
Ajuste el contexto raíz de la aplicación a /jolokia
Pulse siguiente.
Verifique el resumen. Pulse finalizar.
Verifique en el log presentado que la aplicación se ha instalado satisfactoriamente. Si es así presione “Guardar directamente a la configuración master”.
La aplicación ya está desplegada. Deberemos iniciarla para poder interactuar con ella desde el plugin de JMX.
Navegue a la lista de aplicaciones y seleccione “Jolokia”.
Deberá recibir un mensaje indicando que la aplicación se inició correctamente:
Puede validar la instalación de Jolokia en el enlace siguiente:
https://localhost:9443/jolokia
Debe recibir una salida en formato JSON con información general del agente Jolokia.
Jolokia en WebSphere con seguridad habilitada
Para utilizar el plugin JMX para la extracción de datos de entornos IBM WebSphere con
seguridad habilitada, será necesario realizar modificaciones en la aplicación Jolokia (archivo
WAR).
Habilitar mapeo de seguridad para rol específico
Este paso agrega la información para el mapeo de roles al fichero jolokia.war, que
posteriormente desplegaremos en nuestro servidor de aplicaciones.
Configuración del servidor de aplicaciones IBM WebSphere
Será necesario crear un usuario con permisos para supervisión (monitor). Usuarios y grupos > Administrar usuarios > Crear usuario
Y asignarle el rol específico “Monitor”: Usuarios y grupos > Administrar roles de usuario > Agregar
Una vez creado el usuario y asignado el rol correcto, realizamos el mapeo en la configuración de la aplicación Jolokia:
Aplicaciones > Aplicaciones de empresa > Jolokia > Mapeo rol de seguridad a usuario/grupo
Una vez realizada la configuración, guarde los cambios y reinicie la aplicación Jolokia.
NOTA : Se ha confirmado que en versiones antiguas de IBM WebSphere, existe la necesidad
de realizar el mapeo de usuarios agregando el grupo TODOS al mapeo con rol supervisor:
Los cambios a realizar son:
Activar “todos” y “todos autenticados” en el mapeo JMX – usuario en la configuración de
Jolokia:
Enlazar las peticiones del grupo “Todos” en gestión de grupos:
Jolokia en Weblogic
Pasos previos
Para garantizar la funcionalidad completa del plugin JMX en Weblogic, deberá verificar una serie de configuraciones previas. Si decide omitir estos pasos la monitorización podría estar limitada.
Nota : Si sus necesidades de monitorización se limitan al listado de aplicaciones, estado, número de invocaciones, consumo de recursos y estado general del servidor de aplicaciones, puede ignorar esta sección.
Acceda a la pantalla de configuración de servidores en:
Dominio base > Entorno > Servidores
Presione Bloquear y editar para habilitar la edición de la configuración:
Haga clic sobre el servidor donde se desplegará la aplicación Jolokia:
Presione guardar .
Seleccione Dominio base en el menú
En la pestaña de Seguridad, habilitar Anonymous Admin Lookup:
Despliegue de Jolokia
Acceda al apartado del menú
Estructura de dominio > Despliegues
En la pantalla que se le presenta, seleccione la opción Instalar
Seleccione el enlace upload your file(s) para mostrar el formulario de subida de ficheros:
Seleccione el archivo WAR de Jolokia de su equipo y pulse siguiente :
La ubicación se habrá completado con la ruta de subida del fichero WAR. Presione siguiente
para iniciar el proceso de instalación.
Seleccione el modelo de seguridad de roles personalizados y pulse siguiente .
Actualice el nombre del despliegue y mantenga la configuración propuesta.
Pulse siguiente .
Pulse Finalizar .
En este paso, la aplicación se encuentra desplegada en el servidor de aplicaciones JMX. En
la pestaña Configuración , seleccione el punto de entrada desde donde se atenderá el
servicio, configurando el “contexto raíz”:
Pulse guardar para salvar los cambios.
Presione Activar cambios para aplicar los cambios.
Una vez aplicados los cambios, se mostrará la aplicación Jolokia preparada para ser
iniciada:
Seleccione la casilla de verificación y pulse iniciar > Iniciar todas las peticiones
Tras el proceso de arranque, la aplicación aparecerá como Activa .
Edite el rol de seguridad de la aplicación para agregar las condiciones de acceso que desee (permitir grupos, usuarios, etc.)
Puede validar la instalación de Jolokia en el enlace siguiente:
https://localhost:7001/jolokia
Debe recibir una salida en formato JSON con información general del agente Jolokia.
Jolokia en Apache Kafka
Para monitorizar un servidor Apache Kafka se requiere el agente JVM Jolokia en vez del agente WAR. Basta con descargarlo de la página oficial:
https://jolokia.org/download.html
Sacamos el PID del servidor Apache Kafka:
Y relacionamos el agente JVM con el servidor mediante éste con
$ java –jar agente.jar start pid
Puede validar la instalación de Jolokia en el enlace siguiente:
http://localhost:8778/jolokia/
INSTALACIÓN DE JMX4PERL
En el equipo donde ejecutará el plugin JMX deberá instalar las librerías Perl necesarias:
JMX::Jmx4Perl
JMX::Jmx4Perl::Alias
JMX::Jmx4Perl::Request
Para instalar las librerías necesita conexión a internet y CPAN.
# cpan install JMX::Jmx4Perl
Aunque las aplicaciones siguientes son extremadamente útiles para explorar los mbean de nuestros servidores de aplicaciones, es posible que den conflicto por librerías o paquetes pendientes de instalar.
jmx4perl
check_jmx4perl
j4psh
En un entorno de producción recomendamos ignorar las sugerencias de aplicaciones adicionales e instalar únicamente la librería JMX::Jmx4Perl.
Responda no a todas las peticiones de instalación de componentes adicionales:
Install 'jmx4perl' ? (y/n) [y ]n
Install 'check_jmx4perl' ? (y/n) [y ]n
Install 'cacti_jmx4perl' ? (y/n) [y ]n
Install 'j4psh' ? (y/n) [y ]n