
내 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 데이터는 표시되지 않습니다.
나는 파일 이름 뒤에 왔고 그 앞의 필드는 파일의 원본 호스트를 나타냅니다.
내 구문에 문제가 있나요?