无法加载:无法将nil转换为String

时间:2015-06-03 10:10:16

标签: ruby elasticsearch logstash logstash-grok

我想仅在特定日期之后阅读日志。我的方法是删除该日期之前的所有事件。我试着这样做:

我将在2015年6月1日之前删除所有日志:

Logstash配置文件:

input {
         file{
                path => [
                         "/var/log/rsyslog/**/*.log"
                ]
        }
}

filter {

        grok {

        match => ["path", "/var/log/rsyslog/(?<server>[^/]+)/%{YEAR:year}-%{MONTHNUM:month}-%{MONTHDAY:month_day}/(?<logtype>.*).log"]

        }

        if [year] < "2015" and [month] < "6" and [month_day] < "1" {

                drop { }

        }

我的logstash.err文件继续打印:

Could not load : can't convert nil into String

知道为什么吗?

1 个答案:

答案 0 :(得分:1)

三个值中的一个 - 年,月或月_天是零。因为正则表达式与日志文件中的某些行不匹配。