Cuando es necesario revisar un equipo que ha fallado por lo general es importante empezar por la recolección de información del sistema, eso lo puedes conseguir con una herramienta de CentOS bastante poderoda llamada journalctl y aqui te comento como la puedes usar.
Como usar journalctl en CentOS para recolectar información
journalctl te permite ver los logs de muchos servicios, aplicaciones y en general de lo que ocurre en el sistema. Este comando tiene una gran cantidad de parámetros que permite la obtención de información particular o general dependiendo de como se use.
Algunos de las tareas mas comunes para hacer con journalctl son las siguientes:
journalctl -ef te muestra el final del registro de eventos
journalctl _SYSTEMD_UNIT=sshd.service te muestra los registros generados por una unidad de servicio
journalctl -u sshd.service te muestra los registros relacionados a un servicios, incluyendo las generadas por la unidad de servicios y las relacionadas con ese servicio
journalctl -p emerg..err te muestran los gesitros con un rango de prioridades de eventos, en este ejemplo se incluyen de emerg a err, para mostrar una sola prioridad se puede usar el parámetro -p err
journalctl -b -1 Te muestra los mensajes correspondientes a un arranque anterior. El 0 es el arranque actual o mas reciente, para poder ver arranques anteriores debes generar un log permanente de eventos de journalctl
journalctl –since «2015-02-02 20:30:00» –until «2015-03-31 12:00:00» puedes mostrar los eventos registrados ente desde una fecha en particular o entre un rango de fechas
journalctl -o verbose muestra los eventos con todos los campos que se registran en el registro de eventos o journal, todos estos comandos se pueden usar para filtrar el contenido del journal y así poder encontrar el dato que estamos buscando.
Como crear un log permanente de journalctl en el disco en CentOS
journalctl colecta la información desde el arranque, pero lo almacena en un tmpfs que se guarda en memoria, una vez que el sistema se apaga o se reinicia, esta información se pierde por lo que hay ocasiones que puede ser necesario que se mantenga la información de varios arranques. Para poder hacerlo es necesario crear un directorio llamando /var/log/journal
mkdir /var/log/journal
Para que funcione correctamente debes asignar algunos permisos y modificar la propiedad del directorio con los siguiente comandos:
chown root:systemd-journal /var/log/journal
chmod 2755 /var/log/journal
Para que funcione es posible que necesites reiniciar el servicio, pero cuando no sea posible puedes hacer que funcione ese journal permanente en el disco con solo matar el journal y volverá a iniciar para escribir el log de eventos en el journal permanente. Ejecuta este comando:
killall -USR1 systemd-journald
La herramienta journalctl te puede ayudar para saber que ocurre en tu sistema, desde que cuenta está logeando en este momento como que usuario ingresó y salió de sesión en una fecha determinada. Si quieres ver mas información de journalctl puede consultar las man pages de este comando.