Filebeat将mulltiline postgres日志作为一个日志发送到filebeat,仅设置为此特定源

问题描述 投票:2回答:1

例如,我有一些sql日志:

< 2019-03-13 09:50:50.431 CET >WYRAŻENIE:  SELECT
                              SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
< 2019-03-13 09:58:50.943 CET >UWAGA:  detail: RUCH_KRADZ, 0.05, sum: 0.25, date: 2019-03-03

在kibana中,每一行都是一个单独的日志。在filebeat我有:

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /opt/tomcat/logs/*.json
    - /var/lib/psql/logs/*

我希望只有/var/lib/psql/logs/*日志应该是日期之间的一个。因此,在上面的示例中,我们应该在Kibana中有2个日志,而不是5个 - 这是行数。

filebeat
1个回答
2
投票

在filebeat配置中,您可以定义多个输入节,每个节可以有自己的选项

multiline.pattern指定要匹配的正则表达式模式,其中消息的第一行以括号开头(<

filebeat.inputs:

- type: log
  enabled: true
  paths:
    - /opt/tomcat/logs/*.json

- type: log
  enabled: true
  paths:
    - /var/lib/psql/logs/*
  multiline.pattern: '^<'
  multiline.negate: true
  multiline.match: after

点击此处查看有关Manage multiline messages的更多详情

© www.soinside.com 2019 - 2024. All rights reserved.