レポート:集計クエリ

Document created by RSA Information Design and Development on Apr 20, 2018
Version 1Show Document
  • View in full screen mode

このセクションでは、サポートされる集計関数について説明します。

サポートされる集計関数

次の表に、サポートされる集計関数を示します。

                                                         
集計関数説明入力データ タイプ出力データ タイプ
countメタ値を返します。その中には、重複値も含まれます。数値数値
countdistinct固有値または一意値の合計数を返します。数値数値
distinctすべての一意値を返します。任意任意
first最初に出現するメタ値を返します。任意入力と同じ
last最後に出現するメタ値を返します。任意入力と同じ
sumグループ内のメタキーの、NULL以外のすべての値の合計を返します。数値数値
avg(平均)グループ内のメタキーの、NULL以外のすべての値の平均値を返します。数値数値
min(最小)各グループ内のメタキーの、すべての値の最小を返します。この値は、[Order By]フィールドに基づきます。任意任意
max(最大)各グループ内のメタキーの、すべての値の最大を返します。最大値は、[Order By]フィールドによって返される値です。任意任意
lengthメタキーの値の長さを返します。これは、SQLの「スカラー関数」と呼ばれます。任意数値

各関数のクエリと結果の例

Count

この関数は、指定されたメタ キーの値の数を返します。NULL値は含まれませんが、重複値は含まれます。

次の図は、宛先IPおよびそのソースIPに対して使用されるcount関数のクエリの例を示しています。

宛先IPおよびそのソースIPに対してcount関数を使用したクエリの例

次の図は、前述のクエリの結果を示しています。

宛先IPおよびそのソースIPに対してcount関数を使用した結果

この例では、一意のip.src(ソースIP)ごとに、ip.dst(宛先IP)値の合計数またはカウントを返しています。その中には、重複値も含まれます。

注:現在、RSA NetWitness Suiteがバージョン10.5以降で、いずれかのNetWitness Suiteコア デバイスがバージョン10.3または10.4の場合には、いくつかの集計関数で予期しないエラーが表示される場合があります。ただし、sum()やcount()などの集計関数はバージョン10.4でサポートされています。

countdistinct

countdistinct関数は、メタキーの一意値または固有値のカウントを返します。言い換えると、countdistinct関数を使用して、指定されたメタキーの固有値の数を取得できます。

次の図は、IPソース(ip.src)およびデータ サイズ(size)とともにcountdistinct関数を使用するクエリの例を示しています。

IPソース(ip.src)およびデータ サイズ(size)に並べてcountdistinct関数を使用するクエリの例

次の図は、前述のクエリの結果を示しています。
IPソース(ip.src)およびデータ サイズ(size)とともにcountdistinct関数を使用するクエリの結果

ここで、このページには、それぞれのIPソースからの固有のファイル名の合計数またはカウントとともに、データ サイズが表示されています。count関数とは異なり、countdistinctでは、結果から重複値が除外されます。

distinct

この関数は、メタキーのすべての一意値または固有値を返します。

次の図は、さまざまなソースIPと宛先IP(ip.dst)の間で、メールの取得に使用されるdistinct関数のクエリの例を示しています。

ソースIPと宛先IP(ip.dst)の様々な組み合わせから、メールアドレスを取得するdistinct関数のクエリの例

次の図は、前述のクエリの結果を示しています。

ここで、このページには、それぞれのIPソースと宛先の間で交換された一意のメールのリストが表示されています。

first

この関数は、指定されたメタキーの順序づけられたシーケンスから最初の値を取得します。

次の図は、最初の宛先市町村名を取得するfirst関数のクエリ例を示しています。

最初の宛先市町村名を取得するfirst関数のクエリ例

次の図は、前述のクエリの結果を示しています。

最初の宛先市町村名を取得するfirst関数のクエリの結果

ここで、このページには、対応するソースIPと宛先IPの最初の宛先市町村名が表示されています。first関数を使用して、検索結果から特定の値を分離できます。

last

この関数は、指定されたメタキーの順序づけられたシーケンスから最後の値を取得します。

次の図は、最新のユーザ名を取得するlast関数のクエリ例を示しています。

最新のユーザ名を取得するlast関数のクエリ例

次の図は、前述のクエリの結果を示しています。

最新のユーザ名を取得するlast関数のクエリの結果

ここで、このページには、ソースIPと宛先IPの間で交換された最新または最後のユーザ名の氏名のリストが表示されます。

sum

この関数は、グループ内のメタキーのNULL以外の値の合計を返します。

次の図は、パケットに対して使用されるsum関数のクエリを示しています。

パケットに対して使用されるsum関数のクエリ

次の図は、前述のクエリの結果を示しています。

パケットに対して使用されるsum関数のクエリの結果

ここで、このページには、それぞれの宛先の国について、データのサイズとともに、パケットの合計または総計が表示されます。

avg

平均関数は、グループ内のメタのNULL以外の値の平均を返します。

次の図は、ソースIPと宛先IPの間で伝送される平均データ サイズに関するクエリ例を示しています。

ソースIPと宛先IPの間で伝送される平均データ サイズに関するクエリ例

次の図は、前述のクエリの結果を示しています。

ソースIPと宛先IPの間で伝送される平均データ サイズに関するクエリの結果

