Estoy buscando una manera de centralizar las preocupaciones de registro de software distribuido (escrito en Java) que sería bastante fácil, ya que el sistema en cuestión tiene un solo servidor. Pero teniendo en cuenta que es muy probable que en el futuro se ejecuten más instancias del servidor en particular (y habrá más aplicaciones que lo necesiten), tendría que haber algo así como un Servidor de registro, que se ocupa de los registros entrantes y los hace accesibles para el equipo de soporte.Centralized Java Logging
La situación ahora es que varias aplicaciones java usan log4j que escribe sus datos en archivos locales, por lo que si un cliente expira problemas el equipo de soporte tiene que solicitar los registros, lo cual no siempre es fácil y toma mucho tiempo. En el caso de una falla del servidor, el problema de diagnóstico no es tan grande, ya que de todos modos hay acceso remoto, pero aun así, monitorear todo a través de un Servidor de Registro todavía tendría mucho sentido.
Mientras que fui a través de las preguntas con respecto a "registro centralizado" He encontrado otra Question (en realidad, el único con una (en este caso) respuesta utilizable. Siendo el problema, todas las aplicaciones se ejecutan en un entorno cerrado (dentro de una red) y las directrices de seguridad no permiten que nada relacionado con el software interno salga de la red de entornos.
También encontré un maravilloso artículo acerca de cómo se podría llamar implement un Servidor de registro. Como el artículo fue escrito en 2001, Hubiera pensado que alguien ya podría haber resuelto este problema en particular. Pero mis resultados de búsqueda no tuvieron nada.
Mi pregunta: ¿Existe un marco de registro que maneja el registro en redes con un servidor centralizado al que puede acceder el equipo de soporte?
Especificación:
- disponibilidad
- servidor tiene que ser ejecutado por nosotros.
- Compatibilidad con Java 1.5
- Compatibilidad con una red heterogénea.
- mejor de los casos: Protocolo utiliza HTTP para enviar los registros (para evitar firewall-temas)
- mejor de los casos: utiliza log4j o logback o básicamente cualquier cosa que implementa slf4j
No es necesario, pero es agradable tienen
- autenticación y la seguridad es por supuesto un problema, pero se pueden retrasar por lo menos durante un tiempo (si se trata de software abierto que se extendería a nuestras necesidades OT: siempre devolver a la proyectos).
- La minería de datos y el análisis es algo que es muy útil para mejorar el software, pero podría ser una aplicación externa.
Mi peor de los casos es que no es un software como ese. Para ese caso, probablemente implementaríamos esto nosotros mismos. Pero si existe una aplicación cliente-servidor, apreciaría mucho no tener que hacer este trabajo particularmente problemático.
Gracias de antemano
Actualización: La solución tiene que ejecutarse en varias plataformas compatibles con Java. (Sobre todo Windows, Linux, algunos HP Unix)
Actualización: Después de mucha más investigación encontramos una solución que pudimos adquirir. clusterlog.net (fuera de línea desde al menos mediados de 2015) proporciona servicios de registro para software distribuido y es compatible con log4j y logback (que es compatible con slf4j). Nos permite analizar el camino de cada usuario a través de la aplicación. Por lo tanto, es muy fácil reproducir errores informados (o incluso no informados). También nos notifica eventos importantes por correo electrónico y tiene un sistema de informes donde los registros del mismo origen se vuelven a sumar en un formato de fácil acceso. Desplegaron (lo cual fue perfecto) aquí hace solo un par de días y está funcionando muy bien.
Actualización (2016): esta pregunta todavía recibe mucho tráfico, pero el sitio al que me refería ya no existe.
usted no menciona qué sistema operativo se está ejecutando en, o si necesita ser multiplataforma, pero si' re on * nix, es posible que desee comprobar el apéndice syslog. Si mal no recuerdo, también hay un apilador de SMTP: ¿podría simplemente crear una cuenta de correo electrónico interna para recibir los registros por correo electrónico? – GreyBeardedGeek
Supongo que ha considerado una configuración syslogd en red? – Thilo
Alternativamente, puede iniciar sesión en una base de datos. http://www.tutorialspoint.com/log4j/log4j_logging_database.htm – SWoeste