![Logstash 过滤器条件未得到应用](https://linux22.com/image/700175/Logstash%20%E8%BF%87%E6%BB%A4%E5%99%A8%E6%9D%A1%E4%BB%B6%E6%9C%AA%E5%BE%97%E5%88%B0%E5%BA%94%E7%94%A8.png)
我的 Windows 服务器上有 nxlog,用于将日志发送到 Logstash(JSON 格式)。我想将安全事件克隆到 SIEM,因此我添加了捕获某些 Windows 事件 ID 的逻辑:
即使应用了“Windows 事件日志”标签(通过“add_tag”),也从未添加“Windows 安全事件”,即使我查看日志并找到类似 4624 的 EventID。
作为参考,这里是完整的纯文本 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}}
答案1
EventID 是一个整数,但您正在字符串比较中测试它。请尝试删除 if 块中数字周围的引号。