Linux Logging Basics (Español)

Los registros del sistema operativo proporcionan una gran cantidad de información de diagnóstico sobre su computadora, y Linux no es una excepción. Linux registra todo, desde los eventos del kernel hasta las acciones del usuario, lo que le permite ver casi cualquier acción realizada en sus servidores. En esta sección, explicaremos qué son los registros de Linux, dónde puede encontrarlos y cómo interpretarlos.

Linux System Logs

Linux tiene un directorio especial para almacenar registros llamado/var/log., Este directorio contiene registros del propio sistema operativo, servicios y varias aplicaciones que se ejecutan en el sistema. Así es como se ve este directorio en un sistema Ubuntu típico.

algunos de los registros más importantes del sistema Linux incluyen:

  • /var/log/syslog y /var/log/messages almacenar todos los datos de actividad del sistema global, incluidos los mensajes de inicio. Los sistemas basados en Debian como Ubuntu almacenan esto en /var/log/syslog, mientras que los sistemas basados en Red Hat como RHEL o CentOS usan /var/log/messages.,
  • /var/log/auth.logand /var/log/secure store all security-related events such as logins, root user actions, and output from pluggable authentication modules (PAM). Ubuntu y Debian usan /var/log/auth.log, mientras que Red Hat y CentOS usan /var/log/secure.
  • /var/log/kern.log almacena eventos de kernel, errores y registros de advertencia, que son particularmente útiles para solucionar problemas de kernels personalizados.
  • /var/log/cron almacena información sobre tareas programadas (trabajos cron)., Utilice estos datos para verificar que sus trabajos cron se están ejecutando correctamente.

algunas aplicaciones también escriben archivos de registro en este directorio. Por ejemplo, el servidor Web Apache escribe logs en el directorio /var/log/apache2 (en Debian), mientras que MySQL escribe logs en el directorio /var/log/mysql. Algunas aplicaciones también se registran a través de syslog, que explicaremos en la siguiente sección.
syslog

¿Qué es Syslog?

Syslog es un estándar para crear y transmitir registros. La palabra «syslog» puede referirse a cualquiera de los siguientes.,

  1. El servicio syslog, que recibe y procesa mensajes syslog. Escucha eventos creando un socket ubicado en /dev/log, en el que las aplicaciones pueden escribir. Puede escribir mensajes en un archivo local o reenviar mensajes a un servidor remoto. Hay diferentes implementaciones de syslog incluyendo rsyslogd y syslog-ng.
  2. El protocolo syslog (RFC 5424), que es un protocolo de transporte que especifica cómo transmitir registros a través de una red. También es un formato de datos que define cómo se estructuran los mensajes., De forma predeterminada, utiliza el puerto 514 para mensajes de texto plano y el puerto 6514 para mensajes cifrados.
  3. Un mensaje syslog, que es cualquier registro formateado en el formato de mensaje syslog. Un mensaje syslog consiste en un encabezado estandarizado y un mensaje que contiene el contenido del registro.

dado que syslog puede reenviar mensajes a servidores remotos, a menudo se usa para reenviar registros del sistema a soluciones de administración de registros como SolarWinds® Loggly® y SolarWinds Papertrail™.

formato y campos Syslog

Los mensajes Syslog contienen un encabezado estandarizado con varios campos., Estos incluyen la marca de tiempo, el nombre de la aplicación que generó el evento, la ubicación en el sistema donde se originó el mensaje y su prioridad. Puede cambiar este formato en el archivo de configuración de su implementación de syslog, pero usar el formato estándar hace que sea más fácil analizar, analizar y enrutar eventos de syslog.

Aquí hay un ejemplo de mensaje de registro usando el formato predeterminado. Es del demonio sshd, que controla los inicios de sesión remotos en el sistema., Este mensaje describe un intento de inicio de sesión fallido:

Jun 4 22:14:15 server1 sshd : Failed password for root from 10.0.2.2 port 22 ssh2
<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% %msg%n

esto genera el siguiente registro:

a continuación, encontrará descripciones de algunos de los campos syslog más utilizados al buscar o solucionar problemas.

Timestamp

el campo timestamp indica la hora y la fecha en que se generó el mensaje en el sistema que lo envió. La marca de tiempo de ejemplo se desglosa así:

  • «2019-06-05» es el año, el mes y el día.
  • » T » es un elemento obligatorio del campo timestamp, separando la fecha y la hora.,
  • «22: 14: 15.003» es el formato de 24 horas del tiempo, incluyendo el número de milisegundos (003).
  • » Z » indica la hora UTC. En lugar de z, el ejemplo podría haber incluido un desplazamiento, como -08:00, que indica que el tiempo se desplaza desde UTC en ocho horas.

Hostname

el campo hostname («server1» en el ejemplo anterior) indica el nombre del host o sistema que envió originalmente el mensaje.

App-Name

el campo app-name («SSHD:auth» en el ejemplo) indica el nombre de la aplicación que envió el mensaje.,

prioridad

el campo de prioridad o pri para abreviar («<34>» en el ejemplo anterior) le indica cuán urgente o grave es el evento. Es una combinación de dos campos numéricos: la instalación y la gravedad. La instalación especifica el tipo de proceso que creó el evento, que va desde 0 para los mensajes del núcleo hasta 23 para las aplicaciones locales. La gravedad varía de 0 a 7, con 0 indicando una emergencia y 7 indicando un evento de depuración.

Pri se puede generar de dos maneras., El primero es como un solo número, prival, que se calcula como el valor del campo facility multiplicado por ocho, luego el resultado se agrega al valor del campo severity: (facility)(8) + (severity). El segundo es pri-text, que dará salida en el formato de cadena «facilidad.gravedad”. Este último formato a menudo puede ser más fácil de leer y buscar, pero ocupa más espacio de almacenamiento.

registro con Systemd

muchas distribuciones de Linux vienen con systemd, que es un gestor de procesos y servicios. Systemd implementa su propio servicio de registro llamado journald que puede reemplazar o complementar syslog., Journald registra de una manera significativamente diferente a systemd, por lo que tiene su propia sección EN LA GUÍA DEFINITIVA para el registro. Puede obtener más información sobre el registro a través de systemd en la sección Systemd Logging.

Share

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *