로그

최종 수정: 2026. 1. 16.

로그

로그 탐색기를 사용하여 애플리케이션과 인프라 로그를 검색하고 분석하는 방법을 안내합니다.


개요

로그 탐색기는 모든 Agent Cluster에서 수집된 로그를 통합하여 검색하고 분석할 수 있는 도구입니다.

주요 기능

기능 설명
통합 검색 모든 클러스터의 로그를 한 곳에서 검색
실시간 스트리밍 라이브 테일로 실시간 로그 확인
필터링 클러스터, 네임스페이스, 파드, 레벨 필터
컨텍스트 뷰 전후 로그 라인 함께 확인
저장된 뷰 자주 사용하는 쿼리 저장

로그 탐색기 접근

  1. 좌측 메뉴에서 Logs 클릭
  2. 로그 탐색기 화면이 표시됩니다

화면 구성

log-01.png


기본 검색

키워드 검색

쿼리 입력창에 키워드를 입력하여 검색합니다:

error

여러 키워드로 검색:

error connection timeout

필드 검색

특정 필드에서 검색:

쿼리 설명
body:error 로그 본문에서 "error" 검색
severity_text:ERROR ERROR 레벨 로그만
k8s.pod.name:api-server 특정 파드의 로그
k8s.namespace.name:production 특정 네임스페이스 로그

연산자 사용

연산자 예시 설명
AND error AND timeout 두 키워드 모두 포함
OR error OR warning 둘 중 하나 포함
NOT NOT debug 키워드 제외
: level:error 필드 값 일치
>, < response_time>1000 숫자 비교

필터 사용

시간 범위

상단 시간 선택기에서 조회 기간을 선택합니다:

  • 빠른 선택: 최근 15분, 1시간, 6시간, 24시간
  • 커스텀: 특정 시작/종료 시간 지정
  • 상대 시간: "3시간 전부터 지금까지"

클러스터 필터

k8s.cluster.name:production-cluster-1

여러 클러스터 선택:

k8s.cluster.name:production-cluster-1 OR k8s.cluster.name:production-cluster-2

네임스페이스 필터

k8s.namespace.name:default

서비스 필터

service.name:api-gateway

로그 레벨 필터

레벨 쿼리
Error severity_text:ERROR
Warning severity_text:WARN
Info severity_text:INFO
Debug severity_text:DEBUG

에러와 경고만 표시:

severity_text:ERROR OR severity_text:WARN

고급 검색

정규식 검색

body:~"error.*connection"

와일드카드

k8s.pod.name:api-*

JSON 필드 검색

로그가 JSON 형식인 경우:

attributes.user_id:12345
attributes.request_path:/api/users/*

범위 검색

attributes.response_time:[100 TO 500]

로그 상세 보기

로그 라인 확장

로그 라인을 클릭하면 상세 정보가 표시됩니다:

필드 설명
Timestamp 정확한 타임스탬프
Body 전체 로그 메시지
Severity 로그 레벨
Resource Attributes Kubernetes 메타데이터
Log Attributes 추가 속성

컨텍스트 보기

"Show Context" 버튼을 클릭하면 해당 로그 전후의 로그 라인을 함께 볼 수 있습니다.

트레이스 연결

트레이스 ID가 있는 로그는 해당 트레이스로 바로 이동할 수 있습니다:

  • Trace ID 클릭 → 트레이스 상세 페이지로 이동

라이브 테일

실시간으로 들어오는 로그를 확인합니다.

라이브 테일 시작

  1. 쿼리를 입력하고 Live Tail 버튼 클릭
  2. 새 로그가 실시간으로 스트리밍됨

라이브 테일 중지

Stop 버튼을 클릭하거나 스크롤하면 자동으로 중지됩니다.

필터 적용

라이브 테일 중에도 필터를 적용할 수 있습니다:

k8s.namespace.name:production AND severity_text:ERROR

뷰 저장

자주 사용하는 쿼리를 저장하여 빠르게 접근합니다.

뷰 저장하기

  1. 쿼리와 필터 설정
  2. Save View 버튼 클릭
  3. 뷰 이름 입력
  4. 저장

저장된 뷰 사용

  1. Saved Views 드롭다운 클릭
  2. 원하는 뷰 선택
  3. 쿼리와 필터가 자동으로 적용됨

기본 뷰 설정

자주 사용하는 뷰를 기본값으로 설정:

  1. 뷰 옆의 ⭐ 아이콘 클릭
  2. Logs 페이지 접근 시 자동으로 해당 뷰 적용

로그 파이프라인

로그 수집 흐름

수집되는 속성

속성 설명
k8s.cluster.name 클러스터 이름
k8s.namespace.name 네임스페이스
k8s.pod.name 파드 이름
k8s.container.name 컨테이너 이름
k8s.deployment.name 디플로이먼트 이름
service.name 서비스 이름

알림 설정

로그 기반 알림을 설정합니다.

로그 알림 생성

  1. 원하는 쿼리 입력 (예: severity_text:ERROR)
  2. Create Alert 버튼 클릭
  3. 알림 조건 설정:
    • 임계값: 5분 내 10개 이상
    • 알림 채널: Slack, Email 등
  4. 저장

자세한 내용은 알림 문서를 참조하세요.


문제 해결

로그가 표시되지 않음

  1. 시간 범위 확인 - 올바른 기간이 선택되었는지
  2. 필터 확인 - 너무 제한적인 필터가 적용되었는지
  3. Agent 상태 확인:
    kubectl get pods -n skuber-observability -l app.kubernetes.io/name=k8s-infra

로그 지연

  1. OTel Collector 배치 설정 확인
  2. 네트워크 연결 상태 확인
  3. ClickHouse 부하 확인

특정 파드 로그 누락

  1. 파드 로그 경로 확인:
    ls /var/log/pods/
  2. filelog receiver 설정 확인
  3. 제외 패턴에 해당되는지 확인

다음 단계

  • 메트릭 - 메트릭 탐색기 사용법
  • 트레이스 - 분산 트레이싱 사용법
  • 알림 - 로그 기반 알림 설정
  • 대시보드 - 로그 위젯 추가