侧边栏壁纸
  • 累计撰写 121 篇文章
  • 累计创建 25 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

filebeat收集Java多行日志

梁来福
2024-05-22 / 0 评论 / 0 点赞 / 10 阅读 / 2034 字
温馨提示:
本文最后更新于 2024-05-22,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

背景

Java的日志为多行日志,filebeat每读取一行都会直接收集到ES,这样一条报错日志分成很多条收集到了ES,显然不是想要的效果。

filebeat配置文件

此配置文件表示,以“[”开头一直到下一个“[”开头,这中间的所有日志内容为一行日志。

剔除ecs、log等字段,不收集到ES。

cat > /etc/filebeat/filebeat.yml << 'EOF'
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/elasticsearch/elasticsearch.log
  tags: ["ES"]
  multiline.pattern: ^\[
  multiline.negate: true
  multiline.match: after

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: true

processors:
    - drop_fields:
        fields: ["ecs","log","input"]

output.elasticsearch:
  hosts: ["172.16.49.130:9200"]
  indices:
    - index: "nginx-access-%{[agent.version]}-%{+yyyy.MM}"
      when.contains:
        fileset.name: "access"
    - index: "nginx-error-%{[agent.version]}-%{+yyyy.MM}"
      when.contains:
        fileset.name: "error"
    - index: "ES-log-%{[agent.version]}-%{+yyyy.MM}"
      when.contains:
        tags: "ES"

setup.ilm.enabled: false
setup.template.enabled: false
EOF

重启filebeat

systemctl restart filebeat
systemctl status filebeat

查看ES数据

故意改错一个ES的配置文件重启,就会产生Java错误日志。或者自己复制出来一些错误日志cat追加到ES日志中。

此时,ES中采集到的日志信息索引名称为自定义的es-log-7.9.1-2024.05

可以看到,java的多行错误日志变成了一条来存储。

Kibana查看

Kibana中添加此索引,查看java多行日志效果

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
博主关闭了所有页面的评论