Quizás una de las cosas más útiles de Linux son los sistemas de registro, que nos brindan mucha información útil que podemos usar para solucionar problemas, configurar, etc.
Una de las herramientas más utilizadas cuando hablamos de registros es el uso de journalctl que se pueden encontrar en casi cualquier distribución de GNU/Linux. Esta poderosa herramienta nos permite obtener información sobre el estado del sistema, demonios, unidades o incluso el kernel, y como mencionamos anteriormente, toda esta información puede ayudarnos a verificar si algo en el sistema no está funcionando como se esperaba.
Comprobación básica de registros con journalctl.
journalctl se puede usar de muchas maneras interesantes, pero una de las más utilizadas es verificar los registros de todo el sistema. Para hacer esto, simplemente necesitamos emitir el “journalctl” comando en una terminal. como solemos obtener mucha información podemos navegar por la consola con las teclas Shift + retroceso de página , o cambio + retroceso de página .
El resultado que obtenemos son los registros de todos los demonios, servicios, unidades, etc. que tenemos en nuestro sistema, como se representa en la imagen a continuación.
Esta puede ser una gran cantidad de información que realmente no necesitamos, por lo que una forma más sencilla de ver los registros que realmente necesitamos es usar algunos filtros.
Filtros en journalctl.
Podemos usar filtros para obtener información más clara y precisa que luego podemos usar para resolver algunos problemas que podemos enfrentar en nuestros servidores, ya que podemos decidir usar solo un filtro para obtener información sobre un servicio/deamon, o aprovechar el hecho de que podemos usar múltiples filtros para obtener información más detallada y tal vez más útil, por ejemplo, para obtener información sobre una unidad específica en un período de tiempo específico, filtrar con journalctl es una buena manera de ayudarnos a administrar nuestros dispositivos.
Uno de los filtros más utilizados es filtrar por fecha. Con los filtros –desde y –hasta, podemos filtrar por fecha la información de los logs en nuestro servidor.
Ejemplo:
journalctl --since yesterday
El comando anterior mostraría los registros que se generaron en nuestro servidor el día anterior.
También podemos filtrar los registros por una fecha específica, el formato en el que necesitamos emitir la fecha es AAAA-MM-DD HH:MM:SS, por ejemplo.
journalctl --since "2022-02-28 18:00:00"
La salida se verá de la siguiente manera:
También podemos usar dos fechas para filtrar en un estilo de rango, por ejemplo.
journalctl --since "2022-02-28 00:00:00" --until "2022-02-28 23:00:00"
La salida se verá de la siguiente manera:
Con el comando anterior podíamos filtrar los registros que fueron capturados por el sistema entre las 00:00 y las 23:00 del 28 de febrero.
También podemos usar la opción -n para obtener los registros más recientes en el sistema, este comando nos brinda las últimas 10 entradas que se almacenaron en el systemd-journald servicio.
Filtrado de registros de unidades/demonios/servicios específicos.
Otra cosa común es filtrar según la unidad sobre la que necesitamos información, para hacer esto, simplemente necesitamos usar journalctl -u más la unidad sobre la que necesitamos información
Por ejemplo con el servicio de compinches.
journalctl -u cronie.service
La salida se verá de la siguiente manera:
Después de emitir este comando, obtendremos la salida con los registros de esa unidad en particular.
También podemos combinar esto con el filtrado de fechas para obtener información más específica.
journalctl -u cronie.service --since yesterday
La salida se verá de la siguiente manera:
Obteniendo registros del kernel.
En ocasiones necesitamos comprobar si el kernel funciona correctamente o si algo salió mal obtener información que nos ayude a solucionar el problema.
Obtener registros del núcleo es muy sencillo, usaríamos journalctl más la opción -k.
La salida se verá de la siguiente manera:
También podemos usar la opción -b para obtener solo información sobre el inicio más reciente del núcleo, o podemos obtener información de inicios anteriores con:journalctl -b -1,-2,-3 etc.
La salida se verá de la siguiente manera:
Notas:
El servicio que almacena la información de registro es systemd-journal, y podemos ver cuánto espacio utiliza esta información con la opción de uso del disco.
La salida se verá de la siguiente manera:
Conclusiones:
Como podemos ver, journalctl es un comando imprescindible que puede ser útil para resolver problemas o simplemente obtener información sobre el sistema en el que estamos trabajando.
Artículos relacionados
Use la pestaña Comentarios para hacer cualquier comentario o hacer preguntas. También puede iniciar una conversación con nosotros.