top of page

Notification, blog

Kubernetes 모니터링: 로그는 있는데 장애 서비스를 찾기 어려운 이유

9월 29일
2분 분량

최종 수정일: 10월 14일

오류는 보이는데 담당 서비스를 찾을 수 없습니다


오류 로그는 계속 들어옵니다. 그런데 어느 서비스의 어느 배포에서 발생했는지 찾느라 여러 화면을 오갑니다. 로그를 더 모으면 해결될까요?


데이터의 양보다 먼저 확인할 것은 소속 정보입니다. Kubernetes에서는 Pod가 교체되는 상황까지 고려해야 합니다. 같은 이름의 업무 서비스라도 실행 위치와 인스턴스는 바뀔 수 있으므로, 장애 시점의 데이터를 해당 실행 환경과 연결할 기준이 필요합니다.


출처. ChatGPT 생성형 이미지
출처. ChatGPT 생성형 이미지

데이터에 실행 환경의 맥락을 붙입니다


OpenTelemetry는 9월 16일 Kubernetes attributes processor의 v1.0.0 도달을 발표했습니다. 이 컴포넌트는 로그·메트릭·트레이스에 Kubernetes 메타데이터를 붙이는 역할을 합니다. 다만 이번 이정표가 기존 설정을 검증 없이 바꿔도 된다는 뜻은 아닙니다. 공식 발표도 전환 과정의 변경 사항 확인을 안내합니다.


지금 확인할 질문은 단순합니다. 오류 한 건을 열었을 때 어떤 서비스, 네임스페이스, Pod에서 발생했는지 구별할 수 있나요? 필요한 항목을 정한 뒤 실제 수집 데이터에 들어오는지부터 확인해 보세요.


Pod 연결이 맞는지 먼저 시험하세요


속성을 추가하는 설정이 있어도 들어온 데이터와 Pod를 연결하지 못하면 원하는 정보가 빠질 수 있습니다. 공식 문서도 모든 속성이 항상 추가되는 것은 아니라고 설명합니다. 수집 경로와 연결에 사용할 식별 정보를 함께 살펴야 합니다.


시험 환경에서 요청 하나를 보내고 로그와 트레이스를 확인해 보세요. Pod를 교체한 뒤 다시 요청해 이전 데이터와 새 데이터를 구별할 수 있는지도 봅니다. 값이 비어 있는 경우와 엉뚱한 Pod에 연결된 경우를 나눠 기록하면 수정할 지점이 명확해집니다.


변경 후에는 대시보드까지 확인하세요


수집이 계속된다고 운영 화면까지 정상인 것은 아닙니다. 속성 이름이나 값이 바뀌면 검색 조건과 알림이 기대대로 작동하지 않을 수 있습니다. 업데이트 전후에 같은 요청을 실행하고 서비스별 조회 결과와 알림 조건을 비교하세요. 기존 데이터와 새 데이터가 함께 남는 기간도 고려해야 합니다.


litis API Monitoring은 로그와 트레이싱 데이터를 활용하는 모니터링 기능을 소개합니다. 적용을 검토한다면 현재 수집 방식, 필요한 식별 항목, 제품의 연동 조건을 먼저 확인하세요. 이번 OpenTelemetry 컴포넌트와의 호환성은 별도 검증이 필요합니다.


오늘 오류 한 건을 골라보세요. 담당자가 그 데이터만으로 장애가 난 서비스를 찾을 수 있다면, 수집한 정보가 실제 운영에 쓰이기 시작한 것입니다.


출처. ChatGPT 생성형 이미지
출처. ChatGPT 생성형 이미지

출처 및 참고자료


bottom of page