【问题标题】:Logstash grok pattern field not appearing in KibanaLogstash grok 模式字段未出现在 Kibana 中
【发布时间】:2015-06-19 14:25:03
【问题描述】:

我最近一直在研究 ELK 作为一种潜在的日志记录/监控解决方案。我已经设置并工作了堆栈,并且开始通过 grok 过滤日志。

是否可以让 grok 模式的特定部分在 Kibana 中显示为字段?

例如,采用以下模式:

SAMSLOG %{HOUR}:%{MINUTE}:%{SECOND} \[%{USERNAME:user}\] - %{JAVALOGMESSAGE}

我希望(并且根据我的阅读内容)“用户”应该成为 Kibana 中的一个可用字段,我可以搜索/过滤结果?我是完全误解了还是我错过了链条中的一个重要环节?

完整的 Grok 模式:

multiline {
      patterns_dir => "/home/samuel/logstash/grok.patterns"
      pattern => "(^%{SAMSLOG})"
      negate => true
      what => "previous"
    }

谢谢你, 山姆

【问题讨论】:

  • 提供您的日志样本

标签: elasticsearch logstash kibana kibana-4 logstash-grok


【解决方案1】:

是的,logstash 的全部“魔力”在于获取非结构化数据并从中生成结构化字段。所以,你的基本前提是正确的。

您缺少的是 multiline{} 是一个过滤器,用于将多个输入行组合成一个事件;这基本上就是它所做的一切。此处的“模式”字段用于标识何时应开始新行。

要从事件中创建字段,您需要使用 grok{} 过滤器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多