Laboratorio Logging
Objetivos
- Configurar rsyslog para almacenar mensajes en archivos de registro específicos según su prioridad.
- Utilizar journalctl para filtrar, consultar y analizar eventos registrados en el diario del sistema.
- Implementar almacenamiento persistente en systemd-journald para conservar registros tras reinicios del sistema.
- Diagnosticar problemas del sistema mediante búsquedas avanzadas en registros y eventos históricos.
- Aplicar técnicas de rotación de registros para evitar el crecimiento excesivo de archivos en /var/log/.
Entorno Inicial
- Usuario: student
- Máquina: servera
- Contraseña inicial: student
- Herramientas utilizadas: Shell Bash y utilidades básicas de Linux.
Pasos del Laboratorio
Prerequisitos
-
Inicio de sesión
-
Inicia sesión en la máquina
serveradesdebastioncomo el usuariostudentutilizando la llave privada proporcionada:ssh student-#-servera
-
Parte 1: Configuración de rsyslog para Registrar Mensajes debug
-
Cambiar a superusuario
- Usa el comando sudo -i para obtener privilegios de root:
sudo -i
- Usa el comando sudo -i para obtener privilegios de root:
-
Crear un archivo de configuración para rsyslog
- Editar el archivo
/etc/rsyslog.d/debug.conf:vim /etc/rsyslog.d/debug.conf - Agregar la línea para registrar mensajes debug:
*.debug /var/log/messages-debug - Guardar y salir (
:wq).
- Editar el archivo
-
Reiniciar el servicio rsyslog
- Aplicar los cambios:
systemctl restart rsyslog
- Aplicar los cambios:
-
Generar un mensaje de prueba
- Enviar un mensaje debug:
logger -p user.debug "Debug Message Test"
- Enviar un mensaje debug:
-
Verificar el contenido del archivo de registro
- Visualizar los últimos mensajes:
tail /var/log/messages-debug - Confirmar que el mensaje aparece en el archivo.
- Visualizar los últimos mensajes:
Parte 2: Análisis de Registros con journalctl
-
Filtrar registros por proceso systemd
- Mostrar eventos generados por el proceso systemd (PID 1):
journalctl _PID=1 - Presionar
qpara salir.
- Mostrar eventos generados por el proceso systemd (PID 1):
-
Filtrar registros por usuario del sistema
- Mostrar eventos generados por un servicio con UID 81:
journalctl _UID=81
- Mostrar eventos generados por un servicio con UID 81:
-
Filtrar registros por prioridad
- Visualizar eventos con prioridad warning o superior:
journalctl -p warning
- Visualizar eventos con prioridad warning o superior:
-
Filtrar registros por período de tiempo
- Mostrar eventos de los últimos 10 minutos:
journalctl --since "-10min"
- Mostrar eventos de los últimos 10 minutos:
-
Filtrar registros por servicio específico
- Mostrar eventos del servicio sshd desde las 09:00:00:
journalctl --since 9:00:00 _SYSTEMD_UNIT="sshd.service"
- Mostrar eventos del servicio sshd desde las 09:00:00:
Parte 3: Configuración de Almacenamiento Persistente en systemd-journald
-
Verificar que el almacenamiento persistente no está habilitado
- Comprobar si existe el directorio
/var/log/journal:ls /var/log/journal - Salida esperada:
ls: cannot access '/var/log/journal': No such file or directory
- Comprobar si existe el directorio
-
Crear el directorio de almacenamiento persistente
- Crear el directorio:
mkdir /var/log/journal
- Crear el directorio:
-
Modificar la configuración de systemd-journald
- Editar el archivo
/etc/systemd/journald.conf:vim /etc/systemd/journald.conf - Buscar la línea
Storage=autoy reemplazar por:[Journal] Storage=persistent - Guardar y salir (
:wq).
- Editar el archivo
-
Reiniciar el servicio systemd-journald
- Aplicar los cambios:
systemctl restart systemd-journald
- Aplicar los cambios:
-
Verificar que el almacenamiento persistente está habilitado
- Comprobar que el directorio
/var/log/journalcontiene registros:ls /var/log/journal - Listar archivos dentro del subdirectorio:
ls /var/log/journal/<directorio-generado>
- Comprobar que el directorio
-
Reiniciar el sistema y verificar la persistencia de registros
- Reiniciar la máquina:
systemctl reboot - Tras el reinicio, iniciar sesión y verificar:
ls /var/log/journal
- Reiniciar la máquina:
-
Salir de
serveray volver albastion- Salir de la sesión remota:
exit
- Salir de la sesión remota:
Resultados Esperados
- Los participantes podrán configurar rsyslog para categorizar eventos y almacenarlos en archivos específicos.
- Se aplicarán filtros avanzados con journalctl para analizar registros por proceso, usuario y período de tiempo.
- Se establecerá almacenamiento persistente para garantizar la conservación de registros a largo plazo.
- Se implementarán estrategias de diagnóstico para identificar problemas en la ejecución del sistema.
- Se comprenderá la importancia de la rotación de registros y su impacto en el mantenimiento del sistema.