关于efk多服务器多日志合并收集

efk简介
elasticsearch+filbeat+kibana的三个系统的简称,elasticsearch负责数据的存储,搜索;filbeat负责采集各节点的数据,kibana负责界面化的呈现。

filbeat配置
日志收集过程中会涉及到各种复杂的场景,其中最常见的用法就是多服务器,多节点的日志收集;以下为最简单的的实例:
单节点上会收集到同一个索引标识符中,如果是多节点使用同样的配置,那这时候efk怎么区分来源呢?最重要是通过index的匹配判定log.file.path判定本地的具体路径,fields.source判定数据来自哪个服务器;通过这两个关键字符,就可以合并多服务器多日志。当然这只是最简单的合并使用,还要根据具体项目需求加上通过通配符合并文件中的内容。

- type: log
  enabled: yes
  paths:
    - /DATA/web/8081/logs/error.log
    - /DATA/web/8082/logs/error.log
  tags: ["IP-web-error"]
  fields:
    source: IP-web-error


- type: log
  enabled: yes
  paths:
    - /DATA/web/8081/logs/catalina.out
    - /DATA/web/8082/logs/catalina.out
  tags: ["IP-web-catalina"]
  fields:
    source: IP-web-catalina
    output.elasticsearch:
      hosts: ["X.X.X.X:9200","X.X.X.X:9200","X.X.X.X:9200"]
      indices:
         - index: "web-catalina-%{+yyyy.MM.dd}"
           when.contains:
             fields.source: "IP-web-catalina"
         - index: "web-error-%{+yyyy.MM.dd}"
           when.contains:
             fields.source: "IP-web-error"

 

posted @ 2020-05-06 13:53  周知非  阅读(578)  评论(0编辑  收藏  举报
返回顶点