Unix / Linux: registro del sistema

En este capítulo, discutiremos en detalle sobre el registro del sistema en Unix.

Los sistemas Unix tienen un sistema de registro muy flexible y poderoso, que le permite registrar casi cualquier cosa que pueda imaginar y luego manipular los registros para recuperar la información que necesita.

Muchas versiones de Unix proporcionan una función de registro de uso general llamada syslog. Los programas individuales que necesitan tener información registrada, envían la información a syslog.

Unix syslog es una función de registro del sistema uniforme y configurable por host. El sistema utiliza un proceso de registro del sistema centralizado que ejecuta el programa/etc/syslogd o /etc/syslog.

El funcionamiento del registrador del sistema es bastante sencillo. Los programas envían sus entradas de registro a syslogd , que consulta el archivo de configuración/etc/syslogd.conf o /etc/syslog y, cuando se encuentra una coincidencia, escribe el mensaje de registro en el archivo de registro deseado.

Hay cuatro términos básicos de Syslog que debe comprender:

No Señor. Término y descripción
1

Facility

El identificador utilizado para describir la aplicación o proceso que envió el mensaje de registro. Por ejemplo, correo, kernel y ftp.

2

Priority

Un indicador de la importancia del mensaje. Los niveles se definen dentro de syslog como pautas, desde información de depuración hasta eventos críticos.

3

Selector

Una combinación de una o más instalaciones y niveles. Cuando un evento entrante coincide con un selector, se realiza una acción.

4

Action

Qué sucede con un mensaje entrante que coincide con un selector: las acciones pueden escribir el mensaje en un archivo de registro, enviar el mensaje a una consola u otro dispositivo, escribir el mensaje a un usuario que haya iniciado sesión o enviar el mensaje a otro servidor syslog.

Instalaciones de Syslog

Ahora entenderemos acerca de las instalaciones de syslog. Aquí están las facilidades disponibles para el selector. No todas las funciones están presentes en todas las versiones de Unix.

Instalaciones Descripción
1

auth

Actividad relacionada con la solicitud de nombre y contraseña (getty, su, login)

2

authpriv

Igual que la autenticación, pero se registra en un archivo que solo pueden leer los usuarios seleccionados

3

console

Se utiliza para capturar mensajes que generalmente se dirigen a la consola del sistema.

4

cron

Mensajes del programador del sistema cron

5

daemon

Demonio del sistema catch-all

6

ftp

Mensajes relacionados con el demonio ftp

7

kern

Mensajes del kernel

8

local0.local7

Instalaciones locales definidas por sitio

9

lpr

Mensajes del sistema de impresión de líneas

10

mail

Mensajes relacionados con el sistema de correo

11

mark

Seudoevento utilizado para generar marcas de tiempo en archivos de registro

12

news

Mensajes relacionados con el protocolo de noticias de red (nntp)

13

ntp

Mensajes relacionados con el protocolo de tiempo de la red

14

user

Procesos de usuario habituales

15

uucp

Subsistema UUCP

Prioridades de Syslog

Las prioridades de syslog se resumen en la siguiente tabla:

No Señor. Prioridad y descripción
1

emerg

Condición de emergencia, como una caída inminente del sistema, generalmente se transmite a todos los usuarios

2

alert

Condición que debe corregirse de inmediato, como una base de datos del sistema dañada

3

crit

Condición crítica, como un error de hardware

4

err

Error ordinario

5

Warning

Advertencia

6

notice

Condición que no es un error, pero que posiblemente deba manejarse de una manera especial

7

info

Mensaje informativo

8

debug

Mensajes que se utilizan al depurar programas

9

none

Pseudo nivel utilizado para especificar que no se registren mensajes

La combinación de instalaciones y niveles le permite discernir qué se registra y adónde va esa información.

A medida que cada programa envía sus mensajes diligentemente al registrador del sistema, el registrador toma decisiones sobre qué hacer un seguimiento y qué descartar en función de los niveles definidos en el selector.

Cuando especifica un nivel, el sistema hará un seguimiento de todo en ese nivel y más alto.

El archivo /etc/syslog.conf

los /etc/syslog.confel archivo controla dónde se registran los mensajes. Un típicosyslog.conf el archivo podría verse así:

