Logstash插件kv - 没有读入Elastic的键和值

时间:2018-01-11 16:19:34

标签: elasticsearch logstash

我的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-0160tag:键的此值被编入vuln:个相同的问题。

我已经看过一些类似的问题和解决方案与ruby,但任何解决方案只有kv?或稍微更改我的日志格式?

1 个答案:

答案 0 :(得分:0)

我现在无法对其进行测试,但请注意,您有两个"内容" (一个字符串)和" contentms.ver",它可能看起来像一个嵌套字段([contentms] [ver])的弹性搜索,但是" contentms"已被定义为字符串,因此您无法在其下嵌套。

在cvs过滤器之后,尝试重命名" contentms" to" [contentms] [name]",然后将成为" [contentms] [ver]"的对等。

您需要从新索引开始创建此新映射。