로그 파일 분석 : 가치 부분에서 정보 부분 추출


10

우리 제품 중 하나의 여러 로그 파일에 데이터 세트를 작성하려고합니다.

다른 로그 파일에는 고유 한 레이아웃과 내용이 있습니다. 나는 성공적으로 그룹화했으며 한 단계 만 남았습니다 ...

실제로 "메시지"로그가 최상의 정보입니다. 모든 메시지의 전체 목록을 가지고 있지는 않으며 매일 목록을 변경할 수 있기 때문에 하드 코드를 기반으로 하드 코드를 작성하는 것은 좋지 않습니다.

내가하고 싶은 것은 들여 쓰기 텍스트를 값 텍스트와 분리하는 것입니다 (예 : "로드 된 파일 XXX"가 (식별 : "로드 된 파일", 값 : "XXX")). 불행하게도,이 예제는 간단하며 실제로는 레이아웃이 다르고 때로는 여러 값이 있습니다.

문자열 커널 사용에 대해 생각하고 있었지만 클러스터링을위한 것입니다 ... 클러스터링은 여기에 적용 할 수 없습니다 (다양한 유형의 메시지와 이벤트 수를 모릅니다, 너무 많음).

당신은 어떤 아이디어가 있습니까?

당신의 도움을 주셔서 감사합니다.

추신 : 프로그램하는 사람들에게는 이해하기 쉬울 수 있습니다. 코드에 printf ( "blabla % s", "xxx")-> "blabla"및 "xxx"를 분리하고 싶다고 가정하겠습니다.


알고리즘이 구문 분석해야하는 다양한 항목을 보여주는 대표적인 예제를 제공 할 수 있습니까?
Emre

2
이를 수행하는 방법은 100 가지가 있습니다. 이를 위해 어떤 도구 나 언어가 필요한지 이해하십시오. 여기에 데이터 과학 측면이 있습니까? 로그 파싱처럼 보입니다.
Sean Owen

답변:


3

각 문자열을 프로세스 추적으로 간주하고 알파 알고리즘을 적용하는 것은 어떻습니까? 그것은 당신에게 그래프를 줄 것이고 많은 수의 가장자리를 가진 노드는 아마도 값을 가리킬 것입니다.

이러한 노드를 표시하고 모든 새 문자열에 대해 해당 영역에 도달 할 때까지 그래프를 구문 분석 / 탐색 할 수 있습니다.


고마워 나는 알파 알고리즘을 몰랐다. 그 방향으로 확인하겠습니다.
Michael Hooreman

2

이것은 데이터 과학 문제가 아닌 것 같습니다. 그러나 logstash, flume 및 fluentd와 같이 정확하게 수행 할 수있는 멋진 도구가 있습니다. 실제로 ElastichSearch ( http://www.elasticsearch.org/overview/kibana ) 에서 Kibana를 빠르고 "똑똑한"방식으로 필터링하려면 필터링 하십시오 . 이러한 도구는 문제를 매우 효율적으로 해결하기에 충분합니다.


저의 특징 추출은 데이터 과학의 일부입니다. 글쎄요, 그것은 단지 의견 일뿐입니다. ;-) 좀 더 간단히 말해서, 쉬운 표준 로그 파일이 아니라 매우 특정한 소프트웨어의 사용자 정의 로그 파일에 대해 이야기하고 있습니다. 그래서, 정말 맥락에서«문장»정보를 추출하는 것
마이클 Hooreman을

1

단순히 텍스트와 숫자 정보를 분리하려고하면 정규 표현식 또는 문자열 분할을 기반으로하는 솔루션이 있습니다.

첫 번째 숫자를 찾고 그 바로 앞의 텍스트를 반으로 나눌 수도 있습니다.

정규 표현식을 사용하면 서로 뒤 따르는 모든 숫자를 일치시킬 수 있습니다. 패턴은 ([0-9]+)글로벌 플래그를 사용합니다. 그것은 모든 숫자 그룹과 일치하며 나중에 당신은 그들과 함께 무엇이든 할 수 있습니다.

정규식 테스터 는 그 물건을 가지고 놀기에 좋습니다.


감사합니다 Laurik. 불행히도 숫자뿐만 아니라 미래의 메시지가 무엇인지 알지 못합니다. 그래서 저는 정말로 AI가 필요합니다.
Michael Hooreman
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.