Eventstatsコマンド
link
コマンドで識別されるグループのプロパティで、eventstats
コマンドを使用して、オプションでフィールドごとにグループ化された全体的なサマリー統計を取得します。 その出力には、集計ごとに1つのフィールドが含まれます。
構文
ノート:
trendの集計演算子は、eventstats
では使用できません。
eventstats <stats_function> (<field_name>) [as <new_field_name>] [, <stats_function> (<field_name>) [as <new_field_name>]]* [by <field_name> [, <field_name>]*]
パラメータ
次の表に、このコマンドで使用されるパラメータを示して説明します。
パラメータ | 説明 |
---|---|
|
このパラメータを使用して、結果のグループ分けに使用するフィールドを指定します。 |
|
このパラメータを使用して、 |
関数
次の表に、このコマンドで使用できる機能とその例を示します。
関数 | 例 |
---|---|
Values オプションのデリミタを使用して、特定のフィールドの最初の10個の値をリストします。 任意のフィールド・データ型に適用できます。 |
|
一意 特定のフィールドについて、オプションのデリミタを使用して最初の10個の一意の値をリストします。 任意のフィールド・データ型に適用できます。 |
|
最初 指定されたフィールドに対して一番年上のnull以外の値を返します。 特定の問合せ結果についてフィールドが完全に空である場合、Nullが返されます。 |
|
最新 指定されたフィールドの最新の非Null値を返します。 特定の問合せ結果についてフィールドが完全に空である場合、Nullが返されます。 |
|
Average 注意: この関数は、数値フィールドに対してのみサポートされています。 |
|
件数 ノート: このファンクションは、sqlと同様のセマンティクスを使用します。つまり、countはすべての行の数を戻しますが、count(field)はフィールドがNULLでないすべての行のカウントを返します。 |
|
個体数 |
|
最大 注意: この関数は、数値フィールドに対してのみサポートされています。 |
|
Median 注意: この関数は、数値フィールドに対してのみサポートされています。 |
|
最小 注意: この関数は、数値フィールドに対してのみサポートされています。 |
|
パーセンテージ 注意: この関数は、数値フィールドに対してのみサポートされています。 |
|
Sum 注意: この関数は、数値フィールドに対してのみサポートされています。 |
|
標準偏差 注意: この関数は、数値フィールドに対してのみサポートされています。 |
|
次の表に、このコマンドに固有の関数とその例を示します。
関数 | 例 |
---|---|
first 取得された結果内で、現在のソート順で定義されている最初の行からプロパティ値を取得します。 |
構文:
|
last 取得された結果内で、現在のソート順で定義されている最後の行からプロパティ値を取得します。 |
構文:
|
nthval 取得された結果内で、現在のソート順で定義されているnのth行からプロパティ値を取得します。 |
構文:
|
lag 現在の行より前の指定されたオフセットにある行からプロパティ値を取得します。 デフォルトのオフセットは1です。 |
構文:
|
lead 現在の行の後の指定されたオフセットにある行からプロパティ値を取得します。 デフォルトのオフセットは1です。 |
構文:
|
rownum 取得された結果内の各行に、現在のソート順で定義されている1から始まる一意の番号を順次割り当てます。 |
構文:
|
peak 取得された結果内の最大の大きさを持つプロパティ値を取得します。 magnitudeの値が大きいほど、絶対値が大きくなります。 |
構文:
|
peakscore 取得された結果内で、正規化されたピーク・スコアが0から1の間のプロパティ値を取得します。 スコアを使用してピークを比較し、最も高いピークをスコアとして1を取得し、他のすべての値を0から1の間で取得できます。 |
構文:
|
valley 取得された結果内で、谷の大きさを持つプロパティ値を取得します。 magnitudeの値が小さいほど、絶対値が小さいことを示します。 |
構文:
|
valleyscore 取得した結果内で、正規化された谷スコアが0から1の間のプロパティ値を取得します。 スコアを使用して谷を比較し、最も低い谷をスコアとして取得し、他のすべての値を0から1の間で取得できます。 |
構文:
|
一般的なシナリオでのこのコマンドの使用例は、次を参照してください:
- 「Oracle Log Analyticsの使用」の「リンクでEventstatsコマンドを使用した第2レベル集計」
- 「Oracle Log Analyticsの使用」の「リンク・ナビゲーション関数を使用したデータベース内のイベントの識別」
「ピーク」およびpeakscore関数を使用して、リンク・ビジュアライゼーションのシーケンシャル・データの最大規模および0から1の正規化スコアを分析します。 たとえば、次の問合せでは、アクセス・ログ・ソースのDurationフィールドを使用して、ユーザー・レスポンス時間の最大ピークを強調表示しています:
'Log Source' = 'FMW WebLogic Server Access Logs'
| link span = 5minute Time, Server
| stats avg(Duration) as 'Avg. Duration'
| sort Server, 'Start Time'
| eventstats peak('Avg. Duration') as 'Peak Magnitude',
peakscore('Avg. Duration') as 'Peak Score' by Server
| highlightgroups priority = high
[ * | where 'Peak Score' > 0.9 ] as 'High Response Time - Needs Attention'
この機能は、スパイク後に発生したすべてのメモリー不足イベントの識別など、時系列データの検索およびグループ化に使用できます。
すべての致命的ログをトランザクション別にグループ化し、すべてのグループの全体的な平均経過時間を取得します:
severity = fatal | link 'Transaction ID' | stats avg('Elapsed Time (System)') as 'Average Elapsed Time' | eventstats avg('Average Elapsed Time') as 'Overall Average Elapsed Time'
すべての致命的ログをエンティティ・タイプおよびトランザクション別にグループ化し、同じエンティティ・タイプを持つすべてのグループの全体的な平均経過時間を取得します:
severity = fatal | link 'Entity Type', 'Transaction ID' | stats avg('Elapsed Time (System)') as 'Average Elapsed Time' | eventstats avg('Average Elapsed Time') as 'Overall Average Elapsed Time' by 'Entity Type'
リンク・ビジュアライゼーションで、各行に数値を追加します:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| eventstats rownum as 'Row Number' by Database
行番号を使用して最後のイベントを識別します:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| eventstats rownum as 'Row Number' by Database
| addfields
[ * | where Label = 'Abnormal Termination'
| eventstats last('Row Number') as 'Crash Row'
]
選択したイベントの前後のイベントを識別します:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| addfields
[ *
| where Label != null
| eventstats lag(Label) as 'Previous Event',
lead(Label) as 'Next Event'
]