logstash 未映射到索引中的值

logstash not mapping to values in indices

我有一个示例日志

2016-12-28 16:40:53.290 [debug] <0.545.0> <<"{\"user_id\”:\”79\”,\”timestamp\":\"2016-12-28T11:10:26Z\",\"operation\":\"ver3 - Requested for recommended,verified handle information\",\"data\":\"\",\"content_id\":\"\",\"channel_id\":\"\"}">>

我为此编写了一个 logstash grok 过滤器

filter{
    grok {
       match => { "message" => "%{URIHOST} %{TIME} %{SYSLOG5424SD} <%{BASE16FLOAT}.0> <<%{QS}>>"}
    }
}

http://grokdebug.herokuapp.com/ 中一切正常,值正在使用过滤器进行映射。

当我使用此过滤器将值推送到弹性搜索时,它没有被映射,并且仅在消息中我得到了整个日志。

如果我做错了什么,请告诉我。

您的 kibana 屏幕截图未加载,但我会猜测:您正在捕获模式,而不是将数据命名 到字段中。区别如下:

%{TIME}

将在您的数据中寻找该模式。调试器将显示 "TIME" 已被解析,但 logstash 不会在未被询问的情况下创建字段。

%{TIME:myTime}

将创建该字段(您可以在调试器中看到它正在运行)。

您需要对要保存的任何匹配模式执行此操作。