2013-07-08 1 views
2

logstash를 설정하여 로그를 구문 분석하고 다른 서버로 로그를 전송하려고합니다. 거의 사용할 수 없게Logstash : GROKE에서`쓰레드 감시 시간 초과 '가 발생했습니다

ZEND_LOG_SIGNATURE (?:IP\:(?<clientip>(?:\%ip\%|%{IP})))?PID\:%{NUMBER:pid} 
ZEND_CONTEXT [^\]]+ 
ZEND_LOG %{ZEND_LOG_SIGNATURE} %{TIMESTAMP_ISO8601:timestamp} %{WORD:level} \:\[%{ZEND_CONTEXT:context}\] %{GREEDYDATA:message} 

이것은 몇 분 간격으로 충돌하는 logstash 에이전트가 발생합니다

{:timestamp=>"2013-07-08T02:20:07.390000-0400", 
:message=>"thread watchdog timeout", 
:thread=>#<Thread:0x133b92c run>, 
:backtrace=>["file:/opt/logstash/logstash.jar!/logstash/filterworker.rb:46:in `backtrace'", 
"file:/opt/logstash/logstash.jar!/logstash/filterworker.rb:46:in `run'", 
"file:/opt/logstash/logstash.jar!/logstash/agent.rb:785:in `each'", 
"file:/opt/logstash/logstash.jar!/logstash/agent.rb:785:in `run_filter'", 
"file:/opt/logstash/logstash.jar!/logstash/agent.rb:492:in `run_with_config'"], 
:thread_watchdog=>2013-07-08 02:19:57 -0400, 
:age=>10.006, 
:cutoff=>10, 
:state=>{:event=>#<LogStash::Event:0xa02ea9 @data={"@source"=>"file://clstaging12//home/xyz/xyz.com/apps/logs/mailerjob_log_2013_07_04.txt", 
"@tags"=>[], 
"@fields"=>{}, 
"@timestamp"=>"2013-07-08T06:19:50.114Z", 
"@source_host"=>"clstaging12", 
"@source_path"=>"//home/xyz/xyz.com/apps/logs/mailerjob_log_2013_07_04.txt", 
"@message"=>"PID:31730 2013-07-04T13:59:03-05:00 DEBUG :[property_listing_contact.php] Inside getBrokersContactInfoReceivedUserCount of the PropertyListing", 
"@type"=>"zend_log"}, 
@cancelled=false>, 
:filter=><LogStash::Filters::Grok type=>"zend_log", 
patterns_dir=>["/home/xyz/xyz.com/conf/patterns"], 
pattern=>["%{ZEND_LOG}"], 
match=>{"@message"=>["%{ZEND_LOG}"]}, 
tag_on_failure=>["_grokparsefailure"]>}, 
:level=>:fatal} 

패턴 ZEND_LOG은 다음과 같습니다 grok 수는 로그를 구문 분석하는 데 실패 거의 모든 시간을, 다음과 같은 오류가 발생합니다 . JIRA에 제출 된 많은 버그를 확인했습니다. grok 수는 수 없을 때

https://logstash.jira.com/browse/LOGSTASH-508

https://logstash.jira.com/browse/LOGSTASH-525

https://logstash.jira.com/browse/LOGSTASH-765

답변

2

나는 완전히이 문제를 해결하지 못하고 있지만 추가 조사 후 나는 오류가 발생하는 것을 발견 : 여기에 몇 가지 링크가 있습니다 전체 줄과 일치 시키려면 즉, 더 많은 입력을 기다리는 중입니다.

이것은 전적으로 구문 분석하려고하는 로그가 여러 줄이고 욕심 많은 정규식을 사용했기 때문일 수 있습니다. 나는이 정규식을보다 강하게 입력함으로써이를 수정했다.