2017-01-25 6 views
0

필자는 filebeat를 통해 서버에있는 사용자 정의 로그를 가져 오려고 시도하고 내 ELK 스택에서 사용하기 위해 logstash로 보냅니다.filebeat 로그인의 document_type을 설정하면 파일 다시 시작이 중지됩니다.

올바르게 작동하도록 설정했는데 현재 정상적으로 작동합니다.

그러나이 특정 로그에 대한 로그 대시 필터를 추가하고자하므로이 로그에 대해 document_type 필드를 추가하여 logstash에서 필터를 기반으로 필터링 할 수 있습니다. 내가 myservice에 대한 로그에 document_type: myservice을 추가 한

filebeat.prospectors: 
- input_type: log 
    paths: 
    - /var/log/apache2/access.log 
    document_type: apache-access 

- input_type: log 
    paths: 
    - /var/www/webapp/storage/logs/laravel.log 

- input_type: log 
    paths: 
    - /opt/myservice/server/server.log 
    document_type: myservice 

, 나는 일 때문에 문서 here에 따라 믿습니다 :

그래서 같이 이런 짓을했는지. 또한 아파치 액세스 로그를 위해했던 것처럼 똑같이 수행됩니다.

그러나 filebeat를 다시 시작하면 다시 시작되지 않습니다. 나는 filebeat에 대한 로그를 보았습니다. 그러나 왜 시작되지 않는지에 대해서는 아무것도 보이지 않습니다.

내가 #document_type: myservice과 같이 document_type: myservice을 주석 처리 한 다음 filebeat를 다시 시작하면 올바르게 부팅됩니다. 즉, 해당 행과 관련이 있어야합니다.

질문 :

은 내가 잘못 여기서 뭔가를하고 있습니까?

if [type] == "myservice"을 사용하는 것 이외의 다른 방법으로이 로그에만 로그 태그 필터를 적용 할 수 있습니까?

답변

1

document_type을 사용하면 Logstash에서 조건부를 적용하는 좋은 방법입니다. 또 다른 방법은 Filebeat에 tags 또는 fields을 적용하는 것입니다.

구성에 문제가있어서 추가 한 document_type: myservice의 들여 쓰기가 있습니다. 들여 쓰기가 document_type: apache-access과 다른 점에 유의하십시오. document_type 필드는 모두 광구 옵션이므로 pathsinput_type과 동일한 레벨이어야합니다.

filebeat.sh -c /etc/filebeat/filebeat.yml -e -configtest으로 구성 파일을 테스트 할 수 있습니다.

올바른 YAML인지 확인하기 위해 http://www.yamllint.com과 같은 도구를 통해 구성을 실행할 수도 있습니다.

+0

절대 수명 보호기. – James