logstash grok 분석
1991 단어 elasticsearchELKgrok
그러나 원본 미가공 로그를 엘라스틱 검색에 직접 건네주는 것은 의미가 없다.
logstash의 또 다른 중요한 작업은 로그를 분석하는 것이다.해석된 키워드와 로그 자체를elasticsearch에 공통적으로 건네주면elasticsearch가 로그 인덱스를 잘 만들 수 있습니다.
logstash는 여러 종류의 해상도를 지원합니다.grok은 그 중의 하나입니다.
grok filter를 사용하려면 logstash의 프로필에 이런 내용을 추가해야 합니다.
filter {
grok {
match => { "message" => "grok_pattern" }
}
}
이 코드는
grok_pattern
외에logstash의 키워드입니다.grok_pattern
부분은 사용자가 자신의 해석 방식을 채워야 한다.grok_pattern
는 0개 또는 여러 개%{SYNTAX:SEMANTIC}
로 구성되어 있는데 그 중에서 SYNTAX는 표현식의 이름이고grok에서 제공한 것이다. 예를 들어 디지털 표현식의 이름은 NUMBER이고 IP 주소 표현식의 이름은 IP이다.SEMANTIC는 해석된 이 문자의 이름을 표시합니다. 예를 들어 IP 필드의 이름은client일 수 있습니다.다음 로그의 경우:
55.3.244.1 GET/index.html 15824 0.043
다음과 같이 해석할 수 있습니다.
filter {
grok {
match=>{ "message"=>"%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" }
}
}
이런 결과를 얻게 될 거예요.
* client: 55.3.244.1
* method: GET
* request: /index.html
* bytes: 15824
* duration: 0.043
grok은 어떤 SYNTAX를 제공합니까?파일grok-patterns를 볼 수 있습니다. 기본적으로 경로/usr/local/logstash/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-0.3.0/patterns 아래에 있습니다.
현재 정규 표현식이 regexp인 문자열과 일치하려면grok이 미리 정의한 SYNTAX가 만족하지 않거나 SYNTAX를 스스로 정의할 수 있습니다
사용자 정의 SYNTAX 방식은 다음과 같습니다.
(1) 익명 SYNTAX
%{SYNTAX:SEMANTIC}
을(를) (?<SEMANTIC>regexp)
로 작성(2) SYNTAX 이름 지정
patterns_dir => "./dir"
SYNTAX_NAME regexp
%{SYNTAX_NAME:SEMANTIC}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
kafka connect e elasticsearch를 관찰할 수 있습니다.No menu lateral do dashboard tem a opção de connectors onde ele mostra todos os clusters do kafka connect conectados atu...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.