2

ログのスニペットを次に示します。

127.0.0.1 - - [01/Dec/2020:00:00:11 -0500] "GET / url:"api/orderLaptop for customer id 123"
127.0.0.1 - - [01/11/2020:00:00: 24 -0500] "GET / url:"顧客 ID 124 の api/orderLaptop"
127.0.0.1 - - [05/Nov/2020:00:00:11 -0500] "GET / url:"顧客 ID の api/orderLaptop 333"
127.0.0.1 - - [01/11/2020:00:00:24 -0500] "GET / url:"api/orderCamera for customer id 124"
127.0.0.1 - - [05/Nov/2020:00: 00:11 -0500] "GET / url:"api/orderCamera for customer id 333"
127.0.0.1 - - [10/Aug/2020:00:00:24 -0500] "GET / url:"api/orderLaptop forお客様 ID 444"
127.0.0.1 - - [2020 年 8 月 13 日:00:00:24 -0500] "GET / url:"api/orderCamera for customer ID 434"

Splunk で、ラップトップやカメラなど、顧客が毎月購入した製品の数を示すレポートを生成することはできますか?

私の予想される出力は次のようになります。

アイテム 購入月 購入した合計顧客数
ラップトップ 8月 1
カメラ 8月 1
ラップトップ 11月 2
カメラ 11月 2
ラップトップ 12月 1
カメラ 12月 0

どうもありがとうございました。

4

1 に答える 1

2

ログイベントからイベント時間を抽出するための正しい構成が既にあると仮定すると、抽出された月_timestrftime().

rex次に、正規表現キャプチャ グループを使用して他のフィールドを抽出します。

次にstats、Item、month_purchased、および顧客でグループ化するために使用します。

customer最後に、 でフィールドを削除しますfields

| eval month_purchased=strftime(_time, "%B")
| rex field=_raw "api/order(?<Item>\w+) for customer id (?<customer>\d+)"
| stats count as "Total customers purchased" by item month_purchased as "Month purchased" customer
| fields -customer
于 2022-01-15T13:52:15.520 に答える