【问题标题】:ELK Filebeat NLog logs processingELK Filebeat NLog 日志处理
【发布时间】:2021-11-22 05:57:27
【问题描述】:

我根据this 问题做了配置,但还是不行。

日志字符串:

2021-11-19 23:55:45.1605|INFO|Microsoft.Hosting.Lifetime|Now listening on: http://0.0.0.0:7007

filebeat.yml:

processors:
  - add_host_metadata: ~
  - dissect:
     tokenizer: "%{} %{}|{%{level}|%{module}|%{msg}"
     field: "message"
     target_prefix: ""

在 kibana 中,我看到标记器不起作用:

我做错了什么?

更新 21.11.2021 #1

使用sidharth vijayakumar 示例:

processors:
  - add_host_metadata:
     host: "unix:///host_docker/docker.sock"
  - dissect:
     tokenizer: "%{TIMESTAMP_ISO8601:time}\|%{LOGLEVEL:level}\|%{GREEDYDATA:module}\|%{GREEDYDATA:msg}"
     field: "message"
     target_prefix: ""

但我从 filebeat 收到异常:

Exiting: error loading config file: yaml: line 11: found unknown escape character

【问题讨论】:

  • 这里有详细的解释:stackoverflow.com/questions/34513913/…
  • \ 基本上用于转义序列,但有时您需要同时使用两个 \\。试试这个并检查它是否有效:"%{TIMESTAMP_ISO8601:time}\\|%{LOGLEVEL:level}\\|%{GREEDYDATA:module}\\|%{GREEDYDATA:msg}"

标签: filebeat elk


【解决方案1】:

嘿,你能试试这个 grok 模式吗?

%{TIMESTAMP_ISO8601:time}\|%{LOGLEVEL:level}\|%{GREEDYDATA:module}\|%{GREEDYDATA:msg}

您将获取条目作为弹性堆栈中的字段。我认为您正面临问题,因为您的 grok 模式不匹配。请尝试告诉我。

【讨论】:

    【解决方案2】:

    我不知道我做了什么,但这种模式有效:

    %{service:time}|%{service:level}|%{service:module}|%{service:msg}
    

    【讨论】:

    • 太好了,如果问题解决了。
    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 2018-04-29
    • 1970-01-01
    • 2018-09-18
    • 2021-04-02
    • 2018-12-20
    • 1970-01-01
    • 2016-12-14
    • 2018-07-02
    相关资源
    最近更新 更多