개발자

[쿠버네티스] 로그 관련

2024년 07월 17일조회 62

애플리케이션이 STDOUT 및 STDERR 대신 파일에 직접 로그를 작성하는 경우 /var/log/containers/에 로그가 남지 않게됩니다. 애플리케이션이 100개이상이라고 가정할 때 파일에 직접 로그를 작성한 경우를 빠르게 찾는 명령어나 알 수 있는 방법 더 나아가 promtail에서 어떻게 설정해야 파일에 직접 로그를 작성한 경우도 수집하는지 알려주세요

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 2

smplnote님의 프로필 사진

k8s는 컨테이너 내부의 디렉토리, 파일 등에대해 외부의 persistent volume을 사용하도록 설정할 수 있습니다. hostPath, ebs, nfs 등이 있지만 가장 일반적으로 사용하는 것은 pvc(https://kubernetes.io/docs/concepts/storage/persistent-volumes/) 입니다.

태기님의 프로필 사진

태기

작성자

팀벨 데브옵스 엔지니어2024년 07월 18일

pvc를 사용하는것도 결국엔 클러스터 서버의 볼륨잡아서 사용하는걸로 알고있는데 외부라면 클러스터서버외엔 타서버를 말씀하시는건가요?

smplnote님의 프로필 사진

Grafana에서 정보를 수집하려는 목적이라면 promtail 대신 애플리케이션 측에서 OTEL Agent 를 구성하고 OTEL Collector 를 통해 로그를 수집할 수도 있습니다. 그러나 애플리케이션을 변경할 수 없고 promtail 방식을 유지해야 한다면 PV를 사용할 수 있습니다. PV중에는 단일 노드일때 유용한 hostPath 가 있습니다. ( 호스트 노드의 파일시스템에 있는 파일이나 디렉터리를 파드에 직접 마운트) 따라서 기존과 같은 방식으로 경로를 명시할 수 있습니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!