我想解析一个类似的JSON文件
{
"Format": "IDEA0",
"ID": "2b03eb1f-fc4c-4f67-94e5-31c9fb32dccc",
"DetectTime": "2022-01-31T08:16:12.600470+07:00",
"EventTime": "2022-01-31T01:23:01.637438+00:00",
"Category": ['Intrusion.Botnet'],
"Confidence": 0.03,
"Note": "C&C channel, destination IP: 192.168.1.24 port: 8007/tcp score: 0.9324",
"Source": [{'IP4': ['192.168.1.25'], 'Type': ['CC']}]
}
使用此Logstash Conf
input {
file {
path => "/home/ubuntu/Downloads/StratosphereLinuxIPS/output/*.json"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "test-test"
user => "***"
password => "***"
}
stdout{}
}
但是我无法在Kibana中获得正确的输出,JSON没有正确地分离
Kibana输出
有人能帮我吗?有什么帮助吗?我很感激
谢谢!阿达比
问题不在于JSON过滤器,而是您的输入插件:file
有一个默认为n
的delimiter
参数,因此文件中的一行将生成一个文档。您可以更改delimiter
(可能更改为},n
,但取决于您如何编写文件(或使用多行编解码器插件(这里有一些智慧(,或者(甚至更好(在一行上编写一个JSON。