logstash grok 다중 일치
2149 단어 elk
버전:logstash-2.3
filter {
grok {
match => [
"message" , "%{DATA:hostname}\|%{DATA:tag}\|%{DATA:types}\|%{DATA:uid}\|%{GREEDYDATA:msg}",
"message" , "%{DATA:hostname}\|%{DATA:tag}\|%{GREEDYDATA:msg}"
]
remove_field => ['type','_id','input_type','tags','message','beat','offset']
}
}
4
filter {
grok {
match => {
"message"=>[
"%{DATA:hostname}\|%{DATA:tag}\|%{DATA:types}\|%{DATA:uid}\|%{GREEDYDATA:msg}",
"%{DATA:hostname}\|%{DATA:tag}\|%{GREEDYDATA:msg}"]
}
}
}
DATA와 GREEDYDAYA를 너무 많이 사용하면 성능 cpu 부하가 심각해질 수 있다.정규 일치나 루비 코드 블록을 많이 사용하는 것을 권장합니다filter {
grok {
match => [
"message", "(?[a-zA-Z0-9._-]+)\|%{DATA:tag}\|%{NUMBER:types}\|(?[0-9]+)\|%{GREEDYDATA:msg}",
"message", "(?[a-zA-Z0-9._-]+)\|%{DATA:tag}\|%{GREEDYDATA:msg}",
]
remove_field => ['type','_id','input_type','tags','message','beat','offset']
}
}
filter {
ruby {
code =>'
arr = event["message"].split("|")
if arr.length == 5
event["hostname"] = arr[0]
event["tag"] = arr[1]
event["types"] = arr[2]
event["uid"] = arr[3]
event["msg"] = arr[4]
elsif arr.length == 3
event["hostname"] = arr[0]
event["tag"] = arr[1]
event["msg"] = arr[2]
end'
remove_field => ['type','_id','input_type','tags','message','beat','offset']
}
}
참조 문서:https://github.com/chenryn/logstash-best-practice-cn/blob/master/filter/grok.md
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ELK 로그 분석 시스템 구축ELK: Elasticsearch+Logstash+Kibana 로그는 주로 시스템 로그, 응용 프로그램 로그와 보안 로그를 포함합니다.시스템 운영과 개발자는 로그를 통해 서버 하드웨어 정보를 파악하고 설정 과정에서의...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.