Por que esse arquivo conf rsyslog não causa recursão?

0

Estou estudando rsyslog por uma combinação de man pages, leitura on-line e experimentação. Gostaria de entender por que o seguinte não resulta em recursão infinita:

Do terminal 1:

$ cat /etc/rsyslog.d/dummy.conf 
# dummy.conf
local7.*                                  @127.0.0.1
&                                         |/tmp/foopipe

$ sudo systemctl restart rsyslog

$ cat < /tmp/foopipe

Do terminal 2:

$ logger -p local7.info "Test 111"

Após o texto acima, o texto " 2018-07-16T18:09:50.866760-07:00 localhost user: Test 111 " aparece no terminal 1. Mas apenas uma linha dele aparece; ou seja, não várias cópias e nem uma inundação infinita.

Eu ainda sou muito inexperiente com arquivos de configuração rsyslog , então estou juntando as coisas da minha compreensão rudimentar. Eu pensei que meu arquivo dummy.conf instruiria rsyslog a enviar meu local.info syslog para o pipe nomeado, bem como encaminhar o syslog para 127.0.0.1.

Supondo que o último ocorra ... Não estou bem claro o que acontece a seguir, mas imaginei que rsyslog receberia o local.info syslog do soquete UDP / TCP que ele escuta, depois aplicaria novamente o dummy.conf regras que instruiriam novamente o rsyslog a enviar o syslog para o pipe, assim como encaminhar o 127.0.0.1 ... assim, a recursão infinita.

Estou faltando alguma coisa? Ou rsyslog tem smarts embutidos para impedir uma recursão infinita deste tipo?

    
por StoneThrow 17.07.2018 / 03:28

1 resposta

1

Parece que você está correndo para esta opção :

$RepeatedMsgReduction on

Você pode ter isso ativado.

Referências

por 17.07.2018 / 04:19