Como verificar o syslog no Bash no Linux?


86

Em C, registramos desta forma:

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

No Linux, como podemos verificar o log?


A função não syslog grava no log do sistema? (A menos que você esteja falando sobre o de nível inferior para acessar o buffer de anel de mensagem do kernel, mas duvido que urlseja um int.)
Cascabel

2
este Q deve ser migrado para unix.SE.com, não tenho certeza se vale a pena sinalizar para a atenção do mod (eu sinalizei).
Alexander Malakhov

Respostas:


128

Que tal less /var/log/syslog?


1
@kern: Qual distribuição e versão do Linux você está usando?
NPE de

6
@kern: Verifique o conteúdo do seu/etc/syslog.conf
NPE de

25
tail -f /var/log/syslogé muito bom porque mostra a saída mais recente conforme vai para o syslog. Pode ser útil se você estiver tentando solucionar um problema ao vivo, em vez de olhar para algo que está estritamente no passado.
contraparte de

16
na verdade é /etc/rsyslog.conf para CentOs
Roman Goyenko

1
@ArunprasadRajkumar A outra maneira seria evitar o registro de mensagens destinadas a serem lidas por usuários normais no syslog
Dmitry Grigoryev

41

No Fedora 19, parece que a resposta é /var/log/messages. Embora verifique /etc/rsyslog.confse ele foi alterado.


Eu verifiquei no openSUSE e percebi que também se aplica a ele. Obrigado por compartilhar!
silvioprog 01 de

23

Por padrão, ele está conectado ao log do sistema em /var/log/syslog, portanto, pode ser lido por:

tail -f /var/log/syslog

Se o arquivo não existir, verifique o /etc/syslog.confarquivo de configuração do syslogd. Observe que o arquivo de configuração pode ser diferente, portanto, verifique o processo em execução se estiver usando um arquivo diferente:

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

Nota: Em algumas distribuições (como Knoppix) todas as mensagens registradas podem ser enviadas para um terminal diferente (por exemplo /dev/tty12), para acessar, por exemplo, tty12tente pressionar Control+ Alt+ F12.

Você também pode usar a lsofferramenta para descobrir qual arquivo de log o syslogdprocesso está usando, por exemplo

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

Para enviar a mensagem de teste para syslogd no shell, você pode tentar:

echo test | logger

Para solucionar problemas, use uma ferramenta de rastreamento ( straceno Linux, dtrussno Unix), por exemplo:

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

22

Um utilitário muito legal é journalctl.

Por exemplo, para mostrar o syslog ao console:, journalctl -t <syslog-ident>onde <syslog-ident>é a identidade que você forneceu para a função openlogde inicialização do syslog.


14

tail -f /var/log/syslog | grep process_name onde process_nameestá o nome do processo no qual estamos interessados


2

Se você gosta do Vim, ele tem realce de sintaxe embutido para o arquivo syslog, por exemplo, ele realça as mensagens de erro em vermelho.

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

-10

no roteador Asus, isso pode ser feito via

:/bin# busybox

também existem outros comandos relacionados a.


Isso está totalmente fora do tópico, remova-o das respostas.
Jackie Yeh
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.