0

すべてのユニーク ユーザーについて、青色のユーザー数と赤色のユーザー数を知りたいですか?

[2011-09-30 18:15:01:559 GMT+00:00][137D3B5A5F196F81A405858E6A5AA01F.maps-358-thread-1][com.abc.myaction.myfilter] INFO email=abc@hotmail.com userid=1234
[2011-09-30 18:15:01:559 GMT+00:00][237D3B5A5F197F81A405858E6A5AA0WD.maps-158-thread1][com.abc.myaction.myfilter] INFO email=pqr@rff.com userid=4235
[2011-09-30 18:15:01:559 GMT+00:00][337D3B5A5F198F81A405858E6A5AA0GW.maps-258-thread-1][com.abc.myaction.myfilter] INFO email=xyz@abc.com userid=7645
[2011-09-30 18:14:58:768 GMT+00:00][237D3B5A5F198F81A405858E6A5AA09F.http-8080-11][com.pqr.abclogging.mywrapper] DEBUG redColor=true blueColor=false
[2011-09-30 18:14:58:768 GMT+00:00][237D3B5A5F197F81A405858E6A5AA0WD.http-8080-11][com.fff.filter] DEBUG redColor=true blueColor=false
[2011-09-30 18:14:58:768 GMT+00:00][137D3B5A5F196F81A405858E6A5AA01F.http-8080-11][com.xyz.wrapper] DEBUG redColor=false blueColor=true
[2011-09-30 18:14:58:768 GMT+00:00][337D3B5A5F198F81A405858E6A5AA0GW.http-8080-11][com.xyz.wrapper] DEBUG redColor=false blueColor=true

上記のログでは、すべての個別のユーザーを取得する必要があり、ユーザーごとにセッション ID を取得する必要があります。DEBUG を含む行内でセッション ID と一致し、redColor=true かどうかを確認します。

したがって、上記の場合、出力は次のようになります。

赤色のユーザー数 = 1 (注: 237D3B5A5F198F81A405858E6A5AA09F は何とも一致しないため、赤色のフラグが true であってもカウントされません) 青色のユーザー数 = 2

これは Splunk 内で可能ですか?

4

1 に答える 1

0

まず、sessionid のフィールドを抽出しましたか? 以下の私の例では、それが利用可能であると仮定しています

sourcetype=yoursourcetype | transaction sessionid | search debug  
| eval redCount = if(isnull(mvfind(redColor,"true")), 0, 1)   
| eval blueCount = if(isnull(mvfind(blueColor,"true")), 0, 1)   
| search redCount > 0 OR blueCount > 0  
| stats avg(redCount) avg(blueCount) by userid   
| stats sum(redCount) as red sum(blueCount) as blue dc(userid) as totalUsers   
| fields + totalUsers red blue

最初に検索の最初の行だけを試すことをお勧めします。それが機能する場合は、最初の 2 行、次に 3 行などを実行します。そのようにテストできるように設定しました。また、 yoursourcetype をデータの適切な sourcetype に置き換えます。

于 2012-01-18T10:01:24.993 に答える