meta data de esta página
  •  

¡Esta es una revisión vieja del documento!


Agente JMX

Documento Original de Samuel Asir 1)

Con Zabbix podemos monitorizar un servidor tomcat mediante un agente JMX. Para ello debemos de realizar lo siguiente:

Paso 1: instalar java.

yum install java-1.6.0 

Paso 2: instalar zabbix-java-Gateway

rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-java-gateway-2.2.3-1.el6.x86_64.rpm

Paso 3: configurar java en el equipo monitorizado

Podemos configurar el acceso mediante JMX de dos maneras

  • Sin autentificación
     java \
    -Dcom.sun.management.jmxremote \
    -Dcom.sun.management.jmxremote.port=12345 \
    -Dcom.sun.management.jmxremote.authenticate=false \
    -Dcom.sun.management.jmxremote.ssl=false \
    -jar /usr/share/doc/openjdk-6-jre-headless/demo/jfc/Notepad/Notepad.jar 
  • Con autentificación
    java \
    -Djava.rmi.server.hostname=x.x.x.x\
    -Dcom.sun.management.jmxremote \
    -Dcom.sun.management.jmxremote.port=12345 \
    -Dcom.sun.management.jmxremote.authenticate=true \
    -Dcom.sun.management.jmxremote.password.file=/etc/java-6-openjdk/management/jmxremote.password \
    -Dcom.sun.management.jmxremote.access.file=/etc/java-6-openjdk/management/jmxremote.access \
    -Dcom.sun.management.jmxremote.ssl=true \
    -Djavax.net.ssl.keyStore=$YOUR_KEY_STORE \
    -Djavax.net.ssl.keyStorePassword=$YOUR_KEY_STORE_PASSWORD \
    -Djavax.net.ssl.trustStore=$YOUR_TRUST_STORE \
    -Djavax.net.ssl.trustStorePassword=$YOUR_TRUST_STORE_PASSWORD \
    -Dcom.sun.management.jmxremote.ssl.need.client.auth=true \
    -jar /usr/share/doc/openjdk-6-jre-headless/demo/jfc/Notepad/Notepad.jar

Por último reiniciamos el Tomcat

Paso 4: modificar archivo de configuración de zabbix.

Modificamos el archivo “/etc/zabbix/zabbix_server.conf” las siguientes líneas:

    JavaGateway: IP del servidor zabbix.
    JavaGatewayPort: el puerto por el que escuchará zabbix.
    StartJavaPollers: le daremos el valor 5.

Reiniciamos el zabbix

service zabbix-server restart

Paso 5: crear un nuevo host zabbix.

Configuration→host→create host

  • Debemos rellenar el nombre del host.
  • Añadirlo a un grupo
  • Agregar la interfaz JMX (el puerto será el que hayamos indicado en el paso 3).
  • Guardar la configuración.

Paso 6: crear un ítem a monitorizar.

Configuration→host→ítem→créate ítem

  • Name: nombre del ítem.
  • Type: JMX agent.
  • Key: ruta del ítem.
  • Host interface: dirección IP y puerto.
  • User name: usuario (si lo tiene).
  • Password: contraseña.
  • Type od information: tipo de dato que vamos a recibir.
  • Update interval: cada cuanto tiempo actualizaremos el ítem.
  • Guardamos el ítem.

En el campo “key” debemos ingresar el ítem JMX. Éste se inicia con jmx[…], y dentro de este paréntesis tenemos dos datos separados por una coma:

  El primero es el nombre del objeto: que representa el nombre del objeto de MBean.
  El segundo es el atributo de ese objeto.

Estos ítems los podemos buscar con la aplicación jconsole, aunque cuando instalas JDK ( versión 1.5) podemos encontrar la herramienta jvisualVM que está mucho más completa.

Tutorial

Enable jboos

Guía JMX Zabbix

Apache Tomcat