AzureDiagnostics
Azure Diagnostics モードを使用する Azure サービスのリソース ログが格納されます。 リソース ログには、Azure リソースの内部操作が記述されています。
各 Azure サービスのリソース ログには、固有の列のセットがあります。 AzureDiagnostics テーブルには、Azure サービスによって使用される最も一般的な列が含まれています。 リソース ログに AzureDiagnostics テーブルにまだ存在しない列が含まれている場合は、データが初めて収集されたときにその列が追加されます。 500 列の最大数に達すると、追加の列のデータが動的列に追加されます。
リソース固有モードを使用する Azure サービスは、そのサービスに固有のテーブルにデータを格納し、AzureDiagnostics テーブルを使用しません。 各メソッドを使用するサービスについては、以下の「 Resource Types を参照してください。 違いの詳細については、 Azure リソース ログ を参照してください。
Note
AzureDiagnostics テーブルは、Azure リソースが初めて Azure Diagnostics モードでログの送信を開始するときに、Azure Monitor パイプラインによって排他的に作成されたカスタム ログ テーブルです。 他のテーブルとは異なり、ARM テンプレートまたはテーブル API を使用して AzureDiagnostics テーブルを作成することはできません。 そのため、作成前にテーブルの既定の保持値を変更することはできません。
AdditionalFields 列
他のテーブルとは異なり、 AzureDiagnostics は、このテーブルにデータを送信できるさまざまな Azure リソースがあるため、Log Analytics ワークスペース内の任意のテーブルに対して課される 500 列の制限を超える可能性がはるかに高くなります。 アクティブな列の数がこの 500 列の制限を超えたためにデータが失われないようにするために、AzureDiagnostics 列の作成は他のテーブルとは異なる方法で処理されます。
すべてのワークスペースの AzureDiagnostics テーブルには、少なくとも同じ 200 列が含まれています。 2021 年 1 月 19 日より前に作成されたワークスペースの場合、テーブルには、この日付より前に既に配置されていた列も含まれています。 データがまだ配置されていない列に送信される場合:
- 現在のワークスペースの AzureDiagnostics の列の合計数が 500 を超えない場合は、他のテーブルと同様に新しい列が作成されます。
- 列の合計数が 500 以上の場合、余分なデータは、プロパティとして AdditionalFields という動的プロパティ バッグ列に追加されます。
例
この動作を説明するために、ワークパス内の AzureDiagnostics テーブルが次のように見える (デプロイ日) とします。
列 1 | 列 2 | 列 3 | ... | 列 498 |
---|---|---|---|---|
abc | def | 123 | ... | 456 |
... | ... | ... | ... | ... |
AzureDiagnostics にデータを送信するリソースNewInfo1を呼び出すデータに新しいディメンションを追加します。 テーブルの列数は 500 未満であるため、この新しいディメンションのデータを含むイベントが初めて発生すると、テーブルに新しい列が追加されます。
列 1 | 列 2 | 列 3 | ... | 列 498 | NewInfo1_s |
---|---|---|---|---|---|
abc | def | 123 | ... | 456 | xyz |
... | ... | ... | ... | ... | ... |
この新しいデータは、単純なクエリで返すことができます。
AzureDiagnostics | where NewInfo1_s == "xyz"
後日、別のリソースがデータを AzureDiagnostics に送信し、 NewInfo2 および NewInfo3 という名前の新しいディメンションを追加します。 テーブルはこのワークスペースで 500 列に達したため、新しいデータは AdditionalFields 列に入ります。
列 1 | 列 2 | 列 3 | ... | 列 498 | NewInfo1_s | AdditionalFields |
---|---|---|---|---|---|---|
abc | def | 123 | ... | 456 | xyz | {"NewInfo2":"789","NewInfo3":"qwerty"} |
... | ... | ... | ... | ... | ... | ... |
このデータのクエリは引き続き実行できますが、KQL の動的プロパティ演算子のいずれかを使用してプロパティ バッグから抽出する必要があります。
AzureDiagnostics
| where AdditionalFields.NewInfo2 == "789" and AdditionalFields.NewInfo3 == "qwerty"
AdditionalFields
列の使用に関するヒント
クエリの最初の句として常に時間でフィルター処理するなどの一般的なクエリのベスト プラクティスに従う必要がありますが、AdditionalFields を使用する場合は、他にもいくつかの推奨事項を考慮する必要があります。
- データに対してさらに操作を実行する前に、データを型キャストする必要があります。 たとえば、 Perf1Sec_i と呼ばれる列と、 AdditionalFields Perf2Sec と呼ばれるプロパティが存在し、両方の値を追加して合計パフォーマンスを計算する場合は、次のように使用します。
AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | ....
。 - where 句を使用して、パフォーマンスを大幅に向上させるために複雑なロジックを記述する前に、データ 量をできるだけ小さくします。 TimeGenerated は、常に可能な限り小さいウィンドウに縮小する必要がある 1 つの列です。 AzureDiagnosticsの場合は、ResourceType列を使用してクエリされるリソースの種類に関するクエリの先頭にも追加のフィルターを常に含める必要があります。
- 非常に大量のデータに対してクエリを実行する場合、 AdditionalFields 全体でフィルター処理を行う方が、解析よりも効率的な場合があります。 たとえば、大量のデータ
AzureDiagnostics | where AdditionalFields has "Perf2Sec"
の場合、多くの場合、AzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec))
よりも効率的です。
Azure Diagnostics モード
次のサービスでは、リソース ログに Azure 診断モードを使用し、Azure Diagnostics テーブルにデータを送信します。
- Analysis Services
- アプリケーション ゲートウェイ
- Automation アカウント
- Azure Database for MariaDB サーバー
- Azure Database for MySQL サーバー
- Azure Database for PostgreSQL サーバー
- Azure Database for PostgreSQL サーバー v2
- Batch アカウント
- CDN のプロファイル数
- Cognitive Services
- Data Lake Analytics
- DataLake Storage Gen1
- デバイス プロビジョニング サービス
- Digital Twins
- Event Grid トピック
- Event Hubs
- ExpressRoute 回線
- Front Doors
- 統合アカウント
- Key Vault
- Kubernetes サービス
- ロード バランサー
- Logic Apps
- Media Services
- ネットワーク インターフェイス
- ネットワーク セキュリティ グループ
- P2S VPN ゲートウェイ
- Power BI Embedded
- パブリック IP アドレス
- Recovery Services コンテナー (Site Recovery)
- 検索サービス
- Service Bus
- SQL データベース
- SQL managed Instances
- SQL Server
- Stream Analytics ジョブ
- Traffic Manager プロファイル
- 仮想ネットワーク
- 仮想ネットワーク ゲートウェイ
- VPN ゲートウェイ
Azure Diagnostics モードまたはリソース固有モード
次のサービスでは、構成に応じて、リソース ログに Azure 診断モードまたはリソース固有モードが使用されます。 リソース固有モードを使用する場合、AzureDiagnostics テーブルにデータを送信しません。 この構成の詳細については、 Azure リソース ログ を参照してください。
- API Management サービス
- Azure Cosmos DB
- データ ファクトリ (V2)
- IoT Hub
- Recovery Services コンテナー (バックアップ)
- ファイアウォール
カテゴリ
- [Azure リソース]
- セキュリティ
- ネットワーク
ソリューション
- LogManagement
リソースの種類
- アプリケーション ゲートウェイ
- CDN プロファイル
- Azure Cosmos DB
- Event Grid トピック
- Event Hubs
- ファイアウォール
- キー コンテナー
- Kubernetes サービス
- Recovery Services コンテナー
- Service Bus
- Azure Database for MySQL フレキシブル サーバー
- Azure Database for PostgreSQL フレキシブル サーバー
- Media Services
- Analysis Services
- Batch アカウント
- Cognitive Services
- Event Grid パートナー名前空間
- Event Grid パートナー トピック
- Event Grid システム トピック
- Azure Arc 対応 Kubernetes
- Azure Arc プロビジョニング 済みクラスター
- IoT Hub
- Logic Apps
- API Management サービス
- Automation アカウント
- データ ファクトリ
- Data Lake Storage Gen1
- Data Lake Analytics
- Power BI Embedded
- SQL マネージド インスタンス
- SQL Server
- SQL Database
- Azure Database for MySQL サーバー
- Azure Database for PostgreSQL サーバー
- Azure Database for PostgreSQL Servers V2
- Azure Database for MariaDB サーバー
- デバイス プロビジョニング サービス
- ExpressRoute 回線
- Front Doors
- ネットワーク インターフェイス
- ネットワーク セキュリティ グループ
- パブリック IP アドレス
- Traffic Manager プロファイル
- 仮想ネットワーク ゲートウェイ
- 仮想プライベート ネットワーク ゲートウェイ
- 仮想ネットワーク
- 検索サービス
- Stream Analytics ジョブ
列
列 | タイプ | 説明 |
---|---|---|
action_id_s | String | |
action_name_s | String | |
action_s | String | |
ActivityId_g | GUID | |
AdditionalFields | ||
AdHocOrScheduledJob_s | String | |
application_name_s | String | |
audit_schema_version_d | 倍精度浮動小数点型 | |
avg_cpu_percent_s | String | |
avg_mean_time_s | String | |
backendHostname_s | String | |
Caller_s | String | |
callerId_s | String | |
CallerIPAddress | String | |
calls_s | String | |
カテゴリ | String | |
client_ip_s | String | |
clientInfo_s | String | |
clientIP_s | String | |
clientIp_s | String | |
clientIpAddress_s | String | |
clientPort_d | 倍精度浮動小数点型 | |
code_s | String | |
collectionName_s | String | |
conditions_destinationIP_s | String | |
conditions_destinationPortRange_s | String | |
conditions_None_s | String | |
conditions_protocols_s | String | |
conditions_sourceIP_s | String | |
conditions_sourcePortRange_s | String | |
CorrelationId | String | |
count_executions_d | 倍精度浮動小数点型 | |
cpu_time_d | 倍精度浮動小数点型 | |
database_name_s | String | |
database_principal_name_s | String | |
DatabaseName_s | String | |
db_id_s | String | |
direction_s | String | |
dop_d | 倍精度浮動小数点型 | |
duration_d | 倍精度浮動小数点型 | |
duration_milliseconds_d | 倍精度浮動小数点型 | |
DurationMs | BigInt | |
ElasticPoolName_s | String | |
endTime_t | DateTime | |
Environment_s | String | |
error_code_s | String | |
error_message_s | String | |
errorLevel_s | String | |
event_class_s | String | |
event_s | String | |
event_subclass_s | String | |
event_time_t | DateTime | |
EventName_s | String | |
execution_type_d | 倍精度浮動小数点型 | |
executionInfo_endTime_t | DateTime | |
executionInfo_exitCode_d | 倍精度浮動小数点型 | |
executionInfo_startTime_t | DateTime | |
host_s | String | |
httpMethod_s | String | |
httpStatus_d | 倍精度浮動小数点型 | |
httpStatusCode_d | 倍精度浮動小数点型 | |
httpStatusCode_s | String | |
httpVersion_s | String | |
id_s | String | |
identity_claim_appid_g | GUID | |
identity_claim_ipaddr_s | String | |
instanceId_s | String | |
interval_end_time_d | 倍精度浮動小数点型 | |
interval_start_time_d | 倍精度浮動小数点型 | |
ip_s | String | |
is_column_permission_s | String | |
isAccessPolicyMatch_b | Bool | |
JobDurationInSecs_s | String | |
JobFailureCode_s | String | |
JobId_g | GUID | |
jobId_s | String | |
JobOperation_s | String | |
JobOperationSubType_s | String | |
JobStartDateTime_s | String | |
JobStatus_s | String | |
JobUniqueId_g | GUID | |
Level | String | |
log_bytes_used_d | 倍精度浮動小数点型 | |
logical_io_reads_d | 倍精度浮動小数点型 | |
logical_io_writes_d | 倍精度浮動小数点型 | |
LogicalServerName_s | String | |
macAddress_s | String | |
matchedConnections_d | 倍精度浮動小数点型 | |
max_cpu_time_d | 倍精度浮動小数点型 | |
max_dop_d | 倍精度浮動小数点型 | |
max_duration_d | 倍精度浮動小数点型 | |
max_log_bytes_used_d | 倍精度浮動小数点型 | |
max_logical_io_reads_d | 倍精度浮動小数点型 | |
max_logical_io_writes_d | 倍精度浮動小数点型 | |
max_num_physical_io_reads_d | 倍精度浮動小数点型 | |
max_physical_io_reads_d | 倍精度浮動小数点型 | |
max_query_max_used_memory_d | 倍精度浮動小数点型 | |
max_rowcount_d | 倍精度浮動小数点型 | |
max_time_s | String | |
mean_time_s | String | |
Message | String | |
min_time_s | String | |
msg_s | String | |
num_physical_io_reads_d | 倍精度浮動小数点型 | |
object_id_d | 倍精度浮動小数点型 | |
object_name_s | String | |
OperationName | String | |
OperationVersion | String | |
partitionKey_s | String | |
physical_io_reads_d | 倍精度浮動小数点型 | |
plan_id_d | 倍精度浮動小数点型 | |
policy_s | String | |
policyMode_s | String | |
primaryIPv4Address_s | String | |
priority_d | 倍精度浮動小数点型 | |
properties_enabledForDeployment_b | Bool | |
properties_enabledForDiskEncryption_b | Bool | |
properties_enabledForTemplateDeployment_b | Bool | |
properties_s | String | |
properties_sku_Family_s | String | |
properties_sku_Name_s | String | |
properties_tenantId_g | GUID | |
query_hash_s | String | |
query_id_d | 倍精度浮動小数点型 | |
query_max_used_memory_d | 倍精度浮動小数点型 | |
query_plan_hash_s | String | |
query_time_d | 倍精度浮動小数点型 | |
querytext_s | String | |
receivedBytes_d | 倍精度浮動小数点型 | |
Region_s | String | |
requestCharge_s | String | |
requestQuery_s | String | |
requestResourceId_s | String | |
requestResourceType_s | String | |
requestUri_s | String | |
reserved_storage_mb_s | String | |
リソース | String | |
resource_actionName_s | String | |
resource_location_s | String | |
resource_originRunId_s | String | |
resource_resourceGroupName_s | String | |
resource_runId_s | String | |
resource_subscriptionId_g | GUID | |
resource_triggerName_s | String | |
resource_workflowId_g | GUID | |
resource_workflowName_s | String | |
ResourceGroup | String | |
_ResourceId | String | レコードが関連付けられているリソースの一意識別子 |
ResourceProvider | String | |
ResourceProvider | String | |
ResourceType | String | |
ResourceType | String | |
response_rows_d | 倍精度浮動小数点型 | |
resultCode_s | String | |
ResultDescription | String | |
ResultDescription | String | |
resultDescription_ChildJobs_s | String | |
resultDescription_ErrorJobs_s | String | |
resultMessage_s | String | |
ResultSignature | String | |
ResultType | String | |
ResultType | String | |
rootCauseAnalysis_s | String | |
routingRuleName_s | String | |
rowcount_d | 倍精度浮動小数点型 | |
ruleName_s | String | |
RunbookName_s | String | |
RunOn_s | String | |
schema_name_s | String | |
sentBytes_d | 倍精度浮動小数点型 | |
sequence_group_id_g | GUID | |
sequence_number_d | 倍精度浮動小数点型 | |
server_principal_sid_s | String | |
session_id_d | 倍精度浮動小数点型 |