2017-02-02 8 views
1

ログリクエストのstart_rangeとend_rangeに範囲要求値を解析する必要があります。データはJSONオブジェクトから来て、次のようになります。私も価値あることを考慮に入れる必要があるlogstahを使用した範囲要求ヘッダーの解析

start_range:10 
end_range:200 

byte_range: "bytes=10-200" 

と私はスタートを抽出し、このような個別の値に終了させたいです次のようになります。

byte_range: "bytes=10-" 

、まだ生じるはずである:

start_range: 10 
end_range: - 

は、私がGROKフィルタでこのようにそれをやってみましたが、それは動作しません:

bytes=%{NUMBER:start_range}-%{NUMBER:end_range} 

誰もができるだけ簡単にこの問題を解決するためにどのように任意のアイデアを持っていますか?

bytes=(?<start_range>\d+)(?:-(?<end_range>\d+))? 

\d+試合1+桁:

答えて

3

は、オプションの非キャプチャグループ(?:...)?を使用することができます。

または内蔵GROKパターンを使用して:

bytes=%{INT:start_range}(?:-%{INT:end_range})? 
+0

働いた、ありがとうございました! –

関連する問題