¿Cómo verificar syslog en Bash en Linux?


86

En C registramos de esta manera:

syslog( LOG_INFO, "proxying %s", url );

En Linux, ¿cómo podemos comprobar el registro?


¿No syslog escribe la función en el registro del sistema? (A menos que esté hablando del nivel inferior para acceder al búfer de anillo de mensajes del kernel, pero dudo que urlsea ​​un int.)
Cascabel

2
esta Q debería ser migrada a unix.SE.com, no estoy seguro de si vale la pena marcar para llamar la atención del mod (lo señalé).
Alexander Malakhov

Respuestas:


128

¿Qué tal less /var/log/syslog?


1
@kern: ¿Qué distribución y versión de Linux estás usando?
NPE

6
@kern: Consulte el contenido de su/etc/syslog.conf
NPE

25
tail -f /var/log/sysloges realmente bueno porque muestra la salida más reciente a medida que ingresa al registro del sistema. Puede ser útil si está intentando solucionar un problema en vivo, en lugar de mirar algo que está estrictamente en el pasado.
counterbeing

16
en realidad es /etc/rsyslog.conf para CentOs
Roman Goyenko

1
@ArunprasadRajkumar La otra forma sería evitar el registro de mensajes destinados a ser leídos por usuarios normales en syslog
Dmitry Grigoryev

41

En Fedora 19, parece que la respuesta es /var/log/messages. Aunque compruebe /etc/rsyslog.confsi se ha modificado.


Lo revisé en openSUSE y noté que también se aplica a él. ¡Gracias por compartir!
silvioprog

23

De forma predeterminada, se registra en el registro del sistema en /var/log/syslog, por lo que puede leerlo:

tail -f /var/log/syslog

Si el archivo no existe, verifique el /etc/syslog.confarchivo de configuración de syslogd. Tenga en cuenta que el archivo de configuración podría ser diferente, así que verifique el proceso en ejecución si usa un archivo diferente:

# ps wuax | grep syslog
root      /sbin/syslogd -f /etc/syslog-knoppix.conf

Nota: En algunas distribuciones (como Knoppix), todos los mensajes registrados pueden enviarse a diferentes terminales (p /dev/tty12. Ej. ), Así que para acceder, p. Ej., tty12Intente presionar Control+ Alt+ F12.

También puede utilizar la lsofherramienta para averiguar qué archivo de registro syslogdestá utilizando el proceso, por ejemplo

sudo lsof -p $(pgrep syslog) | grep log$ 

Para enviar el mensaje de prueba a syslogd en shell, puede intentar:

echo test | logger

Para solucionar problemas, use una herramienta de rastreo ( straceen Linux, dtrussen Unix), por ejemplo:

sudo strace -fp $(cat /var/run/syslogd.pid)

22

Una utilidad muy interesante es journalctl.

Por ejemplo, para mostrar syslog a la consola:, journalctl -t <syslog-ident>donde <syslog-ident>está la identidad que le dio a la función openlogpara inicializar syslog.


14

tail -f /var/log/syslog | grep process_name donde process_nameesta el nombre del proceso que nos interesa


2

Si le gusta Vim, tiene un resaltado de sintaxis incorporado para el archivo syslog, por ejemplo, resaltará los mensajes de error en rojo.

vi +'syntax on' /var/log/syslog

-10

en el enrutador Asus se puede hacer a través de

:/bin# busybox

también hay otros comandos relacionados con.


Esto está totalmente fuera de tema, elimínelo de las respuestas.
Jackie Yeh
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.