如何在logstash配置中分配变量



我正试图从logstash处理的事件中获取主机名,如果事件符合条件,我希望将主机名发送到另一个文件。但与此同时,应该将事件发送到弹性搜索输出。

我的想法是,如果满足"if"条件,则将主机名分配给变量,并将变量值发送到文件。

使用logstash可以做到这一点吗?

谨致问候,Gaurav

是的,您想要的东西可以在Logstash中找到。Logstash网站有配置格式的文档,以及所有可用的插件,可以在http://logstash.net/docs/1.4.0/.您可能希望使用grok过滤器来提取主机名,并使用文件输出来写入数据。

这里有一个confg示例,它可以实现您想要的功能:

 input {
     #some input
 } 
 filters { 
     grok {
         match => ["message", "%{HOSTNAME:host} rest of message line" ]
         add_tag => ["has_hostname"]
     }
 }
 output {
    elasticsearch {}
    if "has_hostname" in [tags] {
        file {
            message_format => "%{host}"
            path => "path/to/file"
        }
    }
 }

grok模式需要更改以匹配您的数据,logstash文档包括一个链接,即您可以使用的默认模式集。

相关内容

  • 没有找到相关文章

最新更新