Logging não funciona no Centos 7

2

longa história curta - de alguma forma eu consegui estragar o serviço rsyslogd no servidor Centos 7. Agora só aparece em / var / log / messages:

Dec 14 22:13:27 {myhostname} rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="1286" x-info="http://www.rsyslog.com"] exiting on signal 15.

Dec 14 22:13:27 {myhostname} rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="1477" x-info="http://www.rsyslog.com"] start

Outros registros (seguro, cron, etc.) também estão vazios. Reiniciar o serviço e o servidor não ajudou. As mensagens enviadas com o registrador não terminam no arquivo / var / log / messages. O serviço rsyslogd está sendo executado. O arquivo de configuração parece estar correto. Eu posso ver todos os eventos nos logs do journalctl. Já pesquisei vários posts semelhantes ao meu problema, mas nenhum deles teve a solução.

Embora a solução mais rápida seja a reinstalação do servidor, gostaria de descobrir o que causou esse problema e como resolvê-lo, caso isso aconteça no futuro. O servidor está executando uma pilha LEMP simples e a última grande mudança no sistema foi a alteração do nome do host.

    
por joshas 14.12.2015 / 21:44

4 respostas

2

Esta foi a solução, não permanente, embora:

rm -f /var/lib/rsyslog/imjournal.state

service rsyslog restart

Fonte: link

    
por 15.12.2015 / 18:51
1

Você pode tentar depurar o rsyslog para descobrir o problema que está causando um mau funcionamento.

Getting debug information from a running Instance

It is possible to obtain debugging information from a running instance, but this requires some setup. We assume that the instance runs in the background, so debug output to stdout is not desired. As such, all debug information needs to go into a log file.

To create this setup, you need to point the RSYSLOG_DEBUGLOG environment variable to a file that is accessible during the while runtime (we strongly suggest a file in the local file system!) set RSYSLOG_DEBUG at least to DebugOnDeman NoStdOut make sure these environment variables are set in the correct (distro- specifc) startup script if you do not run rsyslogd interactively

These settings enable the capability to react to SIGUSR1. The signal will toggle debug status when received. So send it one to turn debug loggin on, and send it again to turn debug logging off again. The third time it will be turned on again ... and so on.

On a typical system, you can signal rsyslogd as follows:

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

Important: there are backticks around the “cat”-command. If you use the regular quote it won’t work. The debug log will show whether debug logging has been turned on or off. There is no other indication of the status.

Passo a passo como fazer aqui: Como usar o debug on demand?

    
por 14.12.2015 / 22:40
1

Esta foi a minha solução - não muito legal e, claro, você solta todos os diários:

rm -rf /var/log/journal/*
reboot

Ainda não sei por que tudo começou, porque tudo que fiz foi uma reinicialização após cerca de seis meses de atividade.

    
por 16.09.2016 / 22:48
1

Meu rsyslogd.service se recusa a começar a mostrar

Failed to start System Logging Service.
Unit rsyslog.service entered failed state.
rsyslog.service failed.
rsyslog.service holdoff time over, scheduling restart.
start request repeated too quickly for rsyslog.service
Failed to start System Logging Service.
Unit rsyslog.service entered failed state.
rsyslog.service failed.

Eu matei o serviço para ter certeza de que ele não está sendo executado

killall rsyslogd

removeu o arquivo pid

rm /var/run/syslogd.pid

e iniciou o serviço novamente

systemctl start rsyslog.service

agora o status está ok

# systemctl status rsyslog.service
● rsyslog.service - System Logging Service
   Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2018-02-06 11:32:33 CET; 2s ago

e os arquivos de log / var / log / * estão crescendo novamente.

    
por 06.02.2018 / 11:51