【Logstash】UiPath 로그용 grok 패턴을 마음대로 해설
4072 단어 UiPathElasticsearchLogstash
Excel이 아닌 Elastic Search + Kibana로 멋지게 로그 가시화하려고 생각해, 미야이치 료히코씨라고 하는 대단한 쪽의 Medium 기사 를 참고로 했습니다만, ES 초보자의 자신에게는 Logstash의 filter 주위의 설정(특히 grok filter)을 이해하는 데 시간이 걸렸습니다.
여러가지 조사해 드디어 이해할 수 있었으므로, 똑같이 고민되고 있는 ES 초보자의 참고가 된다고 생각해, 실례라고 알면서 보충 해설하겠습니다.
해설 대상, 설정 인용원>
로봇 로그를 Logstash로 수집 > 설정 > logstash.conf의 필터 부분
filter로 하고 있는 일의 자세하게 해설
우선 UiPath의 실행 로그 1행은①15:19:44.0976 ②Info ③{"message":"XXXX の実行が開始しました","level":"Information",...}
와 같이 크게 3블록으로 구성되어 있으므로, 각각을 field1, field2, field3라는 변수로 분해하고 있습니다.
여기 match 패턴
match => { "message" => "(?<field1>(\S+)) (?<field2>(\S+)) (?<field3>(.+))" }
는 다음 장에서 설명합니다.그리고 분해한 ③의 field3을 Json 퍼스 해 ES에 건네주고, 후에는 Json중의 타임 스탬프의 포맷 지정이나 타임 존 지정을 하거나, ES에 보낼 필요가 없는 Field(message, field1, field2, field3, path )를 제거하고 있습니다.
grok의 match 패턴 해설
match => { "message" => "(?<field1>(\S+)) (?<field2>(\S+)) (?<field3>(.+))" }
설명합니다.
ES 공식 : Grok filter plugin > Custom Patterns에 따르면(?<field_name>pattern)
라고 정의하면 원래의 message 중 pattern에 합치한 부분을 field_name에 격납해 준다, 라고.
그럼 pattern이다 \S+
라든지 .+
란 무엇인가? 된다.
Regular Expressions (Regex) 참조
\s
는 반각 스페이스, 개행, 탭, 페이지 나누기 (\n\r\t\f) 어느 한 글자를 가리킨다 \S
대문자 반전으로 역의 의미 →반각 스페이스, 개행, 탭, 개 페이지가 아닌 1 문자 \S+
+는 1문자 이상의 반복→반각 스페이스, 개행, 탭, 개 페이지를 포함하지 않는 캐릭터 라인 된다.
.
는 "개행이 아닌 단일 문자"를 가리키므로 .+
는 "개행이없는 문자열"이됩니다.field1, field2가
\S+
이고, field3만 .+
인 것은, field3의 대상이 되는 Json안에 반각 스페이스등이 들어오는 것을 상정되고 있다고 생각합니다. (사용자가 Log Message 활동으로 출력한 메시지도 들어오므로)이렇게 로그 ①②③ 각각의 블록을 편리하게 꺼낼 수 있다는 것입니다. 으~응, 과연.
덧붙여서 아파치의 로그 등 자주 세상에서 사용되는 patten은 디폴트로 정의되고 있으며, 스스로 새로운 pattern을 정의하고 이름을 붙일 수도 있습니다.
참고 > Grok patterns
Logstash 결과
설정의 의미를 이해할 수 있었으므로, 상기 Mediam 기사에 따라 Logstash 경유로 ES에 폴더에 모인 로그를 정리해 보냈습니다.
Index가 생성되고 Json의 각 Field가 반영됩니다.
Discovery 화면에서 레코드(Document)의 존재도 확인할 수 있었으므로 드디어 시각화 준비가 되었습니다.
이번은 여기까지.
생각대로 ES에 데이터를 넣기 위해서는 정규 표현의 이해가 중요하다는 것을 알았습니다.
덧붙여서 가시화·효과 측정이라는 의미에서는 Forward III에서 본 UiPath Insights을 매우 기대하고 있어 서비스로서 Ready가 되면 회사에서 꼭 검증하고 싶습니다.
Reference
이 문제에 관하여(【Logstash】UiPath 로그용 grok 패턴을 마음대로 해설), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/UmegayaRollcake/items/af2b72062d4163b60ad9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(【Logstash】UiPath 로그용 grok 패턴을 마음대로 해설), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/UmegayaRollcake/items/af2b72062d4163b60ad9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)