Docker 컨테이너 로그 확인 및 모니터링

KUKJIN LEE's profile picture

KUKJIN LEE3개월 전 작성

컨테이너 관리를 위해서 로그 확인과 모니터링은 필수입니다.

 

Docker 로그 확인 방법

1. docker logs 명령어 사용

Docker는 기본적으로 컨테이너의 표준 출력(stdout) 및 표준 에러(stderr) 스트림을 로그로 수집합니다. docker logs 명령어를 사용하여 특정 컨테이너의 로그를 확인할 수 있습니다.

docker logs <컨테이너_ID 또는 이름>

 

옵션을 사용하면 효과적으로 내용을 확인할 수 있습니다. 예를들어

  • -f: 실시간 로그 스트림을 표시합니다.

  • --tail: 마지막 N개의 로그 항목을 표시합니다.

docker logs -f --tail 100 <컨테이너_ID 또는 이름>

 

2. 로그 드라이버 설정

로그 드라이버는 로그를 저장하는 형식입니다.

Docker는 다양한 로그 드라이버를 지원합니다. 기본적으로 json-file 드라이버를 사용하지만, syslog, journald, awslogs 등 다양한 드라이버를 설정할 수 있습니다.

version: '3.7'
services:
  my-service:
    image: my-image
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

 

실시간 로그 모니터링

아래 내용은 별도로 포스팅 예정입니다. 이런게 있구나~ 읽어봐주시면 감사하겠습니다.

1. ELK 스택 사용

ElasticSearch, Logstash, Kibana로 구성된 ELK 스택은 로그 데이터를 수집, 분석 및 시각화하는 데 매우 유용합니다.

  1. Logstash: 로그 데이터를 수집하고 ElasticSearch로 전달합니다.

  2. ElasticSearch: 로그 데이터를 저장하고 검색합니다.

  3. Kibana: 로그 데이터를 시각화하고 분석할 수 있습니다.

 

Docker 로그 관리 팁

  1. 로그 회전 및 보관: 로그 파일이 너무 커지지 않도록 로그 회전(log rotation) 및 보관 설정을 합니다.

  2. 중앙화된 로그 관리: 여러 컨테이너의 로그를 중앙화하여 관리하면 로그 분석이 더 쉬워집니다.

  3. 알림 설정: 특정 로그 이벤트가 발생하면 알림을 받아 문제를 신속하게 대응할 수 있습니다.

 

Docker 컨테이너의 로그를 효과적으로 확인하고 모니터링하는 것은 안정적이고 효율적인 애플리케이션 운영에 필수적입니다. 소개한 방법들을 활용하면 컨테이너의 상태를 실시간으로 파악하고 문제를 신속하게 해결할 수 있습니다.

New Tech Posts