Estou tentando implantar um arquivo de configuração padrão para syslog-ng em vários servidores Linux. Minha infraestrutura inclui diversos serviços (Apache, Confluence, ...) com arquivos de log localizados em vários locais.
Veja o trecho do meu arquivo de configuração syslog-ng personalizado:
source s_auditd {
file("/var/log/audit/audit.log" flags(no-parse) program-override("auditd"));
};
source s_app {
file("/opt/atlassian/confluence/logs/catalina.out" flags(no-parse) program-override("confluence"));
file("/opt/atlassian/jira/logs/catalina.out" flags(no-parse) program-override("jira"));
};
Meu arquivo de configuração pode ser implantado em servidores que não hospedam o Confluence, por exemplo. Mas o syslog-ng tentará procurar o arquivo de log que declarei em minha fonte s_app de qualquer maneira e gerará erros.
Minha pergunta é simples: existe um mecanismo onde eu possa dizer ao syslog-ng para ignorar o arquivo de log ausente?
Obrigado
IMHO, você está abordando isso da maneira errada.
Em vez de uma configuração monolítica que deve incluir tudo, opte por uma configuração universal mínima, que aproveite o carregamento dinâmico de arquivos/snippets de configuração externos de um diretório drop-in:
@include "/path/to/syslog-ng.conf.d/"
Essa configuração mínima pode ser implantada em qualquer lugar e sempre funcionará, enquanto você adiciona seções de configuração syslog-ng específicas do sistema/função como arquivos drop-in, um para cada função/serviço instalado naquele servidor específico. Isso é algo que é facilmente gerenciado por qualquer solução de implantação e/ou gerenciamento de configuração empregada em seu site e também pela abordagem que a maioria das distribuições está adotando para uma infinidade de ferramentas.
Ao implantar, por exemplo, o Confluence, implante também um
/path/to/syslog-ng.conf.d/confluence.conf
com a configuração adicional específica necessária para monitorar o Confluence nesse host.Você também pode tentar usar o arquivo curinga source , AFAIK, que não gera erros se não corresponder a nenhum arquivo.
(o link aponta para a documentação do Axosyslog, que é uma distribuição syslog-ng pronta para nuvem mantida pelo criador original do syslog-ng)