15-1. 로그 관리방법(구글스택드라이버, stern)

구글 구글스택드라이버

구글 스택드라이버는 GCP나 AWS에서 로깅 및 모니터링에 사용되는 매니지드 서비스이다.

https://app.google.stackdriver.com/ 으로 접속하거나 콘솔메뉴(왼쪽메뉴바)에서 모니터링을 선택하자.

그 후 Logging 탭을 선택하자.
스택드라이버에서는 로그를 Cloud HTTP 로드 밸런서나 GKE 컨테이너와 같은 카테고리 별로 나눠 볼 수 있다. 또한 컨테이너에서 JSON포맷 등으로 구조를 가진 로그를 출력한다면 jsonPayload.속성:값 형식으로 검색 결과를 좁힐 수 있다. 또한 입력 시에 가능한 속성명에 자동완성 기능을 제공해 더욱 편리하다. 이는 GKE 쿠버네티스 클러스터 노드에 배치된 fluentd-gcp리소스에서 제공한다.

개발자가 이를 관리할 필요가 없으며 컨테이너에서 로그를 json형태로 출력만 하면 로그를 확인할 수 있다. 스택드라이버는 어플리케이션 병목 검출(스택드라이버 트레이스), 어플리케이션 오류 탐지 기능(스택드라이버 에러 리포팅) 등의 기능을 제공한다. GKE에서는 필수적인 도구이다.

stern

키바나, 스택드라이버는 좋긴하지만 조금 거창한느낌이 있다. 이보다 가볍개 보는 방법으로 kubectl logs -f 파드ID라는 방법이 있지만 파드 ID를 매번 확인해야 하는것이 불편하다.

쿠버네티스 로그 열람을 돕는 도구로서 stern이 있는데 이는 레이블만 지정하면 로그확인이 가능하다.

stern -l app=echo 라는 명령어를 통해 특정 파드가 삭제되거나 다시 생성되어도 로그를 볼 수 있다.

Share