Elasticsearch의 GREEDYDATA는 무엇입니까?

Elasticsearch의 GREEDYDATA는 무엇입니까?

logstash필터 conf에서 찾은 conf 파일을 읽으십시오.

    grok {
        match => { "message" => "Put\s*command\s*:\s+%{GREEDYDATA:command}" }
    }

이 필터는 어떻게 작동하나요? 검색을 시도했지만 GREEDYDATA이해할 수 없었습니다.

답변1

GREEDYDATA는 .*를 의미합니다. grok 패턴(정규식 형식)에서 와일드카드는 주변 제약 조건에 따라 최대 문자 수까지 확장될 때 "탐욕적"인 것으로 간주될 수 있습니다. 따라서 "foo bar baz foo bar baz"를 검색할 때 "foo.*baz"는 첫 번째 히트뿐만 아니라 전체 문자열을 반환합니다. 귀하의 예에서는 GREEDYDATA(.*)와 일치하는 모든 항목을 "command" 변수에 넣습니다.

관련 정보