2008-08-29 11 views
12

Trabajo mucho en la red y el espacio 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.Archivos de registro en sistemas distribuidos masivamente

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 apéndice UDP y recogerlo centally.

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

+0

por cierto, ¿por qué UDP? ¿Puedes aceptar perder tus mensajes? –

Respuesta

3

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

En segundo lugar, si está recopilando los registros en una sola ubicación (como el apéndice UDP que menciona) asegúrese de que los registros tengan suficiente información para ayudar. 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 mencionó un Appender UDP, supongo que está utilizando 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.

0

¿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 "broadcasting" o "multicasting" sus mensajes de registro y tener servidores de registro dedicados suscribiéndose a esos feeds y cotejarlos

Cuestiones relacionadas