¿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?

kern
fuente
¿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?

NPE
fuente
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.

Hackonteur
fuente
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)
Kenorb
fuente
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.

nhnghia
fuente
14

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

kshiteejm
fuente
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
Andy Carlson
fuente
-10

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

:/bin# busybox

también hay otros comandos relacionados con.

Niza SUGERENCIA
fuente
Esto está totalmente fuera de tema, elimínelo de las respuestas.
Jackie Yeh