Tutoriales y Manuales
Entradas Mensuales
-
►
2024
(Total:
1019
)
- ► septiembre (Total: 50 )
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
▼
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
▼
abril
(Total:
59
)
- 1,5 millones de contraseñas asociadas a correos de...
- Un argentino compró el dominio oficial de Google A...
- Vulnerabilidad en F5 BIG-IP en Kerberos Key Distri...
- Un error de Google permitía acceder a información ...
- Malware en MacOS gracias a una vulnerabilidad en G...
- Windows Defender bloqueará malware de minado de cr...
- Engañan a varios políticos europeos a través de vi...
- 250GB datos robados al Departamento de Policía Met...
- microCLAUDIA; vacuna contra el ransomware y otros ...
- Estudiante de Stanford encontró fallo en el sistem...
- ¿Qué es la MAC Address o dirección MAC Media?
- Oleada de ciberataques tumba las webs del INE, Jus...
- Actualizaciones de seguridad graves e importantes ...
- Microsoft presenta interfaz gráfica GUI de aplicac...
- Técnicas de ataque del ransomware Ryuk: víctimas; ...
- Rusia y su relación con el ransomware
- Herramientas para el análisis archivos de Microsof...
- Quanta, proveedor hardware de Apple, víctima del r...
- Mueren dos personas que circulaban en un Tesla sin...
- La Policía Española desmantela el primer taller il...
- Ataque Airstrike: bypass de BitLocker con escalada...
- Distribuyen malware en plantillas PDF maliciosos
- Estados Unidos sanciona direcciones de criptomoned...
- The Phone House España victima del grupo de ransom...
- Los Houston Rockets de la NBA, nueva victima del r...
- Hackean la web de Más Madrid y desvían 8.000 euros...
- Creador del Bitcoin, Satoshi Nakamoto, la 19ª pers...
- Informe del ransomware Clop
- Consejos para realizar copias de seguridad
- Error en WhatsApp permite desactivar y bloquear cu...
- Falsa oferta de trabajo de LinkedIn instala un tro...
- Troyano bancario IcedID: ¿el nuevo Emotet?
- ¿Qué es el "checksum" de un fichero bajado de inte...
- Ransomware: DoppelPaymer (BitPaymer)
- Finaliza concurso hacking Pwn2Own 2021
- journalctl; analizar logs del sistema en Linux
- Microsoft fabricará cascos de realidad aumentada p...
- Verifica si tu número de teléfono ha sido filtrado...
- Filtran información personal de 500 millones de us...
- ownCloud vs NextCloud crea tu propia nube personal
- XPEnology: el SO operativo DSM de Synology
- Alertan cheats contienen troyano en juegos como Ca...
- Monitorización Discos Duros HDD y unidades SSD con...
- Rendimiento memoria RAM DDR5 Vs DDR4
- Análisis ransomware Avaddon
- Detenido mafioso italiano tras ser reconocido en u...
- Asterisk: centralita Telefonía IP (VoIP) de código...
- Ejemplos útiles directivas de grupo de Windows 10
- Los números de teléfono y datos personales de 533 ...
- Completo Análisis del ransomware REvil (Sodinokibi)
- Usar Telegram cómo nube personal ilimitada
- Android envía 20 veces más datos a Google que iOS ...
- Hackearon 7 correos electrónicos de parlamentarios...
- Disponible distro hacking ético y pentester Parrot...
- Centro de Operaciones de Seguridad (SOC)
- Vulnerabilidades críticas en VMware vRealize Opera...
- Mes de la videovigilancia en Instant Byte: webinar...
- Google detuvo una operación antiterrorista en USA ...
- Proteger seguridad servidor NAS QNAP
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
Entradas populares
-
Después de ver qué es una vCPU y la diferencia entre núcleos (cores) e hilos en los procesadores, pasamos a explicar toda la nomenclatura d...
-
En el panorama en constante evolución de la seguridad de redes, OpnSense se ha convertido en una formidable solución de firewall. Nacido de...
-
Pese a que Gemini ofrece multitudes de opciones, recientemente, se ha dado a conocer una situación fuera de lo común. Hace unos días, un es...
journalctl; analizar logs del sistema en Linux
Análisis de los logs, que todo sysadmin debe conocer, y para lograr hacer esto de forma simple te muestro el comando journalctl con varios ejemplos. Cómo usar Journalctl para ver y manipular los registros de Systemd
Cómo analizar los logs del sistema en Linux con journalctl
La llegada de systemd a la mayoría de distribuciones de GNU/Linux, como sistema de inicio reemplazando a init, ha supuesto una nueva manera de ver de los mensajes del sistema, como pueden ser los del kernel y los diferentes servicios o procesos.
Journalctl es ahora la herramienta más utilizada para acceder a los registros del sistema y en esta entrada vamos a ver como podemos echarles un vistazo sin morir en el intento, o lo que es lo mismo, aplicando unos cuantos filtros que nos permitirán separar el polvo de la paja.
Algunas de las ventajas más convincentes de systemd
son
las que se relacionan con el proceso y registro del sistema. Al usar
otros sistemas, los registros suelen estar dispersos por todo el
sistema, son manejados por diferentes demonios y herramientas, y puede
ser bastante difícil de interpretar cuando abarcan varias aplicaciones. Systemd
intenta resolver estos problemas al proporcionar una solución de
administración centralizada para registrar todos los procesos del kernel
y del usuario. El sistema que recopila y administra estos registros se
conoce como diario.
El diario se implementa con el demonio journald
, que gestiona todos los mensajes producidos por el kernel, initrd, servicios, etc. En esta guía, veremos cómo usar la utilidad journalctl
, que puede usarse para acceder y manipular los datos que se encuentran dentro del diario.
La forma básica de acceder a los registros del sistema es:
journalctl
que viene a equivaler al viejo «cat /var/log/messages» y nos permite acceder a todos los logs sin filtrar (en cualquier momento podemos salir de esa pantalla utilizando la tecla «q»)
Configurar la hora del sistema
Una de las ventajas de usar un diario binario para el registro es la
posibilidad de ver los registros en hora UTC o local libremente. systemd
mostrará los resultados en hora local de manera predeterminada.
Debido a esto, antes de comenzar con el diario, nos aseguraremos de
que la zona horaria esté configurada correctamente. El paquete de systemd
realmente viene con una herramienta llamada timedatectl
que puede ayudar con esto.
Primero, consulte qué zonas horarias están disponibles con la opción list-timezones
:
timedatectl list-timezones
Esto mostrará la lista de zonas horarias disponibles en su sistema.
Cuando encuentre la que coincida con la ubicación de su servidor, puede
configurarla usando la opción set-timezone
:
sudo timedatectl set-timezone zone
Para asegurarse de que su máquina esté usando la hora correcta actual, utilice el comando timedatectl
solo o con la opción status
. En la pantalla, se mostrará lo mismo:
timedatectl status
Local time: Thu 2015-02-05 14:08:06 EST
Universal time: Thu 2015-02-05 19:08:06 UTC
RTC time: Thu 2015-02-05 19:08:06
Time zone: America/New_York (EST, -0500)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
La primera línea debe mostrar la hora correcta.
Ejemplos
Saber la versión
journalctl --version
Ver logs en tiempo real
journalctl -f
En tiempo real de una servicio en concreto:
journalctl -f sshd.service
Ver logs del kernel
journalctl -k
Ver logs del boot actual
journalctl -b
journalctl --list-boots
Por ejemplo, para obtener los mensajes de hace cinco arranques, puede escribir lo siguiente:
journalctl -k -b -5
Ver logs más recientes
journalctl -r
Ver logs de un servicio
journalctl -u sshd.service
Resulta extremadamente útil cuando se aprovecha la capacidad del diario para intercalar registros de varias unidades. Por ejemplo, si su proceso de Nginx está conectado a una unidad PHP-FPM para procesar contenido dinámico, puede combinar las entradas de ambos en orden cronológico especificando ambas unidades:
journalctl -u nginx.service -u php-fpm.service --since today
Ver una cantidad n de registros
Para mostrar una cantidad determinada de registros, puede usar la opción -n
, que funciona exactamente igual que tail -n
.
Por defecto, se mostrarán las 10 entradas más recientes:
journalctl -n
journalctl -n 50
Ver el log de un PID
systemd
tiene muchos campos que pueden usarse
para filtrar. Algunos de estos son pasados desde el proceso que se está
registrando y otros son aplicados por journald
usando la información que recopila del sistema en el momento del registro.journalctl _PID=3475
Ver el log de un usuario
journalctl _UID=1000
Ver el log de un programa
journalctl _COMM=vmtoolsd
Ver logs por fecha y hora
Ver los logs desde el día de ayer hasta hoy a las 10:00 horas.
journalctl --since 'yesterday' --until '10:00'
Ver logs de los últimos 30 minutos:
journalctl --since '30 min ago'
Ver registros desde hoy
journalctl --since today
Ver registros desde ayer a hoy
journalctl --since yesterday --until now
En un rango de fechas específico
journalctl --since='2021-04-01 00:01' --until='2021-04-07 00:01'
Podemos ver los logs de un servicio en particular entre fechas
journalctl -u sshd.service --since='2021-04-01 00:01' --until='2021-04-07 00:01'
- journalctl --since "1 hour ago"
- journalctl --since "30 minutes ago"
- journalctl --since "30 minutes ago"
- journalctl --since "1 day ago"
- journalctl --since "1 wheek ago"
- journalctl --since "1 week ago"
- journalctl --since "1 month ago"
- journalctl --since "1 year ago"
- journalctl --since "1 year ago"
Ver logs por prioridad que le asigna el sistema
- «emerg» (0)
- »alert» (1)
- «crit» (2)
- «err» (3)
- «warning» (4)
- «notice» (5)
- »info» (6)
- «debug» (7)
journalctl -p 1
En orden de mayor a menor prioridad, estos son, en español
- 0: emergencia
- 1: alerta
- 2: crítico
- 3: error
- 4: advertencia
- 5: aviso
- 6: información
- 7: depuración
Un filtro que suele interesar a los administradores de sistemas es el de prioridad de mensaje. Aunque a menudo es útil registrar información a un nivel muy verboso, cuando realmente se asimila la información disponible, los registros de baja prioridad pueden distraer y confundir.
Puede usar journalctl
para mostrar solo mensajes de una prioridad especifica o superior usando la opción -p
. Esto le permite filtrar mensajes de menor prioridad.
Por ejemplo, para mostrar solo las entradas registradas en el nivel de error o superior, puede escribir lo siguiente:
journalctl -p err -b
Ver log de los disco duro
journalctl /dev/sda
Ver el espacio que están ocupando los diferentes logs
journalctl --disk-usage
En el caso de que ese valor fuera muy grande lo podemos limitar en el archivo /etc/systemd/journald.conf.
Enviar resultado a un archivo
journalctl -f -u sshd.service > resultado.txt
Ver los registros de inicio con identificadores numéricos
journalctl --list-boots
Formatos de resultado
Si está procesando las entradas del diario, como se mencionó
anteriormente, es probable que le resulte más fácil analizar los datos
si están en un formato más fácil de usar. Afortunadamente, el diario
puede mostrarse en varios formatos según sea necesario. Puede hacerlo
usando la opción -o
con un especificador de formato.
Por ejemplo, puede mostrar las entradas del diario en JSON escribiendo lo siguiente:
journalctl -b -u nginx -o json
Eso es útil para el análisis sintáctico con utilidades. Puede usar el formato json-pretty
para obtener un mejor manejo de la estructura de datos antes de transmitirla al consumidor JSON:
journalctl -b -u nginx -o json-pretty
Se pueden usar los siguientes formatos para la visualización:
- cat: Muestra solo el campo de mensaje.
- export: Formato binario adecuado para transferir o hacer copias de seguridad.
- json: JSON estándar con una entrada por línea.
- json-pretty: JSON formateado para una mejor legibilidad humana
- json-sse: Resultado formateado JSON envuelto para hacer que el evento enviado por servidor sea compatible
- short: El resultado de estilo
syslog
predeterminado - short-iso: El formato predeterminado aumentado para mostrar las marcas de tiempo del reloj de pared ISO 8601.
- short-monotonic: El formato predeterminado con marcas de tiempo monotónicas.
- short-precise: El formato predeterminado con precisión de microsegundos.
- verbose: Muestra todos los campos del diario disponibles para la entrada, incluidos los que suelen estar ocultos internamente.
Eliminar registros antiguos
Si desea reducir su diario, puede hacerlo de dos distintas formas (disponibles en la versión 218 y posterior de systemd
).
Si usa la opción --vacuum-size
, puede reducir su diario
indicando un tamaño. Esto eliminará las entradas antiguas hasta que el
espacio total del diario ocupado en el disco sea del tamaño solicitado:
sudo journalctl --vacuum-size=1G
Otra forma de reducir el diario es proporcionar un tiempo límite con la opción --vacuum-time
.
Cualquier entrada que sobrepase ese límite de tiempo será eliminada.
Esto le permite mantener las entradas que se han creado después de un
tiempo específico.
Por ejemplo, para guardar las entradas del último año, puede escribir lo siguiente:
sudo journalctl --vacuum-time=1years
Limitar tamaño
Puede configurar su servidor para que ponga límites sobre cantidad de
espacio que puede ocupar el diario. Puede hacer esto editando el
archivo /etc/systemd/journald.conf
Puede usar los siguientes elementos para limitar la expansión del diario:
SystemMaxUse=
: especifica el espacio máximo de disco que puede usar el diario en el almacenamiento persistente.SystemKeepFree=
: especifica la cantidad de espacio que el diario debe dejar libre al añadir entradas del diario al almacenamiento persistente.SystemMaxFileSize=
: controla el tamaño que pueden alcanzar los archivos individuales del diario en el almacenamiento persistente antes de rotar.RuntimeMaxUse=
: especifica el espacio máximo de disco que puede usarse en el almacenamiento volátil (dentro del sistema de archivos/run
).RuntimeKeepFree=
: especifica la cantidad de espacio que debe reservarse para otros usos al escribir datos en el almacenamiento volátil (dentro del sistema de archivos/run
).RuntimeMaxFileSize=
: especifica la cantidad de espacio que puede ocupar un archivo de diario individual en el almacenamiento volátil (dentro del sistema de archivos/run
) antes de rotar.
Al establecer estos valores, puede controlar la forma en que journald
utiliza y preserva el espacio en su servidor. Tenga en cuenta que SystemMaxFileSize
y RuntimeMaxFileSize
orientarán los archivos para llegar a los límites indicados. Es
importante recordar esto al interpretar el recuento de archivos después
de una operación vaciado.
0 comentarios :
Publicar un comentario
Los comentarios pueden ser revisados en cualquier momento por los moderadores.
Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.
Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.