【问题标题】:Understanding grok-pattern to configure LogStash for Advanced IIS log了解 grok-pattern 为高级 IIS 日志配置 LogStash
【发布时间】:2016-02-15 00:29:12
【问题描述】:

我从普通 IIS 日志切换到高级 IIS 日志,但在将日志条目正确解析到我的 Elastic Search / Kibana 设置时遇到了一些问题。

有问题的条目是 cs_cookie 条目。

该值的条目可以是这样的:

".ASPXANONYMOUS=lCoa4IyW0AEkAAAAMWQzM2Y3YTktZTE4MC00N2Q0LWFjNzEtMmQ3NzFlODk2ZDA50; DNNPersonalization=<profile><item key=""Usability:UserMode9"" type=""System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b766a5c561934e089""><string>VIEW</string></item></profile>"

所以它包含多个空格和引号。我使用了grok debugger,但找不到解决方案,请告诉我。

【问题讨论】:

  • 发布您的最佳尝试以及出了什么问题。
  • 我最好的尝试是使用 GREEDYDATA,它收集了所有内容 :) 并且我的意思是下一个日志条目...所以空格和 " 被忽略。
  • 阿兰,你能帮帮我吗?我仍然在这里。如果我无法解决这个问题,我将要从 IIS 中删除 cookie 部分:)

标签: logstash kibana logstash-grok iis-logs


【解决方案1】:

要构建图案,请从左侧开始,然后在向右移动时检查每个部分。

以 %{GREEDYDATA:remainder} 开头,这会将所有内容匹配到一个名为“remainder”的字段中。

您的示例字符串以引号开头,因此请添加:

"%{GREEDYDATA:remainder}

现在剩余部分将不再有初始报价。

下一段看起来像一个以分号结尾的键/值对,所以添加:

"%{NOTSPACE:key1}=%{NOTSPACE:value1}; %{GREEDYDATA:remainder}

查看“剩余”中剩余的内容,在较高的层次上显示另一个键/值对。您可以将其拆分出来,或者添加更详细的解析以从第二个值中获取片段。

由于您的示例实际上是两个键/值对,因此您可以使用 kv{} 过滤器进行初始拆分,然后根据需要 grok{} 这些部分。

【讨论】:

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