¿Diferencia entre / var / log / messages, / var / log / syslog y /var/log/kern.log?

68

A los efectos de registro del núcleo, ¿por qué tengo tres niveles diferentes, no inclusivos de la tala entre /var/log/messages, /var/log/syslogy /var/log/kern.log?

Un estudiante en una universidad
fuente
Tenga en cuenta que / var / log / messages es el syslog en sistemas que no son Debian / no Ubuntu, como los sistemas RHEL o CentOS.
Thomas Ward
Tenga en cuenta que journalctlestá reemplazando lentamente a syslogmedida que va al recurso para monitorear mensajes del sistema.
WinEunuuchs2Unix

Respuestas:

52

Syslog es una instalación de registro estándar. Recopila mensajes de varios programas y servicios, incluido el kernel, y los almacena, dependiendo de la configuración, en un grupo de archivos de registro normalmente debajo /var/log. En algunas configuraciones de centros de datos hay cientos de dispositivos, cada uno con su propio registro; Syslog también es útil aquí. Uno simplemente configura un servidor syslog dedicado que recopila todos los registros de dispositivos individuales a través de la red. Syslog también puede guardar registros en bases de datos y otros clientes.

Según my /etc/syslog.conf, default /var/log/kern.logcaptura solo los mensajes del núcleo de cualquier nivel de registro; es decir, la salida de dmesg.

/var/log/messagesen su lugar, apunta a almacenar mensajes valiosos, no depuradores y no críticos. Este registro debe considerarse el registro de "actividad general del sistema".

/var/log/syslog a su vez registra todo, excepto los mensajes relacionados con la autenticación.

Otros ficheros de registro de insteresting gestionados por syslog son /var/log/auth.log, /var/log/mail.log.

Con respecto a su pregunta: si solo necesita el registro de mensajes del núcleo, use kern.logo llame dmesg.

ulidtko
fuente
1
alguna referencia a sus reclamos por favor?
Goaler444
8
@ Goaler444, man syslog.conf.
ulidtko
2
Tenga en cuenta que las entradas en el búfer de anillo del núcleo (lo que lee dmesg) no entrarán en ningún archivo / var / log de forma predeterminada si fueron escritas por un proceso de espacio de usuario. Es necesario establecer $KLogPermitNonKernelFacility onen la configuración de rsyslogd si desea ver los mensajes en /var/log. Vea mi respuesta en askubuntu.com/a/490900/297973 para más detalles.
Vanessa Phipps
77
También vale la pena señalar que ubuntu ( ya que natty ) ya no usa /var/log/messagesy almacena todo en/var/log/syslog
jackbravo
1
en Ubuntu 16.04 /var/log/sysloges de hecho un superconjunto limpio /var/log/kern.logcon la advertencia de que uno tiene que tener en cuenta las diferentes estrategias de rotación. Por ejemplo, en mi sistema (configuración predeterminada sin cambios), los mensajes de hoy y de ayer se guardan en un solo archivo, /var/log/kern.logmientras que la mayoría de los mensajes de ayer syslogestán en /var/log/syslog.1.
Marcus Junius Brutus el
12
  • syslog contiene todos los mensajes excepto del tipo auth.
  • mensajes contiene solo mensajes genéricos no críticos. La categoría es info, noticeywarn
  • Para un registro completo, mira /var/log/syslogy/var/log/auth.log
  • AFAIK /var/log/kern.logcontiene mensajes del núcleo.
  • los archivos de registro son solo una convención enunciada en /etc/syslog.conf
  • leer syslog(3)para más información

Consulte esta página sobre las diferencias entre mensajes y syslog

dice /var/log/messages /var/log/syslog

Manish Sinha
fuente
1
El enlace que proporcionó está roto.
slm
44
Duplicar el comentario de la respuesta de un ulidtko: también digno de mención que Ubuntu ( desde natty ) hay usos más largos /var/log/messages, y almacena todo en/var/log/syslog
jackbravo