프록시 로그 레벨 수정
프록시 로그 레벨 수정 (Modifying the Proxy Log Level)
Linkerd 데이터 플레인 프록시의 로그 레벨을 동적으로 변경해 프록시 동작을 진단하는 방법을 다루는 문서예요.
본문
로그 출력은 네트워크 프록시에게 비용이 큰 작업입니다. 기본적으로 Linkerd 데이터 플레인 프록시는 예외적인 이벤트만 기록하도록 구성되어 있어요. 하지만 때로는 프록시 동작을 진단하기 위해 로그의 상세도를 높이는 것이 유용할 때가 있습니다. 다행히도 Linkerd는 이런 로그를 동적으로 수정할 수 있게 해줍니다.
Note
프록시의 debug 로깅은 별도로 구성되는 HTTP access log와는 다릅니다. Linkerd 프록시가 HTTP access log를 출력하도록 구성하는 방법은 access logging 활성화 문서를 참고하세요.
Linkerd 프록시의 로그 레벨은 admin-port의 프록시 /proxy-log-level 엔드포인트를 사용해 즉석에서(실행 중에) 수정할 수 있습니다.
예를 들어 파드의 프록시 로그 레벨을 debug로 바꾸려면 다음을 실행하세요(${POD:?}를 바꾸거나 파드 이름으로 환경변수 POD를 설정):
`kubectl port-forward ${POD:?} linkerd-admin
curl -v --data 'linkerd=debug' -X PUT localhost:4191/proxy-log-level
`
여기서 linkerd-admin은 주입된 sidecar-proxy의 admin-port(기본값 4191) 이름입니다.
결과 로그는 kubectl logs ${POD:?}로 볼 수 있습니다.
프록시 로그 레벨 변경을 파드 수명 이후에도 유지하려면 파드 템플릿에 config.linkerd.io/proxy-log-level annotation을 추가하세요(다른 옵션은 reference 문서 참고).
프록시 로그 레벨의 문법은 proxy log level reference에서 확인할 수 있습니다.
로깅은 프록시 처리량에 눈에 띄는 부정적인 영향을 미칩니다. 파드가 계속 프로덕션 트래픽을 서빙한다면, 작업이 끝나면 로그 레벨을 되돌리는 것이 좋아요.
더 알아보기 (Learn more)
- 프록시 로그 레벨 문법 참조
- HTTP access log 활성화 방법