logstash: 경로에서 하위 문자열을 추출하는 중입니다.

logstash: 경로에서 하위 문자열을 추출하는 중입니다.

내 Logstash 구성의 경로 필드에서 하위 문자열을 추출하려고 합니다.

'경로' 필드는 다음과 같습니다.

/storage/logs/deployment/servers/hostname.example.com/server.log

필터 섹션 안에는 다음이 있습니다.

ruby {
     code => "event.set('log_filename', 
     event.get('path').split('/').last)"
}

이것은 잘 작동합니다. 'log_filename'이라는 새 필드가 생겼습니다.

하지만 서버 이름(hostname.example.com)에도 관심이 있습니다.

그래서 나는 이것을 시도했습니다 :

ruby {
      code => "event.set('log_filename', event.get('path').split('/').[-1]) event.set('server_name', event.get('path').split('/').[-2])"
}

이것은 전혀 작동하지 않습니다. 내 Logstash 로그에는 오류가 발생하지 않지만 Logstash 데이터는 표시되지 않습니다.

나는 파일 이름 뒤에 왔고 그 앞의 필드는 파일의 원본 호스트를 나타냅니다.

내 구문에 문제가 있나요?

관련 정보