在Logstash

时间:2017-11-28 14:13:00

标签: logstash logstash-grok logstash-configuration

我正在尝试向Logstash添加自定义模式,以便从这种日志行中捕获数据:

[2017-11-27 12:08:22] production.INFO: {"upload duration":0.16923}

我按照Logstash guide for grok上的说明创建了一个名为patterns的目录,其中包含一个名为extra的文件,其中包含:

POSTFIX_UPLOAD_DURATION upload duration

并添加了配置文件的路径:

grok {
        patterns_dir => ["./patterns"]
        match => { "message" => "\[%{TIMESTAMP_ISO8601:timestamp}\] %{POSTFIX_UPLOAD_DURATION: upload_duration} %{DATA:log_env}\.%{LOGLEVEL:severity}: %{GREEDYDATA:log_message}" }
    }

但是,我收到此错误消息:

Pipeline aborted due to error {:exception=>#<Grok::PatternError: pattern %{POSTFIX_UPLOAD_DURATION: upload_duration} not defined>

此外,某些日志行不包含“上传持续时间”字段,这会打破管道吗?

1 个答案:

答案 0 :(得分:0)

您可以使用相对目录,只要它们相对于进程启动的当前工作目录,而不是相对于conf文件或Logstash本身。