컨테이너화된 애플리케이션은 중앙화된 로깅과 모니터링이 필요합니다. container가 일시적이고 다수이기 때문에 — 로그와 메트릭이 container 제거를 견디고 전체 시스템에 걸친 가시성을 제공하도록 외부에서 수집되어야 합니다. 이것은 프로덕션 컨테이너를 위한 필수적인 관측 가능성입니다.
로깅: stdout/stderr로 로그, 중앙에서 집계
모범 사례: container는 STDOUT/STDERR로 로그해야 함(container 내부의 파일이 아니라):
→ Docker가 이것들을 캡처(`docker logs`); 로깅 DRIVER가 다른 곳으로 전달
→ 이유: container는 일시적임 — 제거된 container의 로그는 사라짐. 중앙화할 것.
로깅 드라이버 / 파이프라인이 로그를 중앙 시스템으로 전달:
→ json-file(기본), syslog, fluentd, awslogs, gelf 등(--log-driver)
→ 집계 스택: ELK/Elastic(Elasticsearch+Logstash+Kibana), Loki+Grafana,
클라우드 로깅(CloudWatch, Stackdriver), Datadog 등
→ 중앙화된 로그: 검색 가능, 영속적, 모든 container/호스트에 걸침 → 실제 가시성
