volunteer systems computing book distributed-computing hpc

distributed-computing - systems - grid computing



Archivos de registro en sistemas masivamente distribuidos (2)

Trabajo mucho en la red y en el espacio de HPC y uno de los mayores desafíos que tenemos con un sistema distribuido en cientos (o en algunos casos miles) de servidores es analizar los archivos de registro.

Actualmente, los archivos de registro se escriben localmente en el disco en cada blade, pero también podríamos considerar la publicación de información de registro utilizando, por ejemplo, un Appender UDP y recopilarlo centally.

Dado que el objetivo es poder identificar problemas lo más cerca posible al tiempo real, ¿qué deberíamos hacer?


Primero, sincronice todos los relojes en el sistema usando NTP.

En segundo lugar, si está recopilando los registros en una única ubicación (como el appender UDP que menciona), asegúrese de que los registros tengan suficiente información para ayudar realmente. Incluiría al menos el servidor que generó el registro, la hora en que sucedió y el mensaje. Si existe algún tipo de identificación de transacción o concepto de tipo de id de trabajo, inclúyalo también.

Como mencionaste un Appender UDP, supongo que estás usando log4j (o uno de sus hermanos). Log4j tiene una clase MDC que permite pasar información adicional a través de un hilo de procesamiento. puede ayudar a recopilar parte de la información adicional y transmitirla.


¿Estás usando Apache? Si es así, puedes echarle un vistazo a mod_log_spread Aunque es posible que tengas una infraestructura demasiado grande para que pueda mantenerse. La otra opción es mirar "difusión" o "multidifusión" de sus mensajes de registro y tener servidores de registro dedicados suscribiéndose a esos canales y cotejándolos