Eu tenho um programa que gera para syslog com uma determinada tag / nome do programa. Eu gostaria de poder filtrar o tráfego syslog desse programa e enviá-lo para um servidor syslog remoto, deixando todo o restante tráfego syslog local.
Posso enviar todo o tráfego para o servidor remoto com
*.* @remote_server
Como faço para filtrar?
Respostas:
Os arquivos de configuração do Rsyslog estão localizados em:
/etc/rsyslog.d/*.conf
O Rsyslog lê os arquivos conf sequencialmente, por isso é importante que você nomeie seu arquivo de configuração para que a configuração específica seja carregada antes que qualquer outra coisa aconteça. Então, nomeie seu arquivo começando com zeros à esquerda, ou seja
00-my-file.conf
. É melhor criar um novo arquivo para que as atualizações e assim por diante não substituam sua configuração local.Exemplo:
Ou se você apenas deseja descartar determinadas entradas:
No seu caso: (UDP)
Ou (TCP)
Os
& ~
meios para interromper o processamento de entradas correspondentes (somente linha anterior!).Algumas informações mais gerais:
Além disso, sempre verifique se os filtros estão na mesma linha:
Filtros úteis:
Operadores:
Mais informações: http://wiki.rsyslog.com/index.php/Configuration_Samples
fonte
Também podemos tentar isso. Está funcionando bem para mim.
NOTA: aqui a
testing_docker
propriedade da pasta deve ser dada ao usuário do syslog. Siga o comando abaixo para definir permissões.fonte