【问题标题】:how to get properly grok pattern for line without spaces如何为没有空格的行获得正确的 grok 模式
【发布时间】:2020-11-27 11:12:59
【问题描述】:

如何正确获取日志格式的 grok 模式,如下所示:

我尝试使用 %{NOTSPACE} 但它需要整行。

<firstname>John</firstname><lastname>Adams</lastname><issuedBy>USA</issuedBy>

JSON 必须是这样的。

{
  "firstname": "John",
  "lastname": "Adams",
  "issuedBy": "USA",
}

【问题讨论】:

  • 如果您使用的是 logstash,那么我建议您使用 xml filter plugin 而不是创建复杂的 grok 模式。
  • 似乎 xml 插件不起作用,因为 xml 格式取自“*.log”文件而不是 xml。
  • 还有这个文件日志记录 java 跟踪...

标签: elasticsearch logstash-grok grok


【解决方案1】:

您可以使用下一个 Grok 模式:

<firstname>%{WORD:firstname}</firstname><lastname>%{WORD:lastname}</lastname><issuedBy>%{WORD:issuedBy}</issuedBy>

您在问题中使用的行输出示例:

  "firstname": "John",
  "issuedBy": "USA",
  "lastname": "Adams"

如果您想要更复杂但更可靠的东西,您可以随时使用本问题前面提到的 XML 过滤器插件。

请记住,仅当数据始终按照您发布的行进行格式化时,使用上述 Grok 过滤器才有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 2020-07-26
    • 1970-01-01
    • 2012-06-19
    • 2020-11-06
    相关资源
    最近更新 更多