rsyslog não está escrevendo o arquivo de log após o reinício

2

Em primeiro lugar, obrigado por gastar o tempo para dar uma olhada nesta questão, é muito apreciado.

Eu tive a configuração rsyslog.conf anexada em execução por algum tempo até hoje, quando precisei reiniciar o rsyslog quando um disco estava ficando cheio. O resultado é que o rsyslog está agora registrando em um novo local (atualizado no arquivo .conf) com todas as permissões anteriores (atualmente root | root rw para testar com segurança).

O problema que estou enfrentando é que não importa o que eu tente, o rsyslog não exibe um arquivo. Eu executei um tcpdump e ainda estou recebendo dados. Os critérios de correspondência (endereço IP do host) não devem ter alterações e a configuração também não mudou.

Qualquer ajuda, particularmente comandos de depuração que eu possa executar, seria muito apreciada. Eu prefiro aprender algo novo (como o rsyslog) do que desinstalá-lo e apenas usar o syslog-ng ... Aqui está a configuração:

    ### Modules
$ModLoad imtcp
$ModLoad imudp
$ModLoad imuxsock       # provides support for local system logging (e.g. via logger command)
$ModLoad imklog         # provides kernel logging support (previously done by rklogd)

### Set log file permissions
$FileOwner root
$FileGroup root
$FileCreateMode 0777
$DirCreateMode 0777
$Umask 0022
$PrivDropToUser root
$PrivDropToGroup root

### Listeners
# bind ruleset to tcp listener
$InputTCPServerBindRuleset remote
# and activate it:
$InputTCPServerRun 514

$InputUDPServerBindRuleset remote
$UDPServerRun 514

### Templates
#Format the message correctly
$template MsgFormat,"%msg%\n"

# log every host in its own directory

##$template TESTLOG,"/opt/rsyslog/var/log/test.log"

### Rulesets
# Local Logging
# N/A None required at this point in time
#
# Remote Logging
$RuleSet remote

#---MY MATCHING RULE---#

if ($fromhost-ip == "192.168.1.1") then ?TESTLOG

Obrigado em avançado:)

    
por skittles 04.05.2015 / 10:39

1 resposta

3

Você está usando um caminho personalizado para o seu arquivo de log, por isso o selinux está bloqueando você. Tente emitir setenforce 0 e reiniciar o rsyslog. Se agora funcionar, confirma-se que o seu problema foi selinux.

Para corrigir permanentemente que, embora continue usando o selinux, você precisa emitir

semanage fcontext -a -t var_log_t '/opt/rsyslog(/.*)?'; restorecon -RF /opt/rsyslog

Depois disso, reinicie o rsyslog.

    
por 04.05.2015 / 10:59