2016-06-07 2 views
0

filebeat가 메시지를 필터링하지 않습니다. 아래 메시지는elasticsearch의 Filebeat가 필터링하지 않습니다.

"message": "172.31.25.199 - - [07/Jun/2016:13:07:26 +0000] \"GET /api HTTP/1.1\" 200 27 \"-\" \"ELB-HealthChecker/1.0\"", 

"ELB-HealthChecker/1.0 \"로 필터링하고 제외하고 싶습니다. 그러나 나는 그 메시지를 본다. 왜?

filebeat: 
    prospectors: 
    - 
     paths: 
     - "/tmp/api.log" 
     - "/var/log/nginx/access.log" 
     - "/var/log/nginx/error.log" 
     fields: 
     type: log 
     exclude_lines: ["^ELB-HealthChecker"] 
output: 
    logstash: 
    hosts: ["127.0.0.1:5043"] 
+1

을,'^은'시작 ... 당신의 예에서 선을 의미한다, 당신의 라인은로 시작하지 않는 ELB-HealthChecker, 어쩌면 당신은'* ELB-HealthChcker *'와 같은 것을 시도해야합니다. –

답변

0

Or Weinberger의 의견에 따르면 문제는 exclude_lines 구성에서 비롯됩니다. ^은 라인이 "ELB-HealthChecker"로 시작해야 정규 표현식과 일치하고 삭제 될 수 있음을 의미합니다. ELB-경우 HealthChecker이 라인의 중간에 있기 때문에, 당신은 같은 것을 사용한다 : 정규 표현식에서

.*ELB-HealthChecker.* 
관련 문제