로그 보기
로그 보기 (View logs)
Grafana Logs Drilldown의 로그 시각화는 Loki 데이터 소스의 로그 라인을 필터링 옵션과 표시 사용자 정의 컨트롤과 함께 표시해요. 페이지 상단에 라인 필터 검색 필드가 나타나며, 텍스트를 입력해 해당 텍스트를 포함하거나 제외하는 로그 라인으로 로그를 필터링할 수 있답니다.
출처: View logs
본문
시각화 유형 (Visualization types)
Logs 탭에서 패널 헤더의 라디오 버튼으로 Logs Drilldown이 로그를 표시하는 방식을 전환할 수 있어요.
- Logs: 기본 로그 라인 목록이며, 로그 컨트롤, 로그 라인 메뉴, 로그 상세를 포함해요.
- Table: 각 표시 필드에 대해 열이 있는 테이블로 로그를 표시해요. 열을 추가·제거하고, 열을 정렬하고, 열 크기를 조정하고, 텍스트를 줄바꿈할 수 있어요.
- JSON: JSON으로 포맷된 로그를 위한 전용 JSON 뷰어를 열어요.
로그 컨트롤 (Log controls)
컨트롤 컴포넌트는 로그 목록과 상호작용하고 사용자 정의할 수 있는 옵션을 제공해요. 위/아래로 점프, 정렬 순서 변경, 문자열이나 레벨로 필터링, 중복 제거, 타임스탬프 형식이나 색상 강조 같은 표시 옵션 선택이 가능해요. 위에서 아래로 로그 컨트롤은 다음과 같아요.
- Expand/collapse controls: 전체 컨트롤 도구 모음을 보여주거나 숨겨요.
- Scroll to the bottom: 뷰의 마지막 로그 라인으로 점프해요.
- Sort direction: 오름차순(오래된 로그 먼저) 또는 내림차순(새 로그 먼저)을 전환해요.
- Client-side string search: 표시된 결과에 대한 클라이언트 측 문자열 검색을 열거나 닫아요.
- Deduplication: 몇 가지 중복 제거 알고리즘으로 중복 로그 라인을 숨겨요.
- None: 중복 제거를 비활성화해요.
- Exact: 날짜 필드를 제외한 전체 라인에서 일치해요.
- Numbers: 기간, IP 주소 등 숫자를 제거한 뒤 일치해요.
- Signature: 모든 문자와 숫자를 제거하고 남은 공백과 구두점에서 일치하는 가장 공격적인 중복 제거예요.
- Filter logs by log level: All levels, Info, Warn, Error 등 레벨로 로그를 필터링해요.
- Set timestamp format: 타임스탬프 숨김, 밀리초 타임스탬프 표시, 나노초 타임스탬프 표시를 선택해요.
- Line wrapping control:
- Disabled: 로그 라인이 잘려요.
- Enabled: 로그 라인이 여러 줄로 줄바꿈돼요.
- Enabled with JSON formatting: JSON 로그 라인을 pretty-print해요.
- Logs highlighting: 일반 텍스트와 색상 강조를 전환해요.
- Font size control: 작은(기본) 글꼴과 큰 글꼴을 전환해요.
- Unescape newlines: 로그에 이스케이프된 새 줄이 포함될 때 표시돼요. 클릭하면 이스케이프된 새 줄을 새 줄로 렌더링해요.
- Download logs: 일반 텍스트(
txt), JSON, 또는 CSV 형식으로 다운로드해요. - Scroll to the top: 뷰의 첫 로그 라인으로 점프해요.
참고: JSON 뷰에서는 클라이언트 측 문자열 검색, 중복 제거, 로그 레벨 필터링, 타임스탬프 형식, 글꼴 크기 제어, 로그 다운로드 컨트롤을 사용할 수 없어요. JSON 뷰에는 구조적 메타데이터와 라벨 표시를 위한 추가 토글도 포함돼요.
패널 메뉴 (Panel menu)
Logs Drilldown의 대부분 패널에는 패널 헤더의 메뉴 아이콘(세로 점 3개)을 클릭해 여는 메뉴가 있어요. 사용 가능한 옵션은 패널과 Grafana 구성에 따라 달라요.
- Explore: 현재 선택을 기반으로 한 쿼리로 Grafana Explore를 열어요.
- Add to Dashboard: 패널을 새 또는 기존 대시보드에 추가해요.
- Create alert: 패널의 쿼리에서 알림 규칙을 만들어요.
- Expand logs view / Condense logs view: 로그 패널에서 로그 목록을 사용 가능한 높이에 맞추거나 화면을 채우도록 확장하는 사이를 전환해요.
- Explain in Assistant: 패널의 쿼리를 Grafana Assistant로 보내 설명을 받아요.
Add to Dashboard, Create alert, Explain in Assistant 같은 일부 옵션은 해당 Grafana 기능이 사용 가능할 때만 나타나요.
로그 라인 메뉴 (Log line menu)
로그 라인 시작 부분의 메뉴 아이콘(세로 점 3개)을 클릭해 로그 라인 메뉴를 열어요. 메뉴에는 다음 옵션이 포함돼요.
- Show log details: 로그 라인의 상세를 열어요. 이미 열려 있으면 Hide log details로 표시돼요.
- Show context: 선택한 라인 전후에 도착한 로그 라인을 표시해요.
- Pin log: 로그 라인을 로그 목록에 고정해요. 제거하려면 Unpin log를 선택해요.
- Copy log line message: 로그 라인 텍스트를 클립보드에 복사해요.
- Copy log line contents as JSON: 필드를 포함한 로그 라인을 JSON 객체로 복사해요.
- Copy link to log line: 이 로그 라인에 초점을 맞춘 Logs Drilldown을 여는 짧은 링크를 복사해 공유할 수 있어요.
- Explain log line in Assistant: 로그 라인을 Grafana Assistant로 보내 설명을 받아요. 이 옵션은 Grafana Assistant가 사용 가능할 때만 나타나요.
로그 상세 (Log details)
로그 상세는 단일 로그 라인에 연결된 모든 정보를 보여 줘요. 로그 상세를 열려면 로그 라인을 클릭하거나 로그 라인 메뉴에서 Show log details를 선택해요.
로그 상세 상단에서 Search field names and values 필드를 사용해 표시되는 내용을 좁힐 수 있어요. 복사 아이콘은 Copy log line message와 Copy log contents as JSON 옵션이 있는 메뉴를 열어요.
로그 상세는 접이식 섹션으로 정보를 구성해요.
- Log line: 원본 로그 라인.
- Links: 로그 라인의 일부를 관련 데이터 또는 외부 리소스(예: 트레이스 데이터 소스로 연결되는 trace ID)로 바꾸는 데이터 링크와 상관관계.
- Trace: 로그 라인에 트레이스 링크가 포함된 경우 트레이스 미리보기.
- Fields: 지원하는 데이터 소스에 대해 유형별로 그룹화됨. Loki의 그룹은 Indexed labels, Structured metadata, Parsed fields.
필드 작업:
각 필드 행에는 해당 필드에 작용하는 아이콘이 있어요.
- Filter for value / Filter out value: 필드를 쿼리에 등식 또는 부등식 표현식으로 추가해요. 필터가 이미 활성화되어 있으면 꺼거나 양에서 음으로 뒤집을 수 있어요.
- 눈 아이콘: 완전한 로그 라인 대신 로그 목록에서 필드를 표시하거나 다시 숨겨요.
- Ad-hoc statistics: 표시된 로그 전반에서 필드 값이 어떻게 분포하는지 보여 줘요.
- 복사 아이콘: 필드 값을 클립보드에 복사해요.
로그 상세 모드:
로그 상세를 보는 두 가지 모드가 있어요.
- Inline: 로그 목록 안의 로그 라인 아래에 로그 상세를 표시해요.
- Sidebar: 로그 목록 옆 패널에 로그 상세를 표시해요.
모드를 전환하려면 로그 상세 헤더의 모드 아이콘을 사용해요. Anchor to the right는 사이드바로, Display inline은 목록으로 되돌려요.
하이라이팅 (Highlighting)
로그 시각화는 가독성을 돕고 중요한 정보를 더 빨리 식별하는 데 도움을 주기 위해 로그 라인에 미묘한 색을 적용하는 사전 정의 규칙 집합을 구현해요. 이 선택적 기능은 컨트롤이나 패널 옵션에서 비활성화할 수 있어요. 로그 레벨도 색상으로 구분되어 오류와 경고를 빠르게 찾을 수 있어요. 예를 들어 debug 라인은 중립 회색, info 라인은 중립 파란색을 사용해요.
로그 컨텍스트 (Log Context)
Log context는 특정 검색 쿼리와 일치하는 로그 항목 주변의 추가 컨텍스트 라인을 표시하는 기능이에요. 로그 항목의 컨텍스트를 이해하는 데 도움이 되며 grep 명령의 -C 파라미터와 유사해요.
Loki를 로그에 사용한다면 상단의 Loki log context query editor로 로그 컨텍스트 쿼리를 수정할 수 있어요. 로그 컨텍스트 쿼리 미리보기를 클릭하면 이 편집기를 활성화할 수 있어요. 그 안에서 로그 스트림에서 라벨 필터를 하나 이상 제거해 검색을 수정할 수 있어요. 원래 쿼리가 파서를 사용했다면 추출된 라벨 필터를 활용해 검색을 정제할 수 있어요.
Context time window 옵션을 변경해 로그 라인 주변의 특정 시간 간격 안에서 로그를 찾을 수 있어요.
무한 스크롤 (Infinite scroll)
로그 목록의 맨 아래에 도달하고 표시된 로그가 선택된 시간 간격 안에 있다면, 계속 스크롤할 때 더 많은 로그를 로드하도록 요청할 수 있어요. 정렬 순서가 "newest first"면 더 오래된 로그를, "oldest first"면 더 새로운 로그를 받아요.