0
나는 다음과 같은 형식의 파일이 있습니다Logstash의 KV 필터
10302\t<document>.....</document>
12303\t<document>.....</document>
10054\t<document>.....</document>
10034\t<document>.....</document>
당신은 탭 문자로 구분 된 두 개의 값이있다 볼 수 있습니다. 제가
- 인덱스 ID으로서 제 1 토큰 (예를 들어, 10,302, 12,303 ...)
- 추출물 (다음 인덱스) 번째 토큰 일부 정보 (XML 문서)를해야한다. 즉, 두 번째 토큰은 xml 필터와 함께 일부 정보를 추출하는 데 사용됩니다.
kv 필터를 사용하여 두 값을 분리 할 수 있습니까? 이상적으로는이 같은 문서, 각 라인, 종료해야합니다
id:10302
msg:<document>....</document>
내가 grok 수 필터를 사용할 수 있지만 필드 탐지가 매우 간단하고 달성 할 수있는 나는 어떤 정규식을 방지하고 싶습니다 간단한 키 - 값 논리. 그러나, 일반 kv 감지를 사용하여 다음과 같이 끝납니다 :
"10302": <document>.....</document>
"12303": <document>.....</document>
"10054": <document>.....</document>
"10034": <document>.....</document>
이 필요하지 않습니다.
당신이 당신의 KV 필터의 구성을 추가 할 수 있습니다
이 grok 수 구성은 각 ID + 문서를 가정 일 것 같은 줄에? – baudsp
"키를 가져 와서 해당 키를 값으로 사용하여 ID를 만들고 특성을 만든 다음 값을 가져 와서 그 값을 사용하여 특성 메시지를 만드는 방법을 모르는"때문에이 값이 없습니다. – Andrea
좋습니다. id (10302, 10303, 10304 ...)에 대한 가능한 키가 없으므로 원하는 작업에 대해 kv를 사용하는 것이 가능하지 않다고 생각합니다. 그러나 grok은 완벽하게'% {INT : ID} \ t % {GREEDYDATA : msg}'로 동작 할 것입니다. – baudsp