Sou bastante novo no syslog-ng e tenho o seguinte problema.
Eu tenho um firewall Checkpoint que envia os logs para um servidor Splunk. Devido à enorme quantidade de dados enviados pelo firewall, tentei filtrar os logs indesejados. Como isso não foi possível nem no firewall nem no Splunk, agora envio os logs do firewall para um servidor syslog-ng que filtra as mensagens indesejadas e encaminha o restante dos logs para o Splunk via Splunk-forwarder. A definição de log no servidor Syslog-ng é semelhante a esta:
log { source { network(transport(tcp) port(12001) flags(no-parse)); };
analisador { analisador de ponto de verificação(); };
filtro {não corresponde("Application_Allow_all", valor("MESSAGE")); };
destino { arquivo("/var/log/syslog-ng/checkpoint.txt"); };
};
80% dos logs do firewall contêm "Application_Allow_all" , que não precisamos no servidor Splunk. Até aí tudo bem, o filtro funciona.
Agora vamos ao problema. Preciso ter no servidor Splunk os logs do firewall contendo "acesso ao servidor Web". Mas as entradas de log do firewall contendo "Webserver access" também contêm "Application_Allow_all" .
Não sei combinar dois filtros e o que encontrei na internet até agora não funciona. Eu tentei o seguinte:
filter { match("Webserver access", value("MESSAGE")); };
filtro {não corresponde("Application_Allow_all", valor("MESSAGE")); };
Com esses filtros, agora obtenho apenas os logs que contêm "acesso ao servidor Web" e nada mais. O segundo filtro parece ser ignorado. Esta é a aparência da entrada de log no servidor Splunk:
"rule_action=Accept | Rule_name=Webserver access | Rule_name=Application_Allow_all"
O que eu quero alcançar é que os logs contendo "Webserver Access" sejam encaminhados pelo syslog-ng para o servidor Splunk , enquanto todos os outros logs contendo "Application_Allow_all" são descartados.
Qualquer ideia é bem-vinda.
Início
/
user-517218