Como obtenho informações de depuração do rsyslog?

Como obtenho informações de depuração do rsyslog?

Segui as instruções de: http://www.rsyslog.com/doc/debug.html

Coloquei o seguinte /etc/rsyslog.conf:

$DebugLevel 2
$DebugFile /root/RSYSLOG.txt

então eu tento:

kill -USR1 `cat /var/run/syslogd.pid`
kill -USR2 `cat /var/run/syslogd.pid`

Parece que não há um arquivo rsyslogd.conf.

Eu verifico o RSYSLOG.txt, ele permanece com 0 bytes de tamanho. Eu não sei mais o que fazer.

Responder1

Este artigo deve mostrar como funciona a função "depuração sob demanda" no rsyslog. Ele foi testado e verificado com rsyslog 6.1.0 (v6-Devel) no Fedora 13 (as etapas podem variar em diferentes sistemas operacionais). Presume-se que o rsyslog já esteja funcionando no sistema. Para notas sobre instalação e configuração, consulte a documentação. O Debug on Demand está disponível desde a versão 4.5.7.

Para que esta opção funcione, precisamos primeiro ativá-la. Isso é feito ativando-o e especificando um caminho para o arquivo de log de depuração. Abra um terminal com direitos de root e use os seguintes comandos:

export RSYSLOG_DEBUG="DebugOnDemand NoStdOut"
export RSYSLOG_DEBUGLOG=/somepath/example.log

A primeira opção permite a própria "depuração sob demanda" sem saída padrão. Isso é necessário para desativá-lo ao iniciar o serviço. A segunda opção especifica o caminho e o nome do arquivo de log.

Agora temos que parar o serviço rsyslog, antes de estarmos prontos. Use o seguinte comando:

/etc/rc.d/init.d/rsyslog stop

Agora paramos o serviço e precisamos iniciá-lo novamente. Na configuração atual, precisamos iniciar o rsyslog como um aplicativo em primeiro plano. Por ser muito mais simples configurá-lo dessa forma, o rsyslog precisa ser um aplicativo em primeiro plano para que a "depuração sob demanda" funcione, em vez de um serviço em segundo plano. Inicie-o novamente como aplicativo em primeiro plano com o seguinte comando:

rsyslogd -n

Abra um segundo terminal (novamente com root) para que possamos ativar ou desativar a "depuração sob demanda". Use este comando:

kill -USR1 `cat /var/run/rsyslogd.pid`

Usar este comando uma vez ativará o modo de depuração. Usá-lo novamente irá desativá-lo. Observe que você definitivamente precisa de "-USR1", caso contrário o rsyslog será realmente eliminado. Além disso, certifique-se de usar os crases. Eles são importantes.

Basicamente é isso. Agora você pode revisar seus arquivos de log de "depuração sob demanda".

Responder2

Tentei usar o método de depuração acima no rsyslog.confarquivo, mas recebi erros nos logs sobre $DebugFileetc.

Minha solução foi seguir o processo detalhado para depuração sob demandaaqui.

É um pouco prolixo, mas pelo menos funcionou.

informação relacionada