El mundo de los logs en Linux se hace complicado cuando hay que analizar un comportamiento en el servidor, uno de sus servicios o una aplicación concreta. Por ello vamos intentar resumir los ficheros mas importantes, comúnes o útiles, aunque es un tarea complicada.
Veamos, tradicionalmente se han clasificado en categorias como:
- Logs de sistema
- Logs de eventos
- Logs de servicios
- Logs de aplicaciones
Eso está muy bien y aparece en todos los sitios, pero la realidad es que si vamos a la configuración de rsyslog o syslog-ng por ejemplo, podremos ver un listado extenso de archivos a los que hace referencia:
/var/log/auth.log - Logs de autenticación.
/var/log/syslog.log - Logs de sistema
/var/log/crond.log - Logs de los trabajaos de cron
/var/log/daemon.log - Logs de servicios en segundo plano
/var/log/kernel.log - Logs del kernel
/var/log/lpr.log - Logs de impresión
/var/log/user.log - Logs de usuario
/var/log/maillog - Logs relacionados con el servidor de correo
/var/log/messages - Logs generales de sistema
Si indagamos por internet, podremos obtener un puñado mas de archivos de logs:
/var/log/httpd/ - Logs de apache
/var/log/lighttpd/ - Logs de Lighttpd
/var/log/boot.log - Logs de arranque de sistema
/var/log/kern.log - Logs de kernel
/var/log/mysqld.log o /var/log/mysql.log - Logs de MySQL
/var/log/secure o /var/log/auth.log - Logs de autenticación
/var/log/utmp or /var/log/wtmp
/var/log/yum.log Logs de yum
/var/log/qmail/ - Logs de qmail
Se que es una locura, pero si además incluyes aplicacions la lista puede ser infinita. Si tuviesemos que centrarnos en unos cuantos creo que sería bueno seleccionar los logs mas críticos y relevantes si un día tenemos un problema. Se que no vamos a descubrir nada nuevo, pero veamos esta lista tan habitual:
/var/log/boot.log --- Almacena la informacion relacionada
con el arranque y los mensajes que se registran en dicho proceso. Aqui
obtendremos información sobre apagados incorrectos, reinicios no
planeados o fallos de arranque en general.
/var/log/auth.log o /var/log/secure --- El primer fichero
es típico de distribuciones basadas en debian y el segundo en
distribuciones basadas en red hat. Contiene todos los eventos
relacionados con la autenticación y la autorización de usuarios. Permite
revisar intentos fallidos de acceso, fuerza bruta, etcétera. Almacena
todo lo relacionado con la seguridad, uso de sudo, inicios de sesión ssh
y todos los eventos de autenticación de usuario. Informará sobre
intentos de acceso no autorizados o fallidos, además de los inicios de
sesión que se han realizado con éxito. También /var/log/faillog o
/var/log/btmp contendrán intentos fallidos de acceso. El registro de
inicio de sesión y su fin se mantienen en /var/log/wtmp. A este respecto
es muy útil /var/log/lastlog que mantiene el último inicio de sesión de
cada usuario.
/var/log/messages o /var/log/syslog --- Contiene registros de la actividad general del sistema, almacena mensajes informativos y no críticos. Puede mostrar errores de arranque no relacionados con el kernel y servicios relacionados con las aplicaciones. Suele ser el primer archivo que revisaremos si algo va mal.
/var/log/dmesg --- Almacena mensajes del nucleso relacionados con hardware, dispositivos y sus controladores. Contendrá la detección de los dispositivos, errores de hardware y otros mensajes genéricos.
/var/log/kernel.log o /var/log/kern.log --- Es un archivo importantísimo, contiene todo lo que registra el núcleo. Nos puede ayudar si tenemos un núcleo personalizado, o nuestro servidor presenta problemas de hardware, conectividad, etcétera.
/var/log/cron --- Registra todo lo que tenga que ver con las tareas programadas en cron. Cada vez que se ejecute una tarea programada cron registrará la información relevante, ejecuciones correctas, errores, etcétera.
/var/log/daemon.log --- Registra eventos relevantes de los demonios que estén en ejecución en segundo plano.
/var/log/yum.log --- Almacenará toda la información relevante cuando se instale un nuevo paquete si hemos usado yum. Registra la instalación de componentes del sistema y los paquetes de los repositorios. Es habitual que si un software no se ha instalado correctamente acudamos a este archivo log.
/var/log/maillog o /var/log/mail.log --- Registrará todo lo relacionado con el servicio de correo y de cualquier aplicación que tenga que ver con dicho servicio. Se podrá rastrear los envios y recepciones de correos electrónicos, investigar sobre problemas de entrega de correos, averiguar origen de un correo, spam, etcétera.
/var/log/httpd --- Almacena los registros del servidor apache si lo tenemos instalado. Normalmente se almacena en dos archivos diferentes: error_log y acces_log. En el primero se registrarán los errores relacionados con el servidor, su servicio y el sistema. En el segundo archivo se almacenarán todas las peticiones de acceso recibidas a través de protocolo http. Registrará dirección IP y el ID de los clientes que realizan peticiones de conexión al servidor tanto exitosas como infructuosas.
/var/log/mysqld.log o /var/log/mysql.log --- Almacena los registros del servidor mysql si lo tenemos instalado. El primer archivo es típico de distribuciones basadas en Red Hat y el segundo para las basadas en Debian. Es el archivo de registro con todos los mensajes de depuración, fallo y éxito relacionados con mysql. Se puede registrar desde problemas al iniciar, ejecutar o detener el demonio de mysql, hasta información sobre bloqueos de consultas, consultas de ejecución lenta, etcétera.
En otras entradas trataremos formas de centralizar la información y de poder hacer un análisis mas general o rápido de los logs, por lo menos en un primer paso que nos evite empezar a revisar archivo tras archivo. Podríamos ver desde un logwatch que nos ayuda a obtener un informe un poco mas "humano" de forma puntual o programada, hasta un servidor de logs Nagios o un graylog, con el que podremos centralizar, recopilar y monitorizar, para establecer alertas que nos notifiquen si hay un comportamiento anómalo en nuestros servidores.
SaluDOS
No hay comentarios:
Publicar un comentario