누군가 나를 도와 줄 수 있기를 바랍니다. Ik의 설정은 다음과 같습니다.JSON에서 타임 스탬프를 추출하여 logstash 이벤트 타임 스탬프로 사용하십시오.
shipper >> redis >> logstash >> elasticsearch
Logstash에는 redis에서 로그 데이터를 추출하는 입력이 있습니다. logstash 이벤트의 타임 스탬프가 (2013-12-18T12:53:14.169Z)
을 사용하는 것을 나는 위의 구성을 사용하는 경우
input {
redis {
data_type => "list"
key => "logstash:test:host"
codec => "json"
}
}
filter{
date {
match => [ "@timestamp", "dd-MMM-YYYY:HH:mm:ssZ", "dd-MMM-YYYY:HH:mm:ss Z", "ISO8601" ]
}
}
output {
stdout{
debug => true
}
}
가, 내가 볼 : 내가 사용하는 logstash 구성이 간단
{
"@fields": {
"level": "INFO",
"mdc": {},
"file": "ContextLoader.java",
"class": "org.springframework.web.context.ContextLoader",
"line_number": "273",
"method": "initWebApplicationContext"
},
"@timestamp": "2013-12-18T11::29:29.115+01:00",
"@message": "Root WebApplicationContext: initialization started",
"@source_host": "test-host"
}
: 다음 JSON 라인 레디 스에 간다 나는 다음과 같은 결론을 내릴 수 있고, 이로부터
Failed parsing date from field {:field=>"@timestamp", :value=>"2013-12-18T12:53:14.177Z", :exception=>#<TypeError: cannot convert instance of class org.jruby.RubyTime to class java.lang.String>, :level=>:warn}
: 내 디버그 화면에서 다음과 같은 오류가
,로그 항목이 입력되면 json 로그 항목의 시간 소인이 logstash의 시간 소인 이벤트로 겹쳐 쓰여집니다. 그런 다음 날짜 필터가 타임 스탬프를 구문 분석하려고하면 일치가 없으므로 실패합니다.
내 logstash 이벤트 타임 스탬프로 json 로그 항목의 타임 스탬프를 사용하고 싶습니다. 이것을 어떻게 할 수 있습니까? logstash 버전 1.3.1을 사용합니다.
버그가 발생했습니다. [LOGSTASH-1340 : 필터가 @timestamp를 이벤트의 플러시 문자열로 대체하는 경우] (https://logstash.jira.com/browse/LOGSTASH-1340). 몇 사람이 시도 할 수있는 대안을 제안했습니다. – rutter
그래, 그렇게 생각해. Thnx. – user3115768
예제에서 "T11 :: 29 : 29"는 오타이거나? – Rbjz