2012-12-06 3 views
2

I 사용자 정의 형식의 로그 파일을위한 SS를, 날짜 필드는 다음과 같습니다 : 내 logstash의 설정에 변환 날짜 MMM은 HH DD 형식 logstash

Dec 4 23:59:21 
Nov 21 23:59:21 

내가 필터이 있습니다

date { 
    type => "custom" 
    # tell it the format 
    custom_timestamp => ["MMM d HH:mm:ss", "MMM dd HH:mm:ss"] 
    # locale didn't help 
    locale => "en" 
} 
mutate{ 
    type => "custom" 
    # replace the timestamp 
    replace => ["@timestamp", "%{custom_timestamp}"] 
} 

아마도 logstash 타임 스탬프를 로그의 맞춤 설정으로 바꿉니다 (테스트 할 때 이전 로그에서 다시 채울 예정입니다).

내가 표준 출력으로 디버그 플래그와 출력을 설정하면, 그것은 @timestampcustom_timestamp로 대체 된 것을 나에게 보여줍니다하지만 난 그것을 가져올 수 없음을 말해 오류 메시지가 :

:exception=>java.lang.IllegalArgumentException: Invalid format: "Dec 4 23:59:21" 

I를하는 일 날짜 형식을 변환해야합니까?

답변

1

내가 작업 한 샘플이 잘못 되었음이 밝혀졌습니다. 당신은 개의 mutate 교체가 필요하지 마십시오 설정이 지금이 게시물에

date { 
    type => "custom" 
    # tell it the format 
    custom_timestamp => ["MMM d HH:mm:ss", "MMM dd HH:mm:ss"] 
    # date format is english, computer might not be 
    locale => "en" 
} 
mutate{ 
    type => "custom" 
    #other mutations go here 
} 
+1

"유형은"지금 내 대답에서 또는 문제의 – tjrobinson

0

두 오해 : 당신의 형식에는 연도가 없기 때문에

  1. 자바 예외는 따라서는 할 수 없습니다 생성됩니다 안전하게 날짜를 파싱합니다.
  2. 다른 응용 프로그램에서 이전 가져온 로그를 일관된 타임 라인으로 보려는 경우 mutate를 실행해야합니다. 그렇지 않으면 이전 로그를 모두 가져올 때 가져 오는 동안 집중된 몇 분의 이벤트 만 볼 수 있습니다. 그 외에는

, 좋은 질문/답변, 그것은 나를 다시 내 특정 문제에 궤도에 얻을 도움)

+0

을 더 이상 사용되지 않습니다 ? 내 대답은 나를 위해 일하는 것이지만 필요하다면 정리할 수 있습니다. – SeanJA