Filebeat可以在管道中没有logstash的情况下将日志行输出转换为json吗?

时间:2019-06-12 07:10:47

标签: elasticsearch logging filebeat

我们的Spring Boot Web应用程序(非json)中有标准的日志行。 我们需要集中日志记录并将其作为json进行弹性搜索。

(我听说以后的版本可以做一些转换)

Filebeat可以读取日志行并将其包装为json吗?我猜它也可以附加一些元数据。无需解析日志行。

预期输出: {timestamp : "", beat: "", message: "the log line..."}

我没有可显示的代码。

3 个答案:

答案 0 :(得分:0)

filebeat 支持several outputs,包括Elastic Search

配置文件 filebeat.yml 如下所示:

# filebeat options: https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-reference-yml.html

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/../file.err.log

processors:
   - drop_fields:
      # Prevent fail of Logstash (https://www.elastic.co/guide/en/beats/libbeat/current/breaking-changes-6.3.html#custom-template-non-versioned-indices)
      fields: ["host"]
   - dissect:
      # tokenizer syntax: https://www.elastic.co/guide/en/logstash/current/plugins-filters-dissect.html.
      tokenizer: "%{} %{} [%{}] {%{}} <%{level}> %{message}"
      field: "message"
      target_prefix: "spring boot"

fields:
  log_type: spring_boot

output.elasticsearch:
  hosts: ["https://localhost:9200"]
  username: "filebeat_internal"
  password: "YOUR_PASSWORD"

答案 1 :(得分:0)

不,那不可能。

这正是Logstash构建的目的。

答案 2 :(得分:0)

好吧,似乎默认情况下会这样做。这是我在本地尝试读取日志行时的结果。它完全像我想要的那样包裹它。

CreateFileW