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 データは表示されません。

ファイル名と、その前のフィールド(ファイルの送信元のホストを表す)の後に続きます。

構文に何か問題がありますか?

関連情報