meta data de esta página
¡Esta es una revisión vieja del documento!
Agente JMX
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
Ahora reiniciamos el servicio mediante los ficheros “shutdown.sh” y “startup.sh” que podemos encontrar en el directorio en el que tengamos nuestro Tomcat instalado ( $ruta/opt/startup.sh ).
Podemos configurar el acceso como creamos conveniente siempre y cuando el puerto esté comprendido entre el 1024-32767.
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.
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. Ahora 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