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 | 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 / |