Monitorización

Monitorización de Máquina Virtual y Métricas del Sistema

JMX

Activar acceso remoto mediante JMX autenticado.

La monitorización de las instancias de Athento ECM sobre Tomcat deben estar monitorizadas en estado de DESarrollo y debemos tener en cuenta en ocasiones de cambios de contexto la monitorización sobre entornos de PREproducción. A continuación se describe el procedimiento de activación de la monitorización mediante JMX.

Para activar el acceso remoto mediante JMX autenticado es necesario habilitar las siguientes líneas del archivo nuxeo.conf:

## Enable jconsole
JAVA_OPTS=$JAVA_OPTS -Dcom.sun.management.jmxremote=true
## Enable JMX
JAVA_OPTS=$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1089 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=/path/of/password/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/path/of/access/jmxremote.access

Es posible que sea necesario añadir estas 2 líneas si la máquina tiene varias tarjetas de red, para que el servidor JMX se auto-identifique:

MY_IP=`ifconfig | grep "Bcast"  | awk -F':' '{ print $2; }' | awk -F ' ' '{ print $1; }'`

JAVA_OPTS=$JAVA_OPTS -Djava.rmi.server.hostname=$MY_IP

El archivo jmxremote.password debe tener sólo acceso de lectura para el usuario nuxeo.

Ejemplo: -rw------- 1 nuxeo nuxeo 2,9K feb 16 12:18 ../jmxremote.password

Para hacer monitorizar la instancia mediante JMX debemos usar la herramienta de Java jvisualvm. Para arrancarlo, basta con ejecutar el comando jvisualvm en consola (por defecto, la variable de entorno JAVA_HOME se encuentra correctamente definida).

Para visualizar las métricas establecidas por Nuxeo podemos instalar el addon para la visualización de MBeans en la herramienta jvisualvm. Podemos visualizar las métricas establecidas en el siguiente enlace: https://doc.nuxeo.com/display/ADMINDOC/Metrics+and+Monitoring

 

Monitorización de Estabilidad del Servicio

Para monitorizar que el servicio está levantado y corriendo, podemos utilizar la siguiente URL:

Disponibilidad del Servicio
http://localhost/nuxeo/runningstatus

El sistema nos devolverá un OK si el servicio está levantado.

 

Para monitorizar que durante el arranque no se hayan producido problemas:

Monitorización de la carga durante el reinicio
http://localhost/nuxeo/runningstatus?info=summary&key=XXXXXXXX

La clave (key) podemos encontrarla en el fichero nuxeoconf. Es el valor que aparece en server.status.key

El sistema debería devolvernos una respuesta como la siquiente si no ha experimentado problemas:

 

Monitorización de Funcionamiento del Sistema Mediante Endpoints

Podemos comprobar que operaciones como la creación de documentos, eliminación o consulta estén funcionando adecuadamente.

 

Para monitorizar la consulta de un espacio:

Con este endpoint (GET) vamos a controlar el acceso y obtención del espacio de trabajo de un determinado usuario. Indicará que el acceso VCS (Visible Content Store) y lectura de documento es correcta.

Consulta de espacio
http://localhost/nuxeo/api/v1/path/{path}

Ejemplo:

Ejemplo consulta de espacio de usuario
https://my.athento.com/nuxeo/api/v1/path/default-domain/UserWorkspaces/user1

 

Para monitorizar la creación de documentos:

Con este endpoint validaremos el correcto funcionamiento de creación de documentos en el sistema. Para ello debemos seleccionar el identificador del documento del contenedor padre donde queremos crear el documento colocar el tipo documental y, por ejemplo, el metadato título.

 

Creación de documento
http://localhost/nuxeo/restAPI/default/{parentDocId}/createDocument?docType=File&dublincore:title={title}


El contenedor padre en este caso será el espacio de usuario servicehibu.


Creación de documento
http://my.athento.com/nuxeo/restAPI/default/4987801c-8d15-4c39-95af-e8096e3ce5ed/createDocument?docType=File&dublincore:title=Test

Como resultado de la correcta creación, el sistema nos devolverá:

Respuesta de creación
<document>
	<repository>default<repository/>
	<docRef>4457807c-8d15-4c76-44af-e5676e444ce5ed<docRef>
	<docTitle>Test</docTitle>
	<docPath>/default-domain/Userworkspaces/user1/Test</docPath>
</document>

 

Para monitorizar el borrado de documentos:

Con este endpoint validaremos la eliminación correcta de un documento creado en el sistema.  

 

Eliminación de documento
http://localhost/nuxeo/restAPI/default/{docId}/deleteDocument

Ejemplo de endpoint para el borrado de un documento:

 

Ejemplo eliminación de documento
https://my.athento.com/nuxeo/restAPI/default/4457807c-8d15-4c76-44af-e5676e444ce5ed/deleteDocument


Si el borrado se ha llevado a cabo de manera satisfactoria, el sistema nos devolverá una respuesta como la siguiente:

Respuesta borrado
<document>
	<repository>default<repository/>
	<docRef>Document 4457807c-8d15-4c76-44af-e5676e444ce5ed deleted <docRef>
</document>