2017-02-09 8 views
0

그래서 필자는 필드 이름의 모든 마침표를 밑줄로 변경하는 필터를 작성해야합니다. 나는 돌연변이를 즐겁게하고, 나는 다른 것을하지 않고 어떤 일을 할 수 있습니다. 참고로 여기에 나의 현재 생산량은 Kibana입니다.Logstash 필터 이름에 마침표가있는 경우 필터가 작동하지 않습니다.

Kibana Data

등 "packet.event-ID"라고 그 필드를 참조하십시오? 나는 그것들 모두를 개명 할 필요가있다. 여기에 내가 쓴 내 필터이며이 문제는 내가 필드를 추가 할 수 있다는 것입니다

The filter

작동하지 않는 이유를 모르겠어요, 그리고 이름 변경은 WORKS를 "오프셋". 그러나 패킷을 시도 할 때 아무것도 변경되지 않습니다. 나는 이것이 단순해야한다고 느낍니다. 그리고 왜 그 안에 기간이있는 것이 작동하지 않는지에 관해서는 혼란 스럽습니다.

키 바나에서 색인을 새로 고쳤으며 여전히 변경 사항이 없습니다. 누구나 해결책이 있습니까?

+0

코드 이미지 또는 오류 메시지를 게시하지 마십시오. 대신 Kibana에서 직접 JSON 콘텐츠를 복사하여 붙여 넣을 수 있습니다. Logstash 설정을 텍스트로 붙여 넣을 수도 있습니다. –

답변

2

키바나의 점으로 구분 된 표기법에 표시 될 때 원래 json 형식으로로드 한 문서의 구조가 있기 때문입니다.

logstash를 사용하여 문서 구조에 액세스하려면 packet.event-id 대신 이름 바꾸기 필터에 [packet][event-id]을 사용해야합니다. 예를 들어

:

filter { 
    mutate { 
     rename => { 
      "[packet][event-id]" => "my_packet_event_id" 
     } 
    } 
} 
+0

'code' 필터 { JSON { 소스 => "메시지" } 이름을 변경 {돌연변이 => {[패킷] [이벤트 ID => "my_packet_event_id은"}}}'지금 어떤 즉 을 code' 가지고 있고, 나는 Kibana에 내 보내지 않은 것을 얻지 못한다. – BenjaFriend

+0

당신은 오타가 있습니다 (따옴표가 빠짐) ... 전체 작업 예제에 넣습니다 – Alcanzar

+0

대단히 고마워요, 이것이 제가 필요한 것입니다. 나는 ELK 스택에 꽤 새로운 것이다 :) – BenjaFriend

0

당신은 당신의 filebeat.yml에 설정의 몇 줄을 추가하여 Filebeat 직접 구문 분석 JSON을 할 수 있습니다.

filebeat.prospectors: 
- paths: 
    - /var/log/snort/snort.alert 
    json.keys_under_root: true 
    json.add_error_key: true 
    json.message_key: log 

필드의 이름을 변경하지 않아도됩니다. Logstash의 필드에 액세스해야하는 경우 필드를 [packet][length]과 같이 참조 할 수 있습니다. 구문에 대한 설명은 Logstash field references을 참조하십시오.

그런데 필드 이름에 점을 바꾸는 데 de_dot이 있지만이 경우 적용해서는 안됩니다.