我正在尝试自动化/简化查看ELK(ElasticSearch,Logstash,Kibana)中的防火墙规则的过程。 我有一些从CSV获得的数据,其结构如下:
Source;Destination;Service;Action;Comment
10.0.0.0/8 172.16.0.0/16 192.168.0.0/24 23.2.20.6;10.0.0.1 10.0.0.2 10.0.0.3;udp:53
tcp:53;accept;No.10: ID: INC0000000001
我的目标是通过解析每个字段(用于子网和/或IP地址)并在ELK中导入此数据,并在可能的情况下添加一个包含每个字段的顺序字段(IP_Source1,IP_Destination2等)。
据您所知,这可能吗?怎么样?
感谢您可能提供的任何提示
答案 0 :(得分:0)
您可以使用输入作为文件来创建logstash配置。然后使用第一个csv过滤器。 CSV过滤器应如下所示。
filter {
csv {
columns => ["source", "destination", "service", "action", "comment"]
separator => ";"
}
}
下一个过滤器将是红宝石过滤器。
filter {
ruby {
code => "
arr = event.get(source).split('')
arr.each.with_index(1) do |a, index|
event.set(ip_source+index, a)
end
"
}
}
最终将输出到elasticsearch。
我尚未测试代码。但我希望这能给您很好的提示。