meta data de esta página
Agente JMX
Documento Original de Samuel Ruiz 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.
- 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.