¿Cuándo debo usar la base de datos para iniciar sesión y cuándo los archivos de texto?
Veo que los servidores web y los marcos web (que su aplicación usa internamente) generalmente (¿siempre?) Registran solicitudes y errores en archivos de texto de forma predeterminada. Pero veo que las personas que desarrollan su aplicación en torno a esos servidores y marcos a veces inician sesión en la base de datos (incluso la base de datos principal de la aplicación, no alguna externa).
También tal vez haya una diferencia entre los registros de depuración y los registros de auditoría . He leído esta clasificación en alguna parte de este sitio.
25
Respuestas:
En términos muy generales, iniciar sesión en un archivo de texto es mucho más rápido que iniciar sesión en una base de datos. Ese es el aspecto principal del registro que debe tener en cuenta.
La razón por la que inicia sesión en una base de datos es más probable porque desea consultar los resultados: la búsqueda de información de registro particular es más fácil en una base de datos, especialmente si registra información contextual que puede usarse para agrupar entradas de registro. Por lo general, también es más fácil acceder a una base de datos central que a un archivo de registro en un servidor que puede estar protegido y no accesible.
Lo ideal sería iniciar sesión localmente en un archivo y luego migrar estos datos a una base de datos para su inspección si fuera necesario.
Ahora la auditoría es una bestia completamente diferente. Si bien es similar en concepto al registro, la auditoría generalmente se debe mantener durante mucho tiempo (a diferencia de los archivos de registro utilizados para la depuración o el seguimiento que se pueden eliminar a su antojo). Las auditorías están ahí para mostrar información importante. Registra mucha menos información de auditoría y con menos frecuencia que el registro normal, por lo que el rendimiento no es una preocupación. Es por esta razón que se ven las ventajas de escribir esta información de auditoría en una base de datos central.
fuente
No existe un enfoque único para todos y, para la resistencia, a veces desea utilizar múltiples enfoques. Tomando su ejemplo, es posible que desee guardar registros de depuración en un archivo y almacenar registros de auditoría en una base de datos.
Aplicación de migas de pan
Pros: fácil de implementar y visible para el usuario de inmediato
Contras: la información solo persiste mientras la aplicación está activa
Archivo de texto
Pros: fácil de implementar
Contras: es necesario asegurarse de que no se bloquee el archivo. ¿Qué hacer cuando se agota el espacio en disco en la unidad de registro?
Registro de eventos
Pros: fácil de implementar
Contras: el registro de eventos puede llenarse si no se configura correctamente o se pueden perder los registros antiguos debido a la política de retención / limpieza.
Base de datos
Pros: fácil de implementar
Contras: Más tráfico de DB. ¿Cómo registrar una pérdida de DB u otro problema de DB?
Mensajería (MQ)
Pros: dispara y olvida
Contras: otra capa para salir mal. Requiere configuración
fuente
Los registros de auditoría deben garantizar la trazabilidad completa de las operaciones durante más tiempo para fines de auditoría, con el objetivo de justificar completamente el contenido de su base de datos.
En algunos casos (por ejemplo, aplicaciones financieras), estos registros pueden tener que garantizar el cumplimiento de los requisitos legales, como la retención (en algunos países durante 10 años) o la inalterabilidad. Como estos registros tienen que justificar el contenido de la base de datos a nivel de aplicación, es una práctica común almacenarlos en la base de datos, donde se puede controlar el acceso para evitar alteraciones no autorizadas.
Otros registros , como los registros de supervisión o los registros de seguridad, con frecuencia tienen que hacer frente a las limitaciones de volumen y rendimiento. Por lo general, se escriben en un archivo porque es más rápido de escribir (sin gastos generales de administración de transacciones), más fácil de archivar sin conexión y más fácil de integrar con herramientas SIEM de monitoreo externo .
Debe tenerse en cuenta que, si bien este tipo de registros se pueden usar para demostrar la confiabilidad de los registros de auditoría (por ejemplo, sin acceso no autorizado), generalmente tienen restricciones de retención más cortas (por ejemplo, entre 6 meses y 2 años para fines de cumplimiento de la ley para registros de telecomunicaciones) si alguna restricción en absoluto.
fuente
Una de las muchas razones para usar db para el registro de depuración es cuando no tiene acceso a la aplicación o al servidor web para ver el visor de eventos o los archivos de texto
Los registros de auditoría son diferentes que los registros de depuración en el contexto de la aplicación web, ya que en algunas aplicaciones es posible que deba mostrarlos al usuario final para que puedan ingresar a la base de datos para una recuperación fácil.
También puede usar DB Tools para filtrar y ver fácilmente.
fuente