我的CSV日志的一小部分:
TAGS
contentms:Drupal;contentms.ver:7.1.8;vuln:rce;cve:CVE-2018-0111;
cve:CVE-2014-0160;vuln:Heartbleed;
contentms.ver:4.1.6;contentms:WordPress;tag:backdoor
tag:energia;
想法是我对格式
以外的键和值一无所知键:值;密钥:值;密钥:值;密钥:值;等
我只是使用logstash插件" kv"
创建一个模式kv {
source => "TAGS"
field_split => ";"
value_split => ":"
target => "TAGS"
}
我一直试图将我的数据导入Elastic for Kibana,其中一些数据通过。但是,例如,密钥contentms:
和contentms.ver:
无法读取。也可以使用键 - 在Kibana中只能搜索一个值。例如,在我的日志中使用不同的值多次在多行上看到键cve:
,但只有cve:CVE-2014-0160
和tag:
键的此值被编入vuln:
个相同的问题。
我已经看过一些类似的问题和解决方案与ruby,但任何解决方案只有kv?或稍微更改我的日志格式?
答案 0 :(得分:0)
我现在无法对其进行测试,但请注意,您有两个"内容" (一个字符串)和" contentms.ver",它可能看起来像一个嵌套字段([contentms] [ver])的弹性搜索,但是" contentms"已被定义为字符串,因此您无法在其下嵌套。
在cvs过滤器之后,尝试重命名" contentms" to" [contentms] [name]",然后将成为" [contentms] [ver]"的对等。
您需要从新索引开始创建此新映射。