A pesar de la documentación bastante escasa y poco clara y un How-To eficaz para principiantes, me ha gustado PSGI y actualmente lo estoy usando en una de mis aplicaciones. Lo que me gustaría saber es cómo administro el registro en una aplicación de varios nodos. ¿Qué se considera la "mejor práctica" con respecto al inicio de sesión en PSGI?Registro de PSGI (Perl)
Respuesta
Recomiendo usar Plack::Middleware::AccessLog para el acceso de registro y Plack::Middleware::LogDispatch para el registro personalizado. Ambos a su vez usan el popular módulo Log::Dispatch.
Los documentos de Middleware de LogDispatch no muestran actualmente cómo usar el objeto de registro una vez que está configurado. He aquí un ejemplo:
my $app = sub {
my $env = shift;
$env->{'psgix.logger'}->({ level => "debug", message => "This is debug" });
return [ 200, [], [] ];
};
Para abordar la preocupación de varios nodos, usted podría entonces utilizar Log::Dispatch::Syslog que enviaría a la tala rsyslog que podría a su vez para pasar los datos de registro a otro servidor rsyslog. De esta forma, todos los nodos pueden iniciar sesión en un solo servidor central de registro.
Con la flexibilidad de Log :: Dispatch, también tiene la opción de registrar de forma local y remota para redundancia si lo desea. Los registros enviados a el servidor central podrían considerarse primarios, y el registro realizado localmente podría considerarse una copia de seguridad en caso de que el servidor de registro central esté inactivo por un tiempo.
El uso de un servidor de registro central tiene varias ventajas:
- se puede 'grep' a través de los registros de todo el clúster en un solo lugar.
- La rotación de registros y el análisis es más simple con un conjunto de archivos de registro.
- Está mejor preparado para escalar su clúster hacia arriba y hacia abajo, ya que puede cerrar un nodo sin preocuparse por perder el registro o mantener el servidor encendido para que un trabajo cron nocturno pueda disparar para procesar los registros.
Actualmente uso Log :: Dispach y Rsyslog juntos de esta forma para administrar un clúster multinodo.
- 1. nginx y Perl: FastCGI vs proxy inverso (PSGI/Starman)
- 2. ¿Hay marcos web modernos (Moose/PSGI) distintos de Catalyst?
- 3. PSGI: ¿Qué es y de qué se trata?
- 4. ¿Qué módulo de registro usar bajo AnyEvent de Perl?
- 5. ¿Cómo incluir el registro en un módulo Perl?
- 6. Implementación de la aplicación Perl
- 7. ¿Cómo puedo tratar muchos archivos de registro como un archivo virtual en Perl?
- 8. XOR registro, registro (ensamblador)
- 9. Registro de Git: registro de futuras revisiones
- 10. Registro de Python solo registro del script
- 11. ¿Cuál es la mejor herramienta para analizar archivos de registro?
- 12. ¿Es correcto cambiar el IO de Perl predeterminado a utf-8 mientras usa Plack y Middlewares?
- 13. Archivo de registro de salida de registro de Git
- 14. Acelerar Perl DBI fetchrow_hashref
- 15. ¿Cómo redefino las funciones integradas de Perl?
- 16. Perl: Javascript :: Plantillas V8 - del perl
- 17. Cómo obtener errores de script de Perl en el registro de errores de nginx (Nginx con FCGIwrap)
- 18. ¿Cómo uso una determinada versión (o superior) de un módulo perl en mi script perl?
- 19. Perl: Pasa por un archivo y sustituye
- 20. RoR: consultas SQL de registro en el registro de producción
- 21. Registro de Java: ¿dónde está mi archivo de registro?
- 22. ¿Cómo hago para que el Perl de 32 bits lea el registro de Windows de 64 bits?
- 23. Perl - Matriz de objetos
- 24. perl cola de proceso
- 25. bloques de código perl
- 26. Perl Hash de subfunciones
- 27. Perl patrón de división
- 28. Perl: Archivo de apertura
- 29. Perl \ @ secuencia de escape
- 30. Perl, orden de pedido
[Plack :: Middleware :: AccessLog] (http://p3rl.org/Plack::Middleware::AccessLog) –
¿Estás hablando solo de registros de acceso o de inicio de sesión en general? –