このチュートリアルでは、コードを記述せずに、診断ログとアクティビティ ログから Azure Data Explorer クラスターにデータを取り込む方法について説明します。 この簡単なインジェスト方法を使用すると、データ分析のために Azure Data Explorer のクエリをすばやく開始できます。
このチュートリアルでは、以下の内容を学習します。
- Azure Data Explorer のデータベースに、テーブルと取り込みのマッピングを作成します。
- 更新ポリシーを使用して、取り込まれたデータの形式を設定します。
-
イベント ハブを作成し、それを Azure Data Explorer に接続します。
- Azure Monitor の診断メトリックとログ、アクティビティ ログからイベント ハブにデータをストリーム配信します。
- Azure Data Explorer を使用して、取り込まれたデータのクエリを実行します。
注意
同じ Azure の場所またはリージョンに、すべてのリソースを作成します。
前提条件
Azure Monitor データ プロバイダー: 診断メトリックとログ、アクティビティ ログ
次のセクションでは、Azure Monitor 診断メトリックとログとアクティビティ ログによって提供されるデータを表示し、理解します。 これらのデータ スキーマに基づいてインジェスト パイプラインを作成します。 ログ内の各イベントには、レコードの配列があります。 このレコードの配列は、チュートリアルの後半で分割します。
診断メトリックとログおよびアクティビティ ログの例
Azure サービスは、Azure 診断メトリックとログとアクティビティ ログを出力します。 これらのログは、そのサービスの操作に関するデータを提供します。
診断メトリックの例
診断メトリックは、1 分の時間グレインでデータを集計します。 次の例は、クエリ期間の Azure Data Explorer メトリック イベント スキーマを示しています。
{
"records": [
{
"count": 14,
"total": 0,
"minimum": 0,
"maximum": 0,
"average": 0,
"resourceId": "/SUBSCRIPTIONS/<subscriptionID>/RESOURCEGROUPS/<resource-group>/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/<cluster-name>",
"time": "2018-12-20T17:00:00.0000000Z",
"metricName": "QueryDuration",
"timeGrain": "PT1M"
},
{
"count": 12,
"total": 0,
"minimum": 0,
"maximum": 0,
"average": 0,
"resourceId": "/SUBSCRIPTIONS/<subscriptionID>/RESOURCEGROUPS/<resource-group>/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/<cluster-name>",
"time": "2018-12-21T17:00:00.0000000Z",
"metricName": "QueryDuration",
"timeGrain": "PT1M"
}
]
}
診断ログの例
次の例は、Azure Data Explorer 診断インジェスト ログを示しています。
{
"time": "2019-08-26T13:22:36.8804326Z",
"resourceId": "/SUBSCRIPTIONS/<subscriptionID>/RESOURCEGROUPS/<resource-group>/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/<cluster-name>",
"operationName": "MICROSOFT.KUSTO/CLUSTERS/INGEST/ACTION",
"operationVersion": "1.0",
"category": "FailedIngestion",
"resultType": "Failed",
"correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"properties": {
"OperationId": "00000000-0000-0000-0000-000000000000",
"Database": "Kusto",
"Table": "Table_13_20_prod",
"FailedOn": "2019-08-26T13:22:36.8804326Z",
"IngestionSourceId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"Details":
{
"error":
{
"code": "BadRequest_DatabaseNotExist",
"message": "Request is invalid and cannot be executed.",
"@type": "Kusto.Data.Exceptions.DatabaseNotFoundException",
"@message": "Database 'Kusto' was not found.",
"@context":
{
"timestamp": "2019-08-26T13:22:36.7179157Z",
"serviceAlias": "<cluster-name>",
"machineName": "KEngine000001",
"processName": "Kusto.WinSvc.Svc",
"processId": 5336,
"threadId": 6528,
"appDomainName": "Kusto.WinSvc.Svc.exe",
"clientRequestd": "DM.IngestionExecutor;a70ddfdc-b471-4fc7-beac-bb0f6e569fe8",
"activityId": "f13e7718-1153-4e65-bf82-8583d712976f",
"subActivityId": "2cdad9d0-737b-4c69-ac9a-22cf9af0c41b",
"activityType": "DN.AdminCommand.DataIngestPullCommand",
"parentActivityId": "2f65e533-a364-44dd-8d45-d97460fb5795",
"activityStack": "(Activity stack: CRID=DM.IngestionExecutor;a70ddfdc-b471-4fc7-beac-bb0f6e569fe8 ARID=f13e7718-1153-4e65-bf82-8583d712976f > DN.Admin.Client.ExecuteControlCommand/5b764b32-6017-44a2-89e7-860eda515d40 > P.WCF.Service.ExecuteControlCommandInternal..IAdminClientServiceCommunicationContract/c2ef9344-069d-44c4-88b1-a3570697ec77 > DN.FE.ExecuteControlCommand/2f65e533-a364-44dd-8d45-d97460fb5795 > DN.AdminCommand.DataIngestPullCommand/2cdad9d0-737b-4c69-ac9a-22cf9af0c41b)"
},
"@permanent": true
}
},
"ErrorCode": "BadRequest_DatabaseNotExist",
"FailureStatus": "Permanent",
"RootActivityId": "00000000-0000-0000-0000-000000000000",
"OriginatesFromUpdatePolicy": false,
"ShouldRetry": false,
"IngestionSourcePath": "https://c0skstrldkereneus01.blob.core.windows.net/aam-20190826-temp-e5c334ee145d4b43a3a2d3a96fbac1df/3216_test_3_columns_invalid_8f57f0d161ed4a8c903c6d1073005732_59951f9ca5d143b6bdefe52fa381a8ca.zip"
}
}
アクティビティ ログの例
Azure アクティビティ ログは、サブスクリプションのリソースに対して実行された操作を分析できるサブスクリプション レベルのログです。 次の例は、アクセスを確認するためのアクティビティ ログ イベントを示しています。
{
"records": [
{
"time": "2018-12-26T16:23:06.1090193Z",
"resourceId": "/SUBSCRIPTIONS/<subscriptionID>/RESOURCEGROUPS/<resource-group>/PROVIDERS/MICROSOFT.WEB/SITES/CLNB5F73B70-DCA2-47C2-BB24-77B1A2CAAB4D/PROVIDERS/MICROSOFT.AUTHORIZATION",
"operationName": "MICROSOFT.AUTHORIZATION/CHECKACCESS/ACTION",
"category": "Action",
"resultType": "Start",
"resultSignature": "Started.",
"durationMs": 0,
"callerIpAddress": "13.66.225.188",
"correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
"identity": {
"authorization": {
...
},
"claims": {
...
}
},
"level": "Information",
"location": "global",
"properties": {
...
}
},
{
"time": "2018-12-26T16:23:06.3040244Z",
"resourceId": "/SUBSCRIPTIONS/<subscriptionID>/RESOURCEGROUPS/<resource-group>/PROVIDERS/MICROSOFT.WEB/SITES/CLNB5F73B70-DCA2-47C2-BB24-77B1A2CAAB4D/PROVIDERS/MICROSOFT.AUTHORIZATION",
"operationName": "MICROSOFT.AUTHORIZATION/CHECKACCESS/ACTION",
"category": "Action",
"resultType": "Success",
"resultSignature": "Succeeded.OK",
"durationMs": 194,
"callerIpAddress": "13.66.225.188",
"correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
"identity": {
"authorization": {
...
},
"claims": {
...
}
},
"level": "Information",
"location": "global",
"properties": {
"statusCode": "OK",
"serviceRequestId": "87acdebc-945f-4c0c-b931-03050e085626"
}
}]
}
Azure Data Explorer で取り込みパイプラインを設定する
Azure Data Explorer のパイプラインの設定には、テーブルの作成やデータの取り込みなど、いくつかの手順が含まれています。 データの操作、マップ、更新を行うこともできます。
Azure Data Explorer の Web UI に接続する
Azure Data Explorer の TestDatabase データベースで [クエリ] を選択して、Azure Data Explorer の Web UI を開きます。
ターゲット テーブルを作成する
Azure Monitor ログの構造は表形式ではありません。 データを操作し、各イベントを 1 つ以上のレコードに展開する必要があります。 アクティビティ ログ用の ActivityLogsRawRecords という名前の中間テーブルに生データを取り込み、診断メトリックとログ用 の DiagnosticRawRecords を取り込みます。 その時点で、データを操作して展開します。 更新ポリシーを使用して、展開されたデータをアクティビティ ログ用 の ActivityLogs テーブル、診断メトリック用 の DiagnosticMetrics 、診断ログ用 の DiagnosticLogs に取り込みます。 このプロセスでは、アクティビティ ログを取り込むための 2 つの個別のテーブルと、診断メトリックとログを取り込むための 3 つの個別のテーブルを作成する必要があることを意味します。
Azure Data Explorer の Web UI を使用して、Azure Data Explorer データベースにターゲット テーブルを作成します。
診断メトリックのためのテーブルを作成する
TestDatabase データベースで、診断メトリック レコードを格納する DiagnosticMetrics という名前のテーブルを作成します。 次の .create table 管理コマンドを使用します。
.create table DiagnosticMetrics (Timestamp:datetime, ResourceId:string, MetricName:string, Count:int, Total:double, Minimum:double, Maximum:double, Average:double, TimeGrain:string)
[実行] を選択してテーブルを作成します。
次のクエリを使用して、データ操作用の TestDatabase データベースに DiagnosticRawRecords という名前の中間データ テーブルを作成します。
[実行] を選択してテーブルを作成します。
.create table DiagnosticRawRecords (Records:dynamic)
中間テーブルのアイテム保持ポリシーをゼロに設定します。
.alter-merge table DiagnosticRawRecords policy retention softdelete = 0d
診断ログのためのテーブルを作成する
TestDatabase データベースで、診断ログ レコードを格納する DiagnosticLogs という名前のテーブルを作成します。 次の .create table 管理コマンドを使用します。
.create table DiagnosticLogs (Timestamp:datetime, ResourceId:string, OperationName:string, Result:string, OperationId:string, Database:string, Table:string, IngestionSourceId:string, IngestionSourcePath:string, RootActivityId:string, ErrorCode:string, FailureStatus:string, Details:string)
[実行] を選択してテーブルを作成します。
次のクエリを使用して、データ操作用の TestDatabase データベースに DiagnosticRawRecords という名前の中間データ テーブルを作成します。
[実行] を選択してテーブルを作成します。
.create table DiagnosticRawRecords (Records:dynamic)
中間テーブルのアイテム保持ポリシーをゼロに設定します。
.alter-merge table DiagnosticRawRecords policy retention softdelete = 0d
アクティビティ ログのためのテーブルを作成する
アクティビティ ログ レコードを受信するには、TestDatabase データベースに ActivityLogs という名前のテーブルを作成します。 テーブルを作成するには、次の Azure Data Explorer クエリを実行します。
.create table ActivityLogs (Timestamp:datetime, ResourceId:string, OperationName:string, Category:string, ResultType:string, ResultSignature:string, DurationMs:int, IdentityAuthorization:dynamic, IdentityClaims:dynamic, Location:string, Level:string)
データ操作用の ActivityLogsRawRecords という名前の中間データ テーブルを TestDatabase データベース内に作成します。
.create table ActivityLogsRawRecords (Records:dynamic)
中間テーブルのアイテム保持ポリシーをゼロに設定します。
.alter-merge table ActivityLogsRawRecords policy retention softdelete = 0d
テーブル マッピングを作成する
データ形式は jsonされているため、データ マッピングを作成する必要があります。
json マッピングでは、各 JSON パスがテーブルの列名に接続されます。 JSON パスに特殊文字が含まれる場合は、['Property Name'] としてエスケープします。 詳しくは、「JSONPath 構文」を参照してください。
診断メトリックとログをテーブルにマップする
次のクエリを使用して、診断メトリックとログ データをテーブルにマップします。
.create table DiagnosticRawRecords ingestion json mapping 'DiagnosticRawRecordsMapping' '[{"column":"Records","Properties":{"path":"$.records"}}]'
アクティビティ ログをテーブルにマップする
次のクエリを使用して、アクティビティ ログ データをテーブルにマップします。
.create table ActivityLogsRawRecords ingestion json mapping 'ActivityLogsRawRecordsMapping' '[{"column":"Records","Properties":{"path":"$.records"}}]'
メトリックおよびログのデータの更新ポリシーを作成する
診断メトリックのデータ更新ポリシーを作成する
コレクション内の各値が個別の行を取得するように、診断メトリック レコードのコレクションを拡張する 関数 を作成します。
mv-expand 演算子を使用します。
.create function DiagnosticMetricsExpand() {
DiagnosticRawRecords
| mv-expand events = Records
| where isnotempty(events.metricName)
| project
Timestamp = todatetime(events['time']),
ResourceId = tostring(events.resourceId),
MetricName = tostring(events.metricName),
Count = toint(events['count']),
Total = todouble(events.total),
Minimum = todouble(events.minimum),
Maximum = todouble(events.maximum),
Average = todouble(events.average),
TimeGrain = tostring(events.timeGrain)
}
更新ポリシーをターゲット テーブルに追加します。 このポリシーは、 DiagnosticRawRecords 中間データ テーブル内の新しく取り込まれたデータに対してクエリを自動的に実行し、その結果を DiagnosticMetrics テーブルに取り込みます。
.alter table DiagnosticMetrics policy update @'[{"Source": "DiagnosticRawRecords", "Query": "DiagnosticMetricsExpand()", "IsEnabled": "True", "IsTransactional": true}]'
診断ログのデータ更新ポリシーを作成する
コレクション内の各値が個別の行を取得するように、診断ログ レコードのコレクションを拡張する 関数 を作成します。 Azure Data Explorer クラスターでインジェスト ログを有効にし、 インジェスト ログ スキーマを使用します。 成功したインジェストと失敗したインジェスト用に 1 つのテーブルを作成します。一部のフィールドは、成功したインジェスト (ErrorCode など) では空です。
mv-expand 演算子を使用します。
.create function DiagnosticLogsExpand() {
DiagnosticRawRecords
| mv-expand events = Records
| where isnotempty(events.operationName)
| project
Timestamp = todatetime(events['time']),
ResourceId = tostring(events.resourceId),
OperationName = tostring(events.operationName),
Result = tostring(events.resultType),
OperationId = tostring(events.properties.OperationId),
Database = tostring(events.properties.Database),
Table = tostring(events.properties.Table),
IngestionSourceId = tostring(events.properties.IngestionSourceId),
IngestionSourcePath = tostring(events.properties.IngestionSourcePath),
RootActivityId = tostring(events.properties.RootActivityId),
ErrorCode = tostring(events.properties.ErrorCode),
FailureStatus = tostring(events.properties.FailureStatus),
Details = tostring(events.properties.Details)
}
更新ポリシーをターゲット テーブルに追加します。 このポリシーは、 DiagnosticRawRecords 中間データ テーブル内の新しく取り込まれたデータに対してクエリを自動的に実行し、その結果を DiagnosticLogs テーブルに取り込みます。
.alter table DiagnosticLogs policy update @'[{"Source": "DiagnosticRawRecords", "Query": "DiagnosticLogsExpand()", "IsEnabled": "True", "IsTransactional": true}]'
アクティビティ ログのデータ更新ポリシーを作成する
コレクション内の各値が個別の行を取得するように、アクティビティ ログ レコードのコレクションを展開する 関数 を作成します。
mv-expand 演算子を使用します。
.create function ActivityLogRecordsExpand() {
ActivityLogsRawRecords
| mv-expand events = Records
| project
Timestamp = todatetime(events['time']),
ResourceId = tostring(events.resourceId),
OperationName = tostring(events.operationName),
Category = tostring(events.category),
ResultType = tostring(events.resultType),
ResultSignature = tostring(events.resultSignature),
DurationMs = toint(events.durationMs),
IdentityAuthorization = events.identity.authorization,
IdentityClaims = events.identity.claims,
Location = tostring(events.location),
Level = tostring(events.level)
}
更新ポリシーをターゲット テーブルに追加します。 このポリシーは、 ActivityLogsRawRecords 中間データ テーブル内の新しく取り込まれたデータに対してクエリを自動的に実行し、その結果 を ActivityLogs テーブルに取り込みます。
.alter table ActivityLogs policy update @'[{"Source": "ActivityLogsRawRecords", "Query": "ActivityLogRecordsExpand()", "IsEnabled": "True", "IsTransactional": true}]'
Azure Event Hubs 名前空間を作成する
Azure 診断設定により、ストレージ アカウントまたはイベント ハブへのメトリックとログのエクスポートが可能になります。 このチュートリアルでは、メトリックとログをイベント ハブ経由でルーティングします。 次の手順で、診断メトリックとログのイベント ハブ名前空間とイベント ハブを作成します。 Azure Monitor は、アクティビティ ログ用のイベント ハブ insights-operational-logs を作成します。
Azure portal で Azure Resource Manager テンプレートを使用して、イベント ハブを作成します。 この記事の残りの手順を実行するには、[Azure へのデプロイ] ボタンを右クリックして、[新しいウィンドウで開く] を選択します。
[Azure へのデプロイ] ボタンをクリックすると、Azure portal に移動します。
診断ログ用の Event Hubs 名前空間とイベント ハブを作成します。
Event Hubs 名前空間を作成する方法について説明します。
フォームに次の情報を入力します。 次の表に記載されていない設定については、既定値を使用してください。
|
設定 |
推奨値 |
説明 |
|
サブスクリプション |
あなたのサブスクリプション |
イベント ハブに使用する Azure サブスクリプションを選択します。 |
|
リソース グループ |
test-resource-group |
新しいリソース グループを作成します。 |
|
Location |
ニーズに最も適したリージョンを選択します。 |
他のリソースと同じ場所に、Event Hubs 名前空間を作成します。 |
|
名前空間名 |
AzureMonitoringData |
名前空間を識別する一意の名前を選択します。 |
|
イベント ハブ名 |
DiagnosticData |
イベント ハブは、固有のスコープ コンテナーを提供する名前空間以下にあります。 |
|
コンシューマー グループ名 |
adxpipeline |
コンシューマー グループ名を作成します。 コンシューマー グループを使用すると、複数のアプリケーションを使用して、それぞれがイベントストリームの個別のビューを持つことができます。 |
|
|
|
Azure Monitor のメトリックとログをイベント ハブに接続する
ここで、診断メトリックとログ、アクティビティ ログをイベント ハブに接続する必要があります。
診断メトリックとログをイベント ハブに接続する
メトリックをエクスポートするリソースを選択します。 診断データのエクスポートは、Event Hubs 名前空間、Azure Key Vault、Azure IoT Hub、Azure Data Explorer クラスターなど、複数のリソースの種類でサポートされます。 このチュートリアルでは、リソースとして Azure Data Explorer クラスターを使用します。 クエリ パフォーマンス メトリックとインジェスト結果ログを確認できます。
Azure portal でお使いの Kusto クラスターを選択します。
[診断設定] を選択してから、[診断をオンにする] リンクを選択します。
[診断設定] ペインが開きます。 次の手順を実行します。
診断ログ データに ADXExportedData という名前を付けます。
[ログ] で、[SucceededIngestion] と [FailedIngestion] の両方のチェック ボックスをオンにします。
[メトリック] の [クエリ パフォーマンス] チェック ボックスをオンにします。
[イベント ハブへのストリーム] チェック ボックスをオンにします。
[構成] をクリックします。
[イベント ハブの選択] ウィンドウで、自分が作成したイベント ハブに診断ログからデータをエクスポートする方法を構成します。
-
[イベント ハブの名前空間の選択] リストで、AzureMonitoringData を選択します。
-
[イベント ハブ名を選択する] リストで、DiagnosticData を選択します。
-
[イベント ハブ ポリシー名の選択] リストで、RootManagerSharedAccessKey を選択します。
-
[OK] を選択します。
[保存] を選択します。
アクティビティ ログをイベント ハブに接続する
Azure portal の左側のメニューで、[アクティビティ ログ] を選択します。
[アクティビティ ログ] ウィンドウが開きます。
[診断設定] を選択します。
[診断設定] ウィンドウが開きます。
[+ 診断設定の追加] を選択します。
新しい [診断設定] ウィンドウが開きます。
次の手順を実行します。
-
[診断設定の名前] フィールドに名前を入力します。
- チェック ボックスの左側で、サブスクリプションから収集するプラットフォーム ログを選択します。
-
[イベント ハブへのストリーム] チェック ボックスをオンにします。
- サブスクリプションを選択します。
-
[イベント ハブの名前空間] リストで、AzureMonitoringData を選択します。
- 必要に応じて、該当するイベント ハブの名前を選択します。
-
[イベント ハブ ポリシー名] リストで、既定のイベント ハブ ポリシー名を選択します。
- ウィンドウの左上隅にある [保存] を選択します。 イベント ハブ名を選択しない限り、 insights-operational-logs という名前のイベント ハブが作成されます。
イベント ハブに送られてくるデータを確認する
接続が定義され、イベント ハブへのアクティビティ ログのエクスポートが完了するまで数分待ちます。 ご自分の Event Hubs 名前空間に移動して、自分が作成したイベント ハブを確認します。
イベント ハブに送られてくるデータを確認します。
イベント ハブを Azure Data Explorer に接続する
次に、診断メトリックとログ、アクティビティ ログのデータ接続を作成する必要があります。
診断メトリックとログ、アクティビティ ログのデータ接続を作成する
kustodocs という名前の Azure Data Explorer クラスターで、左側のメニューの [データベース] を選択します。
[データベース] ウィンドウで、ご自分の TestDatabase データベースを選択します。
左側のメニューで、[データ インジェスト] を選択します。
[データ インジェスト] ウィンドウで、[+ データ接続の追加] を選びます。
[データ接続] ウィンドウで、次の情報を入力します。
[データ接続] ウィンドウで、次の設定を使用します。
データ ソース:
|
設定 |
推奨値 |
フィールドの説明 |
|
データ接続名 |
DiagnosticsLogsConnection |
Azure データ エクスプローラーで作成する接続の名前。 |
|
イベント ハブの名前空間 |
AzureMonitoringData |
以前に選択した、名前空間を識別する名前。 |
|
イベント ハブ |
DiagnosticData |
作成したイベント ハブ。 |
|
コンシューマー グループ |
adxpipeline |
作成したイベント ハブに定義されているコンシューマー グループ。 |
|
|
|
ターゲットテーブル:
ルーティングには、"静的" と "動的" という 2 つのオプションがあります。 このチュートリアルでは、静的ルーティング (既定値) を使用します。ここでは、テーブル名、データ形式、マッピングを指定します。
[My data includes routing info]\(データにルーティング情報が含まれている\) をオフのままにしておきます。
|
設定 |
推奨値 |
フィールドの説明 |
|
Table |
DiagnosticRawRecords |
自分が TestDatabase データベースに作成したテーブル。 |
|
データ形式 |
JSON |
テーブルで使用される形式。 |
|
列マッピング |
DiagnosticRawRecordsMapping(診断未加工データ記録マッピング) |
自分が TestDatabase データベースに作成したマッピング。これにより、受信 JSON データが DiagnosticRawRecords テーブルの列名とデータ型にマッピングされます。 |
|
|
|
[作成] を選択します
[データ接続] ウィンドウで、次の設定を使用します。
データ ソース:
|
設定 |
推奨値 |
フィールドの説明 |
|
データ接続名 |
ActivityLogsConnection |
Azure データ エクスプローラーで作成する接続の名前。 |
|
イベント ハブの名前空間 |
AzureMonitoringData |
以前に選択した、名前空間を識別する名前。 |
|
イベント ハブ |
インサイト運用ログ |
作成したイベント ハブ。 |
|
コンシューマー グループ |
$Default |
既定のコンシューマー グループ。 必要な場合は、異なるコンシューマー グループを作成できます。 |
|
|
|
ターゲット テーブル:
ルーティングには、"静的" と "動的" という 2 つのオプションがあります。 このチュートリアルでは、静的ルーティング (既定値) を使用します。ここでは、テーブル名、データ形式、マッピングを指定します。
[My data includes routing info]\(データにルーティング情報が含まれている\) をオフのままにしておきます。
|
設定 |
推奨値 |
フィールドの説明 |
|
Table |
ActivityLogsRawRecords |
自分が TestDatabase データベースに作成したテーブル。 |
|
データ形式 |
JSON |
テーブルで使用される形式。 |
|
列マッピング |
ActivityLogsRawRecordsMapping |
自分が TestDatabase データベースに作成したマッピング。これにより、受信 JSON データが ActivityLogsRawRecords の列名とデータ型にマッピングされます。 |
|
|
|
[作成] を選択します
新しいテーブルのクエリを実行する
パイプラインをデータが流れるようになりました。 クラスターのインジェストには既定で 5 分かかります。そのため、クエリを開始する前に数分待ちます。
診断メトリック テーブルに対してクエリを実行する
次のクエリでは、Azure Data Explorer の診断メトリック レコードからクエリ期間のデータを分析します。
DiagnosticMetrics
| where Timestamp > ago(15m) and MetricName == 'QueryDuration'
| summarize avg(Average)
クエリの結果:
診断ログ テーブルに対してクエリを実行する
このパイプラインは、イベント ハブを介してインジェストを生成します。 これらのインジェストの結果を確認できます。
次のクエリでは、間隔ごとに Database、 Table、 IngestionSourcePath のサンプルなど、1 分間に発生したインジェストの数を分析します。
DiagnosticLogs
| where Timestamp > ago(15m) and OperationName has 'INGEST'
| summarize count(), take_any(Database, Table, IngestionSourcePath) by bin(Timestamp, 1m)
クエリの結果:
| カウント_ |
任意のデータベース |
any_Table |
任意_IngestionSourcePath
Note: The English parts are kept as they may represent specific system terminology that should remain unchanged for technical accuracy. |
| 00:06.156 |
TestDatabase |
DiagnosticRawRecords |
https://rtmkstrldkereneus00.blob.core.windows.net/20190827-readyforaggregation/1133_TestDatabase_DiagnosticRawRecords_6cf02098c0c74410bd8017c2d458b45d.json.zip |
アクティビティ ログ テーブルに対してクエリを実行する
次のクエリでは、Azure Data Explorer のアクティビティ ログ レコードのデータを分析します。
ActivityLogs
| where OperationName == 'MICROSOFT.EVENTHUB/NAMESPACES/AUTHORIZATIONRULES/LISTKEYS/ACTION'
| where ResultType == 'Success'
| summarize avg(DurationMs)
クエリの結果:
関連するコンテンツ