15장. 로그 레코드 필드

로깅에서 내보낸 로그 레코드에 다음 필드가 있을 수 있습니다. 로그 레코드는 일반적으로 JSON 개체로 포맷되지만 동일한 데이터 모델을 다른 인코딩에 적용할 수 있습니다.

Elasticsearch 및 Kibana에서 이러한 필드를 검색하려면 검색할 때 전체 점선 필드 이름을 사용합니다. 예를 들어 Elasticsearch /_search URL로 Kubernetes Pod 이름을 찾으려면 /_search/q=kubernetes.pod_name:name-of-my-pod를 사용합니다.

최상위 수준 필드는 모든 레코드에 있을 수 있습니다.

message

원본 로그 항목 텍스트 UTF-8로 인코딩됩니다. 비어 있지 않은 structured 필드가 있는 경우 이 필드가 없거나 비어 있을 수 있습니다. structured 대한 자세한 내용은 설명을 참조하십시오.

데이터 유형

text

예시 값

HAPPY

structured

구조화된 오브젝트인 원본 로그 항목입니다. 이 필드는 Forwarder가 구조화된 JSON 로그를 구문 분석하도록 구성된 경우에 존재할 수 있습니다. 원본 로그 항목이 유효한 구조화된 로그인 경우 이 필드에는 동일한 JSON 구조가 포함됩니다. 그렇지 않으면 이 필드는 비어 있거나 없으며 message 필드에는 원래 로그 메시지가 포함됩니다. structured 필드에는 로그 메시지에 포함된 하위 필드가 있을 수 있으며 여기에 정의된 제한이 없습니다.

데이터 유형

group

예시 값

map[message:starting fluentd worker pid=21631 ppid=21618 worker=0 pid:21631 ppid:21618 worker:0]

@timestamp

로그 페이로드가 작성되거나 작성 시간을 알 수 없는 경우 로그 페이로드가 처음 수집될 때 표시되는 UTC 값입니다. "@" 접두사는 특정 용도로 예약된 필드를 나타냅니다. 대부분의 도구가 기본적으로 Elasticsearch를 사용하여 “@timestamp”를 찾습니다.

데이터 유형

date

예시 값

2015-01-24 14:06:05.071000000 Z

호스트 이름

이 로그 메시지가 시작된 호스트의 이름입니다. Kubernetes 클러스터에서 이는 kubernetes.host와 동일합니다.

데이터 유형

keyword

ipaddr4

소스 서버의 IPv4 주소입니다. 배열이 될 수 있습니다.

데이터 유형

ip

ipaddr6

사용 가능한 경우 소스 서버의 IPv6 주소입니다. 배열이 될 수 있습니다.

데이터 유형

ip

level

rsyslog(severitytext property) Python 로깅 모듈 등을 비롯한 다양한 소스의 로깅 수준입니다.

다음 값은syslog.h에서 가져오고 그 앞에 해당하는 숫자가 옵니다.

  • 0 = emerg, 시스템을 사용할 수 없습니다.
  • 1 = alert, 즉시 조치를 취해야 합니다.
  • 2 = crit, 심각한 상태입니다.
  • 3 = err, 오류 상태입니다.
  • 4 = warn, 경고 상태입니다.
  • 5 = notice, 정상이지만 중요한 상태입니다.
  • 6 = info, 정보를 제공합니다.
  • 7 = debug, 디버그 수준 메시지입니다.

다음 두 값은 syslog.h의 일부가 아니지만 널리 사용됩니다.

  • 8 = trace, trace-level 메시지는 debug 메시지보다 더 자세합니다.
  • 9 = unknown, 로깅 시스템에서 인식하지 않는 값을 얻는 경우입니다.

다른 로깅 시스템의 로그 수준 또는 우선 순위를 이전 목록의 가장 가까운 일치 항목에 매핑합니다. 예를 들어 python 로깅에서는 CRITICALcritERRORerr 등과 일치시킬 수 있습니다.

데이터 유형

keyword

예시 값

info

pid

사용 가능한 경우 이는 로깅 엔티티의 프로세스 ID입니다.

데이터 유형

keyword

service

사용 가능한 경우 로깅 엔티티와 연관된 서비스의 이름입니다. 예를 들어 syslog의 APP-NAME 및 rsyslog의 programname 속성은 서비스 필드에 매핑됩니다.

데이터 유형

keyword