2. ¿Qué es un Log?
Un log es un registro de actividad de un
sistema, que generalmente se guarda
en un fichero de texto, al que se le van
añadiendo líneas a medida que se
realizan acciones sobre el sistema.
La palabra log es un término
anglosajón, equivalente a la palabra
bitácora en español, que en la marina
es un libro en el cual se registraban los
acontecimientos. Matías Leal Pablo Carrara
Marcelo
Ali
3. Estos archivos son usados tanto por el sistema
operativo como por las aplicaciones o demonios
(procesos) para registrar datos o información
sobre un evento en particular en un plazo
determinado.
En un sistema Linux podemos encontrar estos
archivos de registro en la carpeta /var/log
En esta carpeta encontraremos casi todos los
archivos de registros de un sistema, pero cabe
destacar que muchas aplicaciones crean estos
archivos en sus propias carpetas fuera de
/var/log.
Pablo Carrara
-
Matías Leal
Ali
-
Marcelo
4. Ahora bien, ¿En que nos sirve los logs para
monitorear nuestro sistema? pues sencillo, los
principales archivos logs que están en la carpeta
/var/log van almacenando información de casi
todos los eventos que ocurren en tu PC
prácticamente desde que la enciendes y en ellos
podremos ver por ejemplo que pasa
internamente en Linux cuando conectas una
Memoria USB, un Modem USB o cuando estas
conectado a internet puedes ver los intentos de
entrada bloqueados por tu firewall.
Registra datos o información sobre
quién, qué, cuándo, dónde y por qué
(who, what, when, where y why)
En otras circunstancias podremos ser capaces
de observar algún mensaje de error que se
Pablo Carrara producir cuando Matías Leal conectando algún
Marcelo
pueda
estas Ali
hardware nuevo o si tienes un servicio web
5. Veremos algunos archivos Logs y sus
usos:
/var/log/messages
Este es el archivo principal de registros y
almacena la mayoría de los mensajes de interés.
/var/log/auth.log
Muestra mensajes sobre autenticación de
usuarios y permisos.
/var/log/daemon.log
Muestra mensajes sobre demonios (permisos) o
servicios corriendo en el sistema.
Pablo Carrara
-
Matías Leal
Ali
-
Marcelo
6. /log/dmesg
Muestra mensajes del núcleo Linux.
/var/log/dpkg.log
Muestra un registro de los paquetes binarios
instalado.
/var/log/kern.log
Muestra mensajes del Kernel
/var/log/boot.log
Muestra mensajes referentes al arranque del
sistema.
/var/log/debug
Muestra mensajes de depuración.
/var/log/lpr.log
Muestra mensajes sobre la impresora
Pablo Carrara
-
Matías Leal
Ali
-
Marcelo
7. /var/log/mail.err
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.log
Archivos varios que muestran mensajes sobre
error, información, alertas y registro
(respectivamente) para los correos (requiere
tener un servicio de correos funcionando).
/var/log/mysql.*
Archivos varios de registro para el servicio mysql
(requiere tener un servicio mysql).
/var/log/user.log
Muestra información acerca de los procesos
usados por el usuario
Pablo Carrara
-
Matías Leal
Ali
-
Marcelo
8. /var/log/Xorg.0.log
Muestra registros de Xorg (servidor)
/var/log/apache2/*
Archivos de registro varios que muestra
información sobre el servicio web Apache
(requiere tener apache instalado).
/var/log/lighttpd/*
Archivos de registro varios que muestran
información sobre el servicio web Lighttpd
(requiere tener instalado Lighttpd)
Obviamente la lista podría seguir pero esos son
los más importantes.
Pablo Carrara
-
Matías Leal
Ali
-
Marcelo
9. Un ejemplo fácil para visualizar algún registro
desde la terminal sería usando comandos como
tail, cat, less o grep. un ejemplo podría ser
tecleando en la terminal:
tail -f /var/log/auth.log
El comando tail escribe a la salida estándar la
última parte de un archivo, y el –f escribe la
última parte si el archivo ha crecido, mostrará el
cambio, esto sirve si dejamos la terminal abierta
veremos quién se logueo y quién se deslogueo
en el lapso en la que la terminal estaba
encendida.
Pablo Carrara
Matías Leal
Marcelo
Ali
10. Rotación de los archivos de log
Los ficheros de log pueden crecer indefinidamente, y
es necesario rotarlos cuando superen un cierto
tamaño, la rotación puede ser manual o
automática, mediante el comando logrotate
Comando logrotate
Permite rotar los archivos de log, comprimiéndolos y
enviándolos por mail si se desea Normalmente se
ejecuta diariamente de forma automática, mediante la
ejecución del script /etc/cron.daily/logrotate
La configuración se hace mediante el fichero
/etc/logrotate.conf
Indica opciones globales, que se aplican a todos los
ficheros de log, y acciones específicas para ficheros
Pablo determinados
Carrara
Matías Leal
Ali
Marcelo
11. Configuración del Comando
Logrotate:
1.
Instalar el programa logrotate:
apt-get install logrotate
2.
Crear o comprobar que tenemos las carpetas y
ficheros necesarios:
mkdir -p /var/lib/logrotate/
touch /var/lib/logrotate/status
mkdir -p /etc/logrotate.d/
3. Crear el fichero logrotate.conf:
vi /etc/logrotate.conf
Pablo Carrara
-
Matías Leal
Ali
-
Marcelo
12. Copiar el siguiente contenido el fichero
logrotate.conf que antes hemos creado:
# ejecutar “man logrotate” para más información
weekly
rotate 4
create
include /etc/logrotate.d
/var/log/wtmp
{
missingok
monthly
create 0664 root utmp
rotate 1
}
Pablo Carrara
-
Matías Leal
Ali
-
Marcelo
13. 4.
Crear el fichero de rotación (en mi caso para los
logs de acceso y errores):
vi /etc/logrotate.d/rotar_logs
Copiar el siguiente contenido en dicho fichero:
/www/*/logs/access_log {
daily
rotate 90
copytruncate
compress
notifempty
missingok
}
/www/*/logs/error_log {
daily
rotate 90
copytruncate
compress
notifempty
missingok
}
Pablo Carrara
-
Matías Leal
Ali
-
Marcelo
14. La ruta dependerá del servidor donde nos
encontramos y el * lo que indica es que en todas
las carpetas de dicha ruta las tenga en cuenta.
Por ejemplo:
/www/pepito/logs/access_log
/www/juan/logs/access_log
/www/manuel/logs/access_log
/www/pepito/logs/error_log
/www/juan/logs/error_log
/www/manuel/logs/error_log
Pablo Carrara
-
Matías Leal
Ali
-
Marcelo
15. 5.
Comprobar manualmente que funciona:
/usr/sbin/logrotate -d /etc/logrotate.conf
/usr/sbin/logrotate -f /etc/logrotate.conf
Si todo va bien y no se muestra ningún error es que
todo ha ido bien.
Ahora nos toca programar para que el servidor haga
logrotate automáticamente, con ayuda de nuestro
amigo el crontab:
Copiar el siguiente contenido:
#Logrotate a las 1 AM todos los días
0 01 * * * root /usr/sbin/logrotate /etc/logrotate.conf > /dev/null 2>&1
Finalmente ejecutaremos en el terminal:
/etc/init.d/crond restart
Para que los nuevos cambios se apliquen.
Pablo Carrara
Matías Leal
Ali
Marcelo
16. Mensajes
Kernel y Sistema
Existen dos demonios que se encargan de
manejar los mensajes del kernel y del
sistema, estos son:
– syslogd: Guarda los logs del sistema y de
muchos servicios. Guarda el nombre del
programa, el tipo de servicio, la prioridad y el
mensaje del propio programa.
– klogd: Guarda los logs propios del kernel para
su
posterior análisis en caso de error, por
ejemplo.
Pablo Carrara
Matías Leal
Ambos escriben sus mensajes en
Ali
Marcelo
17. Syslog.conf
El syslogd nos permite personalizar los loggings
del sistema mediante el fichero de configuración
/etc/syslog.conf.
Aquí se define todo sobre lo que se quiere hacer
log, para esto se definen normas con dos
campos:
– Selector = A qué hacer log.
– Action = Dónde hacer log.
Pablo Carrara
-
Matías Leal
Ali
-
Marcelo
18. Campo Selector:
– Consta de dos partes: type (facility) y priority.
Type:
Priority:
– auth
– authpriv
– cron
– daemon
– kern
– lpr
– mail
– news
– uucp
– alert
– crit
– debug
– emerg
– err
– info
– notice
– warning
Pablo Carrara
-
Matías Leal
Ali
-
Marcelo
19. Campo Action:
– Especifica a donde deben ir los
mensajes, normalmente es un fichero, aunque
otras opciones muy interesantes son:
Consola
Máquina remota
Usuarios concretos
Todos los usuarios
Pablo Carrara
-
Matías Leal
Ali
-
Marcelo
20. Otras herramientas
LogWatch
– Analiza los logs durante un periodo de tiempo
especificado por el usuario y genera informes
personalizables y de fácil lectura para el
administrador.
Secure Syslog
– Herramienta de logging de sistema
criptográficamente segura, que permite la auditoría
remota de los logs. Así un si un intruso entra con
privilegios de root sigue siendo posible auditar el
Pablo Carrara
Matías Leal
Marcelo
sistema.
Ali