Filtro de logstash condicional não sendo aplicado

1

Eu tenho o nxlog em meus servidores do Windows enviando logs para o Logstash (formato JSON). Eu quero clonar os eventos de segurança para um SIEM, então eu adicionei a lógica para pegar certos IDs de evento do Windows:

Mesmoqueatag"Windows Event Log" seja aplicada (via "add_tag"), o "Evento de Segurança do Windows" nunca é adicionado, mesmo quando reviso os logs e localizo um EventID como 4624.

Para referência, aqui está o logstash.conf de texto simples:

input {tcp{port=>1514}}
filter {
        if "im_msvistalog" in [message] {
                json {source => "message"}
                mutate {add_tag => "Windows Event Log"}
                if [EventID]=="4688" or [EventID]=="592" or [EventID]=="4624" or [EventID]=="528" or [EventID]=="540" or [EventID]=="5140" or [EventID]=="560" or [EventID]==5156 or [EventID]=="7045" or [EventID]=="601" or [EventID]=="4663" or [EventID]=="567" { 
                        mutate {add_tag => "Windows Security Event"}
                }
        }
}
output {stdout{codec=>rubydebug}}

Editar: veja como é a saída:

    
por armani 07.03.2017 / 19:32

1 resposta

2

O EventID é um inteiro, mas você está testando-o em uma comparação de string. Tente remover as aspas em torno do número no seu bloco if.

    
por 07.03.2017 / 21:56