Назад | Перейти на главную страницу

Условие фильтра Logstash не применяется

У меня есть nxlog на моих серверах Windows, отправляющих журналы в Logstash (в формате JSON). Я хочу клонировать события безопасности в SIEM, поэтому я добавил логику для перехвата определенных идентификаторов событий Windows:

Несмотря на то, что применяется тег «Журнал событий Windows» (через «add_tag»), «Событие безопасности Windows» никогда не добавляется, даже когда я просматриваю журналы и нахожу EventID, например 4624.

Для справки вот полный текст logstash.conf:

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}}

Изменить: вот как выглядит результат:

EventID является целым числом, но вы проверяете его при сравнении строк. Попробуйте удалить кавычки вокруг числа в блоке if.