2014-04-11 36 views
1

我正在尝试从logstash进程的事件中获取主机名,并且如果事件符合条件,我希望将主机名发送到另一个文件。但同时该事件应发送给elasticsearch输出。如何在logstash配置中分配一个变量?

想法是将主机名称分配给变量,并将变量值发送到文件,如果满足“if”条件。

这可能与logstash?

问候, 拉夫

回答

3

是的,你想要的是更多钞票Logstash。 Logstash网站提供了配置格式的文档,以及所有可用的插件,可在http://logstash.net/docs/1.4.0/找到。您可能希望使用grok filter来提取主机名,并使用file output来写入数据。

下面是一个例子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" 
     } 
    } 
} 

的神交模式将需要进行修改,以符合您的数据时,logstash文档包含一个链接的默认模式设置,您可以使用。