Logstash配置
input {
file{
path => "/home/folder/stash/data/memcached_shadowserver.csv"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
csv {
separator => ","
columns => ["CATEGORY", "DESCRIPTION", "IP", "PORT", "ASN", "TIME", "GEOIP", "FQDN", "TAGS"]
}
mutate { convert => ["CATEGORY","string"]}
mutate { convert => ["DESCRIPTION","string"]}
mutate { convert => ["IP","string"]}
mutate { convert => ["PORT","integer"]}
mutate { convert => ["ASN","integer"]}
mutate { convert => ["TIME","string"]}
mutate { convert => ["GEOIP","string"]}
mutate { convert => ["FQDN","string"]}
mutate { convert => ["TAGS","string"]}
json {
source => "TAGS"
target => "TAGS"
}
}
output {
elasticsearch {
hosts => "localhost"
index => "test4"
}
stdout {}
}
数据示例
CATEGORY,DESCRIPTION,IP,PORT,ASN,TIME,GEOIP,FQDN,TAGS
vulnerable service,misconfigured memcached servers,10.10.10.10,11211,3000,February 27th 2018 15:46:23.000,SS,,{"tag":"DDoS","tag":"reflection","tag":"amplification","tag":"attack"}
Logstash日志
[2018-03-17T00:16:44,182][WARN ][logstash.filters.csv ] Error parsing csv {:field=>"message", :source=>"vulnerable service,misconfigured memcached servers,10.10.10.10,11211,3333,February 24th 2018 13:19:12.000,SS,,{\"tag\":\"DDoS\",\"tag\":\"reflection\",\"tag\":\"amplification\",\"tag\":\"attack\"}", :exception=>#<CSV::MalformedCSVError: Illegal quoting in line 1.>}
除了重复键(我认为应该没关系)之外,JSON是有效的。然后,我检查了另一个线程Logstash does not parse json,该线程使用了基本上相同的JSON格式,并且显然起作用了。
还要在没有JSON的情况下运行我的日志,然后它才能工作,因此它必须放在某个地方?数据在Kibana中显示为消息,但没有任何内容分成字段。
有什么想法,建议吗?
谢谢
我还尝试解析一个日志文件,其中包含我以前可以使用的JSON。
CATEGORY,DESC,IP,GEOIP,ASN,TIME,PORT,DNS,TAGS
ics,Modbus protokolliga seadmed,80.235.16.222,EE,AS3249,2017-08-29T06:57:22.546423,1,kala.kalamees.ee,{"cms":"Drupal"} {"cve":"CVE-2018-0111"}
但是现在由于某种原因,这个JSON也没有被解析。其他字段已正确解析,并且可以在Kibana中进行搜索,但对于JSON而言却一无是处,即使我之前已将其与相同的Logstash配置一起使用。
这是我一直在使用的日志文件
https://github.com/jannoa/visualiseerimisplatvorm-DATA/files/1821633/test1.txt
最佳答案
也许问题与json字段中存在的"
字符default csv quote char有关。
尝试将quote_char
设置为csv中不存在的某些值。
关于json - Logstash不解析JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49330409/