>  기사  >  백엔드 개발  >  Docker 컨테이너 로그를 Elasticsearch로 가져오는 가장 좋은 방법은 무엇입니까?

Docker 컨테이너 로그를 Elasticsearch로 가져오는 가장 좋은 방법은 무엇입니까?

王林
王林앞으로
2024-02-08 22:00:39526검색

将 Docker 容器日志获取到 Elasticsearch 的最佳方式是什么?

Docker 컨테이너 로그를 Elasticsearch로 가져오는 가장 좋은 방법은 Filebeat를 사용하는 것입니다. Filebeat는 색인화 및 저장을 위해 Docker 컨테이너 로그를 Elasticsearch에 실시간으로 보낼 수 있는 경량 로그 파일 데이터 수집기입니다. Filebeat의 docker 입력 및 elasticsearch 출력을 구성하면 Docker 컨테이너 로그를 Elasticsearch로 쉽게 가져올 수 있습니다. 동시에 Filebeat는 필요에 따라 로그를 처리하고 변환할 수 있는 다양한 필터링 및 구문 분석 옵션도 제공합니다. 이 방법은 간단하고 사용하기 쉬울 뿐만 아니라 매우 효율적입니다. Docker 컨테이너 로그를 얻는 데 가장 적합한 방법입니다.

질문 내용

로깅을 많이 수행하는 컨테이너에서 실행 중인 go 애플리케이션이 있습니다.

으아악

실행 중인 서버에 SSH로 연결할 수 있으므로 출력을 docker logs -f [id] 来查看 stderr실행할 수 있으며 모든 것이 정상입니다.

하지만 이제 로그를 Elasticsearch로 이동하고 싶습니다.

가장 좋은 방법은 무엇인가요? 복잡한 방법을 많이 봤습니다.

한 가지 방법은 gelf 로깅 형식과 logstash를 사용하는 것이지만, 제가 찾을 수 있는 유일한 go gelf 포맷터는 매우 오래된 것입니다.

또는 파일에 로그인하고 filebeat를 사용하세요. 하지만 해당 파일 단계를 건너뛰고 싶지 않습니까?

해결 방법

docker를 사용하여 Fluentd를 설정해 보겠습니다.

https://www.php.cn/link/39799c18791e8d7eb29704fc5bc04ac8

https://docs.docker.com/config/containers/logging/fluent/

그런 다음 Fluidd가 Elasticsearch로 푸시하도록 하세요.

https://www.php.cn/link/e0330da43b4d33f4ef9247ad260074f4

위 내용은 Docker 컨테이너 로그를 Elasticsearch로 가져오는 가장 좋은 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제