Ver destacados

Administrar Logs eventos de Systemd con Journalctl Linux

Te explicamos todos los pasos para saber cómo administrar Logs eventos de Systemd con Journalctl Linux
Escrito por
9.8K Visitas  |  Publicado jul 03 2017 18:03
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


Cuando gestionamos sistemas operativos Linux existen cientos de procesos que debemos revisar de forma constante para mantener los mejores niveles de servicio en el servidor o equipos cliente. En ambientes Linux encontramos Systemd el cual es un sistema innovador que nos permite recopilar información sobre los procesos en paralelo durante el arranque del sistema operativo.

 

Systemd está presente en la mayoría de distros Linux como Fedora, Debian, Ubuntu, OpenSuSE, Arch, RHEL, CentOS y otras más. Con Systemd tenemos la opción de administrar de forma centralizada todos los servicios y procesos del sistema. Para este análisis usaremos CentOS 7.

 


1. Configuración de Journald para recopilar registros de Systemd


Básicamente journald se encarga de recopilar y escribir diariamente las entradas del sistema operativo tales como mensajes de inicio, mensajes del kernel, mensajes de syslog, registros de aplicaciones, entre otras. Toda la información de Journald se aloja en la ruta /etc/systemd/journald.conf y los valores allí registrados cumplen con los requisitos locales del sistema.

 

Una forma simple de visualizar el contenido de dicha ruta es ejecutando la siguiente línea con el parámetro cat:

cat /etc/systemd/journald.conf

 


2. Habilitar Journal en el almacenamiento del disco


La mayoría de distribuciones de Linux no permiten que dentro de su sistema de arranque sean alojados mensajes persistentes con el objetivo de recopilar la información de dicho arranque.

 

Para habilitar este registro será necesario acceder a la ruta /var/log/journal y allí editar la línea Storage. Para acceder allí usaremos editores como nano o vi de la siguiente forma:

sudo vi /etc/systemd/journald.conf
sudo nano /etc/systemd/journald.conf
Al acceder a dicho archivo veremos lo siguiente:

 

 

Allí modificaremos la línea Storage del valor auto al valor persistent:

 

 

Guardar cambios
Guardamos los cambios usando las teclas Ctrl + O y salimos del editor usando Ctrl + X.

 

Para obtener información detallada sobre cada uno de los elementos de Journal podemos ejecutar la siguiente línea:

man journald.conf

 


3. Configuración de la fecha y hora usando Timedatectl


Este aspecto es importante ya que al tener una configuración correcta de la fecha y hora los registros serán mucho más confiables y precisos.

 

Para visualizar la fecha y hora actual ejecutaremos alguna de las siguientes líneas:

timedatectl
timedatectl status
El resultado será el siguiente:

 

 

En caso de configurar una zona horaria diferente ejecutaremos la siguiente sintaxis:

sudo timedatectl set-timezone  (Ciudad/País)
sudo timedatectl set-time “HH:MM:SS”

4. Ver mensajes de los logs usando Journalctl


El comando journalctl es una utilidad incluida en Linux que nos permite ver el contenido de systemd. Para desplegar todos los registros sin realizar filtrado ejecutaremos la siguiente línea:
journalctl
El resultado será el siguiente:

 

 

Ahora los siguientes son los filtros que podremos usar con Journalctl:

 

Filtros basados en Booteo o arranque
Este filtro nos permite desplegar los números de arranque, su ID, sus marcas de tiempo, entre otros valores.
Para esto usaremos el parámetro --list-boots:
journalctl --list-boots

 

Si deseamos ver los registros desde el boot actual usaremos la siguiente línea:

journalctl -b
Para ver registros previos usaremos la siguiente línea:
journalctl -b -1

 

Filtros basados por tiempo
Con este filtro podremos usar el formato UTC (Coordinated Universal Time – Hora Universal Coordinada) usando el parámetro –utc:
journalctl –utc

 

Adicionalmente podemos agregar filtros de la siguiente manera:

journalctl --since "2017-07-02 08:30:00" (Despliega los resultados desde la fecha indicada)
journalctl --since today (Despliega los resultados del día actual)
journalctl --since yesterday (Despliega los resultados desde el día anterior)

 

Ver los eventos más recientes
El valor por defecto que usar Journalctl es de 10 registros pero si usamos el parámetro -n podremos indicar una cantidad menor o mayor.
journalctl -n 5

 

 

Ver eventos generados por kernel
Para visualizar los mensajes generados por el kernel usaremos el parámetro -k de la siguiente manera:
journalctl -k

 

 

De la misma forma contamos con las siguientes opciones:
  • Ver eventos por Unidades:
    journalctl -u (servicio)
  • Ver eventos por procesos:
    journalctl _PID=(# PID) , journalctl _PID=(PID) --since today , journalctl _PID=(PID) --since yesterday
  • Ver eventos por usuario o ID de grupo:
    journalctl _UID=1000
  • Ver eventos generados por un archivo en particular:
    journalctl /usr/bin/bash
  • Ver eventos por prioridad: journalctl -p (Código o termino), las opciones disponibles son:
    0 – emerg, 1 – alert, 2 – crit, 3 – err, 4 – warning, 5 – notice, 6 – info, 7 – debug

 

De esta forma Journalctl ofrece múltiples soluciones prácticas para llevar a cabo esta tarea.

 

Cómo instalar y configurar Inav en CentOS 7 para otener el acceso a los logs y administrar detalladamente cada evento ocurrido.

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!