*.err;kern.debug;auth.notice /dev/console
daemon,auth.notice           /var/log/messages
lpr.info                     /var/log/lpr.log
mail.*                       /var/log/mail.log
ftp.*                        /var/log/ftp.log
auth.*                       @prep.ai.mit.edu
auth.*                       root,amrood
netinfo.err                  /var/log/netinfo.log
install.*                    /var/log/install.log
*.emerg                      *
*.alert                      |program_name
mark.*                       /dev/console

Cada línea del archivo contiene dos partes:

  • UN message selectorque especifica qué tipo de mensajes registrar. Por ejemplo, todos los mensajes de error o todos los mensajes de depuración del kernel.

  • Un action fieldque dice lo que se debe hacer con el mensaje. Por ejemplo, póngalo en un archivo o envíe el mensaje al terminal de un usuario.

A continuación se muestran los puntos notables para la configuración anterior:

  • Los selectores de mensajes tienen dos partes: a facility y a priority. Por ejemplo, kern.debug selecciona todos los mensajes de depuración (la prioridad) generados por el kernel (la instalación).

  • El selector de mensajes kern.debug selecciona todas las prioridades que son mayores que debug.

  • Un asterisco en lugar de la instalación o la prioridad indica "todos". Por ejemplo,*.debug significa todos los mensajes de depuración, mientras que kern.* significa todos los mensajes generados por el kernel.

  • También puede utilizar comas para especificar varias instalaciones. Se pueden agrupar dos o más selectores mediante un punto y coma.

Acciones de registro

El campo de acción especifica una de cinco acciones:

  • Registrar mensaje en un archivo o dispositivo. Por ejemplo,/var/log/lpr.log o /dev/console.

  • Envíe un mensaje a un usuario. Puede especificar varios nombres de usuario separándolos con comas; por ejemplo, root, amrood.

  • Envíe un mensaje a todos los usuarios. En este caso, el campo de acción consta de un asterisco; por ejemplo, *.

  • Canalice el mensaje a un programa. En este caso, el programa se especifica después del símbolo de tubería Unix (|).

  • Envíe el mensaje al syslog en otro host. En este caso, el campo de acción consta de un nombre de host, precedido por un signo arroba; por ejemplo, @ tutorialspoint.com.

El comando logger

Unix proporciona loggercomando, que es un comando extremadamente útil para lidiar con el registro del sistema. loslogger El comando envía mensajes de registro al demonio syslogd y, en consecuencia, provoca el registro del sistema.

Esto significa que podemos verificar desde la línea de comando en cualquier momento syslogddaemon y su configuración. El comando del registrador proporciona un método para agregar entradas de una línea al archivo de registro del sistema desde la línea de comandos.

El formato del comando es:

logger [-i] [-f file] [-p priority] [-t tag] [message]...

Aquí está el detalle de los parámetros:

No Señor. Opción y descripción
1

-f filename

Utiliza el contenido del archivo nombre de archivo como mensaje para registrar.

2

-i

Registra el ID de proceso del proceso del registrador con cada línea.

3

-p priority

Ingresa el mensaje con la prioridad especificada (entrada de selector especificada); la prioridad del mensaje se puede especificar numéricamente o como un par facilidad.prioridad. La prioridad predeterminada es user.notice.

4

-t tag

Marca cada línea agregada al registro con la etiqueta especificada.

5

message

Los argumentos de cadena cuyo contenido se concatenan juntos en el orden especificado, separados por el espacio.

Puede utilizar la Ayuda de la página de manual para comprobar la sintaxis completa de este comando.

Rotación de registros

Los archivos de registro tienden a crecer muy rápido y consumen grandes cantidades de espacio en disco. Para habilitar las rotaciones de registros, la mayoría de las distribuciones utilizan herramientas comonewsyslog o logrotate.

Estas herramientas deben llamarse en un intervalo de tiempo frecuente utilizando el cron daemon. Consulte las páginas de manual de newsyslog o logrotate para obtener más detalles.

Ubicaciones importantes de registros

Todas las aplicaciones del sistema crean sus archivos de registro en /var/logy sus subdirectorios. Aquí hay algunas aplicaciones importantes y sus directorios de registro correspondientes:

Solicitud Directorio
httpd / var / log / httpd
samba / var / log / samba
cron / var / log /
correo / var / log /
mysql / var / log /