Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用ruby在logstash过滤器下添加新字段?_Ruby_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Logstash_Logstash File - Fatal编程技术网 elasticsearch,logstash,logstash-file,Ruby,elasticsearch,Logstash,Logstash File" /> elasticsearch,logstash,logstash-file,Ruby,elasticsearch,Logstash,Logstash File" />

如何使用ruby在logstash过滤器下添加新字段?

如何使用ruby在logstash过滤器下添加新字段?,ruby,elasticsearch,logstash,logstash-file,Ruby,elasticsearch,Logstash,Logstash File,我需要关于如何通过ruby在过滤器下添加新字段并最终将其输出到文件的帮助。 有人能给我建议吗?多谢各位 input { file { type => "syslog" path => "/opt/logstash/log/dns.log" start_position => beginning sincedb_path => "/dev/null" } } filter { ruby {

我需要关于如何通过ruby在过滤器下添加新字段并最终将其输出到文件的帮助。 有人能给我建议吗?多谢各位

input {
  file {
    type => "syslog"

    path => "/opt/logstash/log/dns.log"
    start_position => beginning
    sincedb_path => "/dev/null"             
  }

}

filter {
    ruby {
    code => "
        if event['type'] == 'syslog' 
            event['newfield'] = 'NewInfoCreated'
        end 
        "
    }
}

output {
       file {
           path => "/opt/logstash/testing.txt"
          codec => line { format => "custom format: %{message}"}
       }
}
dns.log
的输入如下:

<blink>
{"ts":"2016-10 24T02:01:28.334052Z","uid":"CILq5k2MLCUYeBZJgd","id.orig_h":"10.17.103.224","id. orig_p":53362,"id.resp_h":"172.18.24.115"} 
</blink>

{“ts”:“2016-10 24T02:01:28.334052Z”,“uid”:“CILq5k2MLCUYeBZJgd”,“id.orig_h”:“10.17.103.224”,“id.orig_p”:53362,“id.resp_h”:“172.18.24.115”}

运行该代码时会发生什么?还有,为什么不使用mutate->add_field?@Alain Collins,我想覆盖ruby下某个字段下的一些值。为什么是鲁比?这是因为我调用redis服务器并返回一个值。谢谢,运行代码时会发生什么?还有,为什么不使用mutate->add_field?@Alain Collins,我想覆盖ruby下某个字段下的一些值。为什么是鲁比?这是因为我调用redis服务器并返回一个值。非常感谢。