2017-02-07 6 views
2

IP 주소 앞에 ":: fffff :"와 같은 문자가 포함 된 Windows 이벤트 로그의 IP 주소 필드가 있습니다. 여기서 소스를 변경할 수 없으므로 Logstash에서이 문제를 해결해야합니다.Logstash의 필드 문자열을 대체하는 방법

나는 검둥이를 빨아 먹어야한다. 그러나 나는 logstash의 ip-address 필드에서이 문자들을 제거하는 간단한 방법을 찾을 수 없다.

내가 예를

if ("" in [event_data][IpAddress]) { 
     mutate { 
       add_field => { "client-host" => "%{[event_data][IpAddress]}"} 
       gsub => ["client-host", ":", ""] 
     } 
     dns { 
      action => "replace" 
      reverse => [ "client-host" ] 
     } 
} 

하지만 행운 시도했다 콜론은 여전히 ​​존재한다. Logstash의 ":: ffff : 10.0.36.39"문자열에서 ":: ffff :"를 어떻게 바꿀 수 있습니까?

답변

3

add_fieldgsub 이후까지 실행되지 않으므로 두 개의 mutate 블록으로 나누어야합니다.

mutate { 
    add_field => { "client-host" => "%{[event_data][IpAddress]}"} 
} 
mutate { 
    gsub => ["client-host", "::ffff:", ""] 
} 

을 구체적으로 순서 점에서 mutate 작품 :

rename(event) if @rename 
update(event) if @update 
replace(event) if @replace 
convert(event) if @convert 
gsub(event) if @gsub 
uppercase(event) if @uppercase 
lowercase(event) if @lowercase 
strip(event) if @strip 
remove(event) if @remove 
split(event) if @split 
join(event) if @join 
merge(event) if @merge 

filter_matched(event) 
filter_matched 표준 모든 작업 같은 add_field

있다