ELK 여러 줄 로그 수집

버전: filebeat5.2.2
로그는 다음과 같습니다.
192.168.1.187 [10.10.2.5,192.168.2.2,192.168.3.4] [2017-03-05 00:01:00] ["POST www.test.com/Service.asmx"] [""1.0" encoding="utf-8"?>java.lang.UnsatisfiedLinkError: Native method not found: com.igexin.push.extension.mod.SecurityUtils.m:([B[B)[B
        at com.igexin.push.extension.mod.SecurityUtils.m(Native Method)
        at com.igexin.push.util.EncryptUtils.altAesDecSocket(Unknown Source)
        at com.igexin.push.d.a.c.a(Unknown Source)
        at com.igexin.push.d.a.c.b(Unknown Source)
        at com.igexin.push.d.a.c.a(Unknown Source)
        at com.igexin.push.d.a.c.b(Unknown Source)
        at com.igexin.push.d.a.c.c(Unknown Source)
        at com.igexin.a.a.b.a.a.j.a_(Unknown Source)
        at com.igexin.a.a.d.g.a(Unknown Source)
        at com.igexin.a.a.d.g.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:841)
561128android"]  ["Dalvik/1.6.0 (Linux; U; Android 4.4.4; SM-G8508S Build/KTU84P)"] ["java\.lang"]

만약 어떤 처리도 하지 않는다면, filebeat는 모든 줄의 로그를 하나의 데이터로 redis에 전송할 것입니다. 이렇게 하면elasticsearch가 데이터를 수집하면 로그를 분류할 수 없습니다.모든 것은 filebeat가 위의 이 로그를 데이터로 redis에 전송하도록 해야 합니다.
vim filebeat.yml
#=========================== Filebeat prospectors =====
filebeat.prospectors:
#------------------------------ Log prospector --------
- input_type: log
paths:
    - c:\programdata\elasticsearch\logs\*
     multiline.pattern: ^\d+\.\d+
     # “ . ” , 
multiline.negate: true
multiline.match: after
#------------------------------- Redis output --------
output.redis:
  enabled: true
  hosts: ["192.168.10.10:6379"]
  port: 6379
  key: log
  db: 2
  datatype: list
  worker: 2
   
  loadbalance: true
  logging.to_files: true
  logging.files:

좋은 웹페이지 즐겨찾기