GrokReader

GrokReader

로그 파일과 같은 비정형 텍스트 데이터를 읽고 처리 가능하도록 구조화하는 메커니즘을 제공하는 OpenFlow 컨트롤러 서비스예요.

출처: 문서

본문

기능 — 일반 공개(Generally Available)

Openflow Snowflake 배포는 AWS, Azure, GCP 상용(Commercial) 지역의 모든 계정에서 사용할 수 있어요. Openflow BYOC 배포는 AWS 상용 지역의 모든 계정에서 사용할 수 있어요.

설명 (Description)

로그 파일과 같은 비정형 텍스트 데이터를 읽고 처리할 수 있도록 데이터를 구조화하는 메커니즘을 제공해요. 서비스는 Grok 패턴으로 구성돼요. 서비스는 데이터 스트림을 읽고 찾은 각 메시지를 구성된 필드를 포함하는 별도의 Record로 분할해요. 입력의 한 줄이 예상 메시지 패턴과 일치하지 않으면 구성에 따라 그 텍스트 줄은 이전 메시지의 일부로 간주되거나 건너뛰어져요. 단, 스택 트레이스(stack trace)는 예외예요. 로그 메시지 끝에서 발견된 스택 트레이스는 이전 메시지의 일부로 간주되지만 Record의 'stackTrace' 필드에 추가돼요. 레코드에 스택 트레이스가 없으면 stackTrace 필드는 NULL 값이 돼요 (스키마가 실제로 String 유형의 stackTrace 필드를 포함한다고 가정). 스키마가 String 유형의 '_raw' 필드를 포함한다고 가정하면 원시 메시지가 Record에 포함돼요.

태그 (Tags)

grok, logfiles, logs, logstash, parse, pattern, reader, record, regex, text, unstructured

속성 (Properties)

아래 목록에서 필수 속성은 별표(*)로 표시돼요. 그 외 속성은 선택 사항으로 간주돼요. 표에는 기본값과 해당 속성이 NiFi Expression Language를 지원하는지 여부도 함께 표시돼요.

표시 이름 (Display Name) API 이름 (API Name) 기본값 (Default Value) 허용 값 (Allowable Values) 설명 (Description)
Grok Expressions * Grok Expression Grok 형식의 로그 줄 형식을 지정해요. Record Reader가 각 로그 줄을 어떻게 파싱할지 이해할 수 있게 해줘요. 이 속성은 하나 이상의 Grok 표현식을 지원해요. Reader는 구성된 표현식의 순서에 따라 입력 줄을 파싱하려 시도해요. 로그 파일의 한 줄이 어떤 표현식과도 일치하지 않으면 그 줄은 이전 로그 메시지에 속하는 것으로 간주돼요. 이 표현식이 다른 Grok 패턴을 참조한다면 Grok Pattern File 속성에 제공해야 해요.
Grok Patterns Grok Pattern File 로그를 파싱하는 데 사용할 Grok 패턴이에요. 지정하지 않으면 내장 기본 패턴 파일이 사용돼요. 지정하면 지정된 모든 패턴이 기본 패턴을 재정의해요. 미리 정의된 패턴 목록은 Controller Service의 Additional Details를 참조하세요.
Schema Access Strategy * Schema Access Strategy string-fields-from-grok-expression Use String Fields From Grok Expression, Use 'Schema Name' Property, Use 'Schema Text' Property, Schema Reference Reader 데이터를 해석하는 데 사용할 스키마를 얻는 방법을 지정해요.
Schema Branch Schema Branch 스키마 레지스트리 속성에서 스키마를 조회할 때 사용할 브랜치 이름을 지정해요. 선택한 스키마 레지스트리가 브랜치를 지원하지 않으면 이 값은 무시돼요.
Schema Name Schema Name ${schema.name} 스키마 레지스트리 속성에서 조회할 스키마의 이름을 지정해요.
Schema Reference Reader * Schema Reference Reader 스키마 참조 식별자(Schema Reference Identifier)를 결정하기 위해 FlowFile 속성이나 콘텐츠를 읽는 역할을 담당하는 서비스 구현이에요.
Schema Registry Schema Registry 스키마 레지스트리에 사용할 컨트롤러 서비스를 지정해요.
Schema Text Schema Text ${avro.schema} Avro 형식 스키마의 텍스트예요.
Schema Version Schema Version 스키마 레지스트리에서 조회할 스키마의 버전을 지정해요. 지정하지 않으면 최신 버전의 스키마를 가져와요.
No Match Behavior * no-match-behavior append-to-previous-message Append to Previous Message, Skip Line, Raw Line 텍스트 줄이 발견되었지만 주어진 Grok Expression과 일치하지 않고 스택 트레이스의 일부가 아닌 경우 텍스트를 처리하는 방법을 지정해요.

상태 관리 (State management)

이 컴포넌트는 상태를 저장하지 않아요.

제한 (Restricted)

이 컴포넌트에는 제한(restriction)이 있어요.

필수 권한 (Required Permission) 설명 (Explanation)
reference remote resources Patterns와 Expressions는 HTTP를 통해 리소스를 참조할 수 있어요.

시스템 리소스 고려 사항 (System Resource Considerations)

이 컴포넌트는 시스템 리소스 고려 사항을 지정하지 않아요.

더 알아보기 (Learn more)