firewall,info input: in:pppoe-out2 out:(unknown 0), src-mac da:86:8e:97:00:36, proto UDP, 119.36.48.16:23548->119.122.115.56:43030, len 77 使用logstash+grok提取里面的所有ip和端口
时间: 2023-07-16 10:13:59 浏览: 232
Web-based Firewall Log Analyzer:防火墙日志分析器-开源
假设你的日志已经被 Logstash 收集并发送到了 Elasticsearch 中,下面是一个示例的 Logstash 配置文件,将 Logstash 中的 `message` 字段按照 grok 模板进行解析,并将解析结果存储到 Elasticsearch 中:
```conf
input {
beats {
port => 5044
}
}
filter {
grok {
match => {
"message" => "%{WORD:direction}:%{SPACE}in:%{WORD:input_interface}-%{WORD:output_interface}%{SPACE}out:%{GREEDYDATA:unknown},%{SPACE}src-mac%{SPACE}%{WORD:src_mac},%{SPACE}proto%{SPACE}%{WORD:protocol},%{SPACE}%{IPORHOST:src_ip}:%{NUMBER:src_port}->%{IPORHOST:dest_ip}:%{NUMBER:dest_port},%{SPACE}len%{SPACE}%{NUMBER:len}"
}
}
}
output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "firewall-%{+YYYY.MM.dd}"
}
}
```
上述配置中,我们用 `beats` 输入插件接收 Beats 协议发送的数据,然后使用 `grok` 过滤器解析 `message` 字段。在 grok 模板中,我们使用了多个 grok 模式来匹配不同的字段,例如 `%{WORD:direction}` 会匹配 `in` 或 `out`,并将匹配结果存储到 `direction` 字段中。
最后,我们将解析结果存储到 Elasticsearch 中,其中 `hosts` 参数指定了 Elasticsearch 的地址,`index` 参数则按照日期将数据存储到不同的索引中。在 Elasticsearch 中,你可以使用 Kibana 或其他工具来查询和可视化这些数据。
阅读全文