로그

로그 (Logs)

*로그(Logs)*는 시스템이나 애플리케이션이 생성하는 이벤트·메시지의 구조화된 기록이에요. 보통 타임스탬프, 메시지, 로그 이벤트의 심각도 같은 컨텍스트 정보를 포함합니다. 로그 시각화는 Elastic, Influx, Loki처럼 로그를 지원하는 데이터 소스의 레코드를 표시해요. 기본적으로 타임스탬프, 로그 상태를 나타내는 색상 문자열, 로그 라인 본문, 그리고 정보 분석에 도움되는 접이식 로그 이벤트를 보여줍니다.

애플리케이션이나 시스템에 장애가 발생했을 때 무엇이, 언제, 왜 잘못됐는지 파악하는 데 유용해요.

출처: 문서

본문

로그는 시스템이나 애플리케이션이 생성하는 이벤트·메시지의 구조화된 기록이며, 시스템·앱의 상태 업데이트가 담긴 일련의 텍스트 레코드입니다. 일반적으로 타임스탬프, 메시지, 로그 이벤트 심각도 같은 컨텍스트 정보를 포함합니다.

로그 시각화는 Elastic, Influx, Loki처럼 로그를 지원하는 데이터 소스의 레코드를 표시합니다. 기본적으로 타임스탬프, 로그 상태 색상, 로그 라인 본문, 접이식 로그 이벤트를 보여줍니다.

로그 라인 세부정보가 열리면 다음 추가 옵션에 접근할 수 있습니다.

  • Assistant에서 로그 라인 설명 (Explain log line in Assistant)
  • 로그 라인으로 스크롤 (Scroll to log line)
  • 로그 라인 표시/숨김 (Show or hide log line)
  • 클립보드로 복사 (Copy to clipboard)
  • 짧은 링크 복사 (Copy shortlink)
  • 압축 보기로 전환 (Switch to condensed view)
  • 오른쪽으로 고정 (Anchor to the right)

처음 세 옵션은 로그 라인 세부정보나 로그 라인 메뉴에서 접근할 수 있습니다.

보통 로그를 그래프 시각화와 함께 사용해 관련 프로세스의 로그 출력을 표시합니다. 앱·시스템에 웹사이트 중단, 코드 실패 같은 사고가 있으면 로그 시각화로 무엇이, 언제, 왜 잘못됐는지 파악할 수 있습니다.

지원 데이터 형식

로그 시각화는 Loki, Elastic, InfluxDB 같은 데이터 소스의 로그 유형 데이터셋에서 가장 잘 동작합니다. 선호하는 dataplane 로그 형식은 timestamp 시간 필드와 body 문자열 필드를 사용하며, 선택적으로 severity, id, labels 필드를 포함할 수 있습니다.

첫 필드가 시간형이고 그 뒤에 문자열·숫자·시간 필드가 오는 형식이면 다른 데이터 소스에서도 레거시 로그 데이터를 만들 수 있습니다. 앞의 시간 필드는 로그를 정렬·타임스탬프 처리하는 데 사용되며, 다른 시간 필드가 있으면 로그 레코드의 요소로 포함됩니다. 두 번째 필드는 시간·숫자·문자열 여부와 무관하게 로그 레코드 제목으로 사용됩니다. 보통 텍스트 필드로 여러 문자열 요소를 포함하지만, 메시지 레벨(lvl)이 있으면 그 값을 사용해 레코드에 색상을 추가합니다(Log levels integration 참고). 이후 필드는 각 로그 레코드 안에 접혀 표시됩니다.

시각화에 렌더링되는 로그 라인 수를 제한하려면 패널 Query optionsMax data points 설정을 사용할 수 있습니다. 설정하지 않으면 데이터 소스가 자체 기본 제한을 적용합니다.

예시

Time TitleMessage Element1 Element2 Element3
2023-02-01 12:00:00 title=Log1 lvl=info 1 server2 2023-02-01 11:00:00
2023-02-01 11:30:00 title=Log1 lvl=error 1 server2 2023-02-01 11:00:00
2023-02-01 11:00:00 title=Log1 lvl=trace 1 server2 2023-02-01 11:00:00

로그 레벨 (Log level)

Grafana는 첫 번째로 일치하는 level, detected_level, lvl, loglevel 라벨에서 로그 레벨을 결정하고 색상을 업데이트합니다. 이런 라벨이 없으면 콘텐츠가 지원 표현식과 일치하는지 확인합니다. 결정할 수 없으면 unknown 로그 레벨로 표시합니다. 지원 로그 레벨과 약어·표현식 매핑은 Log levels integration을 참고하세요.

구성 옵션

패널 옵션 (Panel options)

패널 편집기 창의 Panel options 섹션에서 패널 제목, 설명, 패널 링크 등 기본 옵션을 설정합니다.

로그 옵션 (Logs options)

옵션 설명
Show timestamps 시간 열 표시/숨김. 데이터 소스가 보고한 로그 라인 타임스탬프. 기본은 끔.
Timestamp resolution 타임스탬프 정밀도 선택: Milliseconds 또는 Nanoseconds.
Display log level 감지된 로그 레벨 표시/숨김.
Font size Default 또는 Small 선택.
Wrap lines 줄 바꿈 켜기/끄기.
Prettify JSON 켜면 모든 JSON 로그를 이쁘게 출력. JSON 외 형식에는 영향 없음.
Enable columns for displayed fields 선택한 표시 필드를 열로 표시.
Enable logs highlighting 사전 정의된 구문 색상 문법으로 로그 라인 관련 부분 강조.
Enable log details 켜면 라벨·감지 필드를 포함한 로그 세부정보 확장 영역 표시. 각 필드·라벨에는 표시된 모든 로그에 대한 자유 형식 통계를 표시하는 stats 아이콘이 있음. 기본은 켬.
Log Details panel mode 로그 세부정보를 사이드바 패널 또는 로그 라인 아래 인라인으로 표시하도록 선택.
Enable infinite scrolling 로그 목록 맨 아래로 스크롤해 더 많은 결과 요청.
Show controls 마지막·첫 로그 라인으로 점프하고 로그 레벨로 필터링하는 컨트롤 표시.
Display download control Show controls 활성 시 로그 라인 다운로드 컨트롤 표시.
Font size 기본 글꼴 크기와 작은 글꼴 크기 중 선택.
Unique labels 공통이 아닌 라벨만 보여주는 unique labels 열 표시/숨김.
Deduplication 선택한 기준에 따라 다른 표시 로그의 중복 메시지 숨김. None - 중복 제거 안 함. Exact - ISO 날짜시간 무시. Numbers - IP·지연 시간 같은 숫자로만 다른 것 무시. Signature - 문장 부호·공백이 동일한 연속 줄 제거.
Order 결과를 Newest first 또는 Oldest first로 표시.

더 알아보기 (Learn more)