2017-10-11 27 views
1

저는 ELK와 Grok 필터링을 처음 접했고, grok 필터에서이 특정 패턴을 분석하는 데 어려움을 겪고 있습니다.시간 카운터를위한 Grok 필터 HH : MM

나는 이것을 시도하고 해결하기 위해 grok debugger을 사용했지만 도구가 마음에 들지만 사용자 정의 패턴에 혼란스러워합니다.

결국, filebeat에서 보내온 많은 로그 파일을 logstash로 구문 분석 한 다음, 구문 분석 된 로그를 elasticsearch에 보내 kibana 또는 유사한 시각화 도구로 표시하려고합니다. 나는 다음과 같은 양상을 분석 할 필요가

의 선 :

1310 2017-01-01 16:48:54 [325:51] [326:49] [359:57] Some log info text 
  • 처음 네 자리 숫자는 로그 유형 식별자이며, 그룹화에 사용됩니다. 필드 "LogLineID"를 호출했습니다.
  • 날짜의 형식은 YYYY-MM-DD HH : MM : SS이며 구문 분석이 잘됩니다. 필드 "LogDate"를 호출했습니다.
  • 하지만 이제 문제가 시작됩니다. 원하는 경우 대괄호 안에 MM : SS 형식의 카운터가 있습니다. 나는이 삶을 비교할 수있는 방법을 찾지 못한다. 그러나 나는이 시간들을 비교할 필요가있다. 그러므로 나는 그 숫자들을 단지 몇 분이 아니라 몇 분으로 저장하고 싶다.
    • 첫번째
    • 번째 카운터 "TimeStarted"및
    • 제 이의 "TimeSinceDown"이다 "TimeSpent"카운터이다.
  • 마지막으로 % {GREEDYDATA : LogInfo}를 적용하는 것으로 끝내는 정보 텍스트가 나옵니다. 다음

나는 분의 양이 시간 이내에 표준 60분보다 훨씬 더 높을 수 있다는 것을 발견, 그래서 나는 그런 TIMESTAMP_ISO8601 같은 날짜 패턴을 분석하려고 여기 잘못 짚었 수 있습니다 만, 나는이 일을 어떻게 할 수 있는지 정말로 모른다.

그래서, 나는 여기까지 온 :

%{NUMBER:LogLineID} %{TIMESTAMP_ISO8601:LogDate} 

및 (대괄호 부분을 멀리 절단하여)에 수 언급로를 만들

%{GREEDYDATA:LogInfo} 

와 로그 정보 텍스트를 구문 분석했다 LogInfo 필드.

하지만 그건 내가 붙어 있었어. 누군가가 나머지를 알아낼 수있게 도와 주시겠습니까?

미리 감사드립니다.

PS! 나는 또한 %{NUMBER:duration}을 찾았지만, 콜론이 아닌 점으로 타임 스탬프를 파싱 할 수는 있습니다.

답변

0

아 도움이되기를 바랍니다 logstash의 conf 파일의 필터 부분에 표현을 사용 실제로 문제를 일으키는 로그 라인이 아니 었습니다. 방금 처음에 문제가 발생한 곳을 알지 못했지만 문제가 발생한 곳은 괄호 안에 공백이있었습니다. [ 42:31]. 두 가지 공백이 일부는, 그래서 내가이 문제를 해결하기 위해 관리하는 방법은 \[%{NUMBER} 사이 %{SPACE} 포함했다 :

%{NUMBER:LogLineID} %{TIMESTAMP_ISO8601:LogDate} \[%{SPACE}%{NUMBER:TimeSpentMinutes}\:%{NUMBER:TimeSpentSeconds}\] \[%{SPACE}%{NUMBER:TimeStartedMinutes}\:%{NUMBER:TimeStartedSeconds}\] \[%{SPACE}%{NUMBER:TimeSinceDownMinutes}\:%{NUMBER:TimeSinceDownSeconds}\] %{GREEDYDATA:LogText} 

나는 여전히 분, 초 병합가 해결되지

을 , 그러나 나 또한 나중 단계에서 처리 할 수있다.

Lin Don에게 내 문제에 관심을 보여 주신 덕분에 더 빨리 답변을 드리지 못해 죄송합니다.

같은 종류의 문제에 붙어 있다면 다른 사람 (또는 나 자신)에게 도움이되기를 바랍니다.

나에게주의 사항 : 로그를 읽기 전에 더 신중하게 읽으십시오. :)

0

grok 정규식은 문제를 해결하는 데 도움이됩니다.

하지만 먼저 [325:51] [326:49] [359:57]이 가져올 세 가지 구성 요소인지 확인하고 싶습니다.그리고 그것은 것이다 반환 결과 같은 :

  1. 자신 만의 패턴 파일을 정의하고의 패턴을 추가

    TimeSpent: 325:51 
    TimeStarted: 326:49 
    TimeSinceDown: 359:57 
    

    내가 요점은 다음과 같은 제안에 내 방법을 사용하여 얻을 수 있었다 너의 파일.

가, 나는 내 질문에 자신과 모든 사람을 오해하고, 사실에 .. 공간이 있었다, 그것은 것입니다 당신에게