2017-04-21 9 views
1

Gelf 메시지는 모든 Json String의 하위 집합입니다. logbeat에 docker gelf 로그를 안정적으로 전달하기 위해 경량 솔루션으로 filebeat (또는 다른 대안)을 어떻게 사용할 수 있습니까?전달 도킹 자 GELF는 Filebeat (또는 대안?)로 Logstash에 기록합니다.

추가 정보 :

나는 (지금은 고정 표시기 떼) 클러스터가 시스템의 동일한 네트워크 실행 고정 표시기 컨테이너한다. 내가 gelf 형식을 좋아하고 docker가 각 GELF 로그 항목에 추가하는 필드를 원하기 때문에 --log-driver = gelf를 사용하고 싶습니다.

불행히도 docker는 UDP와 함께 GELF 로그를 보내고 로그 항목이 손실 될 우려가 있습니다. 패키지가 손실되었거나 logstash가 다운되었거나 logstash에 대한로드가 너무 많기 때문입니다. 헤비급이기 때문에 각 호스트에서 logstash를 실행하고 싶지 않습니다.

답변

0

GELF 앞에 Rabbitmq 또는 Redis를 놓으십시오.

집중화 된 방식으로 필터링을 분할하거나 여러 Logstash 발송인을 추가하거나 더 느린 모든 유형의 구문 분석에서 새 로그를 버퍼링 할 수 있습니다. Redis로 읽거나 대기열에서 잡아 파싱하고 ES로 보내는 경우 원본 log.conf를 두 개의 파일로 나눌 수 있습니다.