ここで、このページには、ソースIPと宛先IPの間で交換される平均データ サイズが表示されます。

maxとmin

max関数とmin関数は、それぞれ指定されたメタ値の最大と最小を提供します。

次の図は、ソースIPと宛先の国に関して、さまざまなデータ サイズに対するmax関数とmin関数のクエリ例を示しています。

ソースIPと宛先の国に関して、さまざまなデータ サイズに対するmax関数とmin関数のクエリ例

次の図は、前述のクエリの結果を示しています。

ソースIPと宛先の国に関して、さまざまなデータ サイズに対するmax関数とmin関数のクエリの結果

ここで、このページには、ソースIPおよび宛先の国とともに、[max(size)]列と[min(size)]列が示されています。[max(size)]列には、交換された最大データ サイズが示され、[min(size)]列には交換された最小データ サイズが示されています。

集計メタ結果をMax_thresholdでフィルタ

閾値ルール アクションを使用して、関数の結果をさらにフィルタできます。


Then]フィールドでmax関数とともに使用されるmax_thresholdのクエリの例は、
max_threshold(5000,max(size))

のようになります。次の図は、前述のクエリに対する[ルールのビルド]画面を示しています。

[Then]フィールドでmax関数とともに使用されるmax_thresholdのクエリの例は、max_threshold(5000,max(size))のようになります

ここで、max_thresholdは、上限が5000のデータ サイズに適用されています。次の図に結果を示します。

[Then]フィールドでmax関数とともに使用されるmax_thresholdのクエリの結果は、max_threshold(5000,max(size))のようになります

ここで、結果のページには、クエリ内の最大閾値である5000より小さいデータ サイズが、それに対応するIPソースおよびそのディレクトリとともに、[max(size)]列に表示されます。

集計メタ結果をMin_thresholdでフィルタ

同様に、min_thresholdを使用して関数の結果をフィルタします。この説明には、max_thresholdと同様のシナリオが考えられます。


Then]フィールドでmax関数とともに使用されるmin_thresholdのクエリは、
min_threshold(5000,max(size))になります。

次の図は、前述のクエリに対する[ルールのビルド]画面を示しています。

 [Then]フィールドでmax関数とともに使用されるmin_thresholdのクエリは、min_threshold(5000,max(size))のようになります

ここで、min_thresholdは、下限が5000のデータ サイズに適用されています。次の図に結果を示します。

[Then]フィールドでmax関数とともに使用されるmin_thresholdのクエリの結果は、min_threshold(5000,max(size))のようになります

ここで、結果のページには、クエリ内の最小閾値である5000より大きいデータ サイズが、それに対応するIPソースおよびそのディレクトリとともに、[max(size)]列に表示されます。

注:Max_thresholdおよびMin_thresholdルール アクションは、すべての関数に対して共通であり、[Then]フィールド内で別のクエリとともに使用して、それぞれの結果を取得することができます。

length

この関数は、メタ値の長さを返します。言い換えれば、length関数は、実際の値を格納するのに使用されるバイト数を返します。
たとえば、「Analytics」の値の場合、長さとして9が返されます。同様に、ip.srcのIPv4の場合、4(4バイトを表す)が返されます。

次の図は、ユーザ名に対して使用されるlength関数のクエリ例を示しています。

ユーザ名に使用されるlength関数のクエリ例

次の図は、前述のクエリの結果を示しています。

ユーザ名に使用されるlength関数のクエリの結果

ここで、このページには、ユーザ アカウントおよびそのソースIPに関連づけられている長さが表示されています。

追加情報

セッション内で複数の値を持つメタに対して[Group By]で集計(たとえば、sum(size))のクエリを行う場合、複数の値を持つセッションは、そのメタの値ごとに集計計算の対象となります。

Alias.hostに対して[Group By]でcount集計関数のクエリを行うとき、セッション内で列に複数の値がある場合には、重複する値を含めて、値ごとにセッションがカウントされます。

以下の表を参照してください。

                           
sessionidalias.hostip.srcサイズ
1host-a、host-b、host-aa10
2host-b、host-c、host-a、host-cc20
3host-b、host-c、host-db30
4host-c、host-aa40

この表では、host-ahost-cのalias.hostが、単一セッションに重複値として示されています。次のクエリを考えてみましょう。

Select : alias.host, count(ip.src), sum(size)
Group By : alias.host

ここで、host-ahost-cは3つのセッションに存在し、別々の2つのセッションで重複しています。しかし、出力は次に示すようになります。

                      
alias.hostcount(Ip.src)sum(size)
host-a480
host-b360
host-c4110
host-d130

出力テーブルでは、host-ahost-cのcountが4と示されています。これは、各alias.host値に対して、セッション全体が対象となるためです。同様に、sum(size)を計算するには、alias.host値ごとに同じセッションが対象となります。

レポートの出力で、行数がRE構成で定義される[NWDB最大集計行数]に達した場合、メッセージ「集計行数の上限に達しました」が表示され、更に表示する情報があることを示します。デフォルトの制限は1000ですが、この値は要件ごとに[Reporting Engine構成]ページで変更できます。

「集計行数の上限に達しました」メッセージ

You are here
Table of Contents > 付録 > 集計クエリ

Attachments

    Outcomes