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


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.