Localização do arquivo de log com base no nome do host com syslog-ng

0

Estou usando o syslog-ng para uma grande quantidade de servidores. Para obter tudo mais em forma na estrutura de pastas, eu uso vários filtros com regex e várias linhas de destino e log no syslog-ng.conf

O que eu gostaria de realizar é deixar o syslog decidir onde colocar o arquivo de log baseado em partes do nome do host e colocá-lo em 1 filtro, com 1 destino e linha de log.

Exemplo:

fl-app-dev-01   =>   /var/log/fl/dev/app01.log
fl-app-prd-32   =>   /var/log/fl/prd/app32.log
fl-man-prd-02   =>   /var/log/fl/prd/man02.log
am-app-prd-12   =>   /var/log/am/prd/app12.log
rd-app-dev-02   =>   /var/log/rd/dev/app02.log

Como você pode ver no exemplo acima, todos os servidores estão no mesmo formato {location} - {function} - {environment} - {number}

Eu gostaria de dividi-los para o local, depois para o ambiente e ter o arquivo de log com o nome da função e o número do servidor.

    
por Marco Sysadmin 04.08.2016 / 13:42

1 resposta

0

para conseguir isso, você deve analisar o nome do host e dividi-lo em campos separados usando um analisador csv e, em seguida, usar os nomes de campos como macros no modelo de arquivo de destino. Veja o segundo exemplo aqui: Segmentação de nomes de host no syslog-ng

    
por 16.08.2016 / 08:58

Tags