添加"键入"到我的自定义输入插件

时间:2017-01-31 15:35:57

标签: logstash logstash-grok logstash-configuration

我试图添加"输入"我可以在过滤到输入插件时用作标记的字段。 例如,我可以添加"输入"在'文件'输入插件,稍后过滤。 代码:

input {

    file {

        path => "/var/log/%{type}.%{+yyyy.MM.dd.HH}"

        type => "myType"
    }
}

filter {

    if [type] == "myType"

    ...

}

output {

    ...

}

我查看了文件输入插件的实现,并没有看到任何与" type"相关的字段。字段。

所以我试着像这样添加它:

input {

myPlugin {

    path => "/var/log/%{type}.%{+yyyy.MM.dd.HH}"

    type => "myType"
    }

}

但过滤根本不起作用。

如何添加此标记"标记" (或者不管是什么)我的插件?

1 个答案:

答案 0 :(得分:0)

type的功能是用它来过滤:

  

类型主要用于过滤器激活。

因此,除非您在过滤器下创建了一个新字段,否则您实际上无法创建新字段,如下所示:

input {    
    file {    
        path => "/var/log/%{type}.%{+yyyy.MM.dd.HH}"    
        type => "myType"
    }
}

filter {    
    if [type] == "myType"{
       add_field => { 
           "somefield" => "this is a sample" <--- this will actually create the field
       }
       add_tag => "myType" <--- this would actually create a tag for your es record if it matches the filter

    }             
}

您可以查看this,以便添加新字段和adding tags确保您的插件支持type。希望这可以帮助!