共用方式為


AzureDiagnostics

儲存使用了 Azure 診斷模式的 Azure 服務資源記錄。 資源記錄會描述 Azure 資源的內部作業。

每個 Azure 服務的資源記錄都有一組獨特的資料行。 AzureDiagnostics 資料表包含 Azure 服務最常使用的資料行。 如果資源記錄包含尚不存在於 AzureDiagnostics 資料表中的資料行,則會在第一次收集資料時新增該資料行。 如果達到數目上限 500 個資料行,則會將任何額外資料行的資料新增至動態資料行。

使用資源特定模式的 Azure 服務會將數據儲存在該服務特定的數據表中,且不會使用 AzureDiagnostics 數據表。 如需差異的詳細資訊,請參閱 Azure 資源 記錄。 如需使用 Azure 診斷 的服務,請參閱使用 Azure 診斷 模式的資源。

注意

AzureDiagnostics 數據表是 Azure 監視器管線第一次開始以 Azure 診斷 模式傳送記錄時,由 Azure 監視器管線獨佔建立的自定義記錄數據表。 不同於其他數據表,無法透過ARM樣本或資料表 API 建立 AzureDiagnostics 資料表。 因此,在建立數據表之前,無法修改數據表的預設保留值。

AdditionalFields 數據行

與其他數據表不同, AzureDiagnostics 更容易超過 Log Analytics 工作區中任何數據表所加設的 500 個數據行限制,因為能夠將數據傳送至此數據表的各種 Azure 資源。 為了確保由於活動數據行數目超過此 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 ,以新增名為 NewInfo2NewInfo3 的新維度。 由於此工作區中的數據表已達 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 時,您應該考慮一些其他建議:

  • 您必須先輸入cast 數據,才能對它執行進一步的作業。 例如,如果您有名為 Perf1Sec_i 的數據行,而且在 AdditionalFields稱為 Perf2Sec 的屬性,而且您想要藉由新增這兩個值來計算總效能,您可以使用下列專案:AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | ....
  • 使用 where 子句,在撰寫任何複雜邏輯以大幅改善效能之前,將數據量縮減為最小的可能。 TimeGenerated 是一個應該一律縮減為最小可能窗口的數據行。 在 AzureDiagnostics 的案例中,應該一律將額外的篩選包含在查詢的資源類型周圍,使用 ResourceType 數據行查詢的資源類型。
  • 查詢大量數據時,有時對 AdditionalFields 執行整體篩選,而不是剖析它會更有效率。 例如,對於大量數據, AzureDiagnostics | where AdditionalFields has "Perf2Sec" 通常比 更有 AzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec))效率。

使用 Azure 診斷 模式的資源

下列服務會針對其資源記錄使用 Azure 診斷模式,並將數據傳送至 Azure 診斷 數據表。 如需此設定的詳細資訊,請參閱 Azure 資源記錄

注意

所有其他資源都會將數據傳送至資源特定的數據表。

服務名稱 resourceType
MicrosoftSqlAzureTelemetryv3 microsoft.sql/servers/databases
MicrosoftAzureCosmosDB microsoft.documentdb/databaseaccounts
AzureFirewall microsoft.network/azurefirewalls
AzureApplicationGatewayService microsoft.network/applicationgateways
AKSCustomerData microsoft.containerservice/managedclusters
AzureFrontdoor microsoft.cdn/profiles
LNMAgentService microsoft.network/networksecuritygroups
MicrosoftOrcasBreadthServers microsoft.dbforpostgresql/flexibleservers
servicebus microsoft.eventhub/namespaces
AzureFrontdoor microsoft.network/frontdoors
AzureKeyVault microsoft.keyvault/vaults
AzureDataLake microsoft.datalakestore/accounts
ApiManagement microsoft.apimanagement/service
MicrosoftSqlAzureTelemetryv3 microsoft.sql/managedinstances
ASAzureRP microsoft.analysisservices/servers
MicrosoftOrcasBreadthServers microsoft.dbformysql/flexibleservers
servicebus microsoft.servicebus/namespaces
AzureIotHub microsoft.devices/iothubs
MicrosoftSqlAzureTelemetryv2 microsoft.dbforpostgresql/servers
MicrosoftSqlAzureTelemetryv2 microsoft.dbformariadb/servers
MicrosoftAutomation microsoft.automation/automationaccounts
TrafficManager microsoft.network/trafficmanagerprofiles
MicrosoftOrcasBreadthServers microsoft.dbforpostgresql/servergroupsv2
AzureSearch microsoft.search/searchservices
AzureHybrid microsoft.network/virtualnetworkgateways
MicrosoftSqlAzureTelemetryv3 microsoft.sql/managedinstances/databases
PBIDedicatedRP microsoft.powerbidedicated/capacities
AzureHybrid microsoft.network/vpngateways
MicrosoftDatafactory microsoft.datafactory/factories
MicrosoftCognitiveServices microsoft.cognitiveservices/accounts
AzureRecoveryServices microsoft.recoveryservices/vaults
AzureBatch microsoft.batch/batchaccounts
AzureHybrid microsoft.network/p2svpngateways
MicrosoftSqlAzureTelemetryv2 microsoft.dbformysql/servers
AzureKeyVault microsoft.keyvault/managedhsms
NetMon microsoft.network/publicipaddresses
AzureDataLake microsoft.datalakeanalytics/accounts
MicrosoftStreamanalytics microsoft.streamanalytics/streamingjobs
servicebus microsoft.relay/namespaces
AzureIotDps microsoft.devices/provisioningservices
MicrosoftAzureCosmosDB microsoft.documentdb/cassandraclusters
MicrosoftAzureCosmosDB microsoft.documentdb/mongoclusters
AKSCustomerData microsoft.containerservice/fleets
PBIDedicatedRP microsoft.powerbi/tenants/workspaces
AzureFrontdoor microsoft.cdn/cdnwebapplicationfirewallpolicies
AzureHybrid microsoft.network/expressroutecircuits
MicrosoftAzureCosmosDB microsoft.dbforpostgresql/flexibleservers
NetMon microsoft.network/publicipprefixes
AzureCdn microsoft.cdn/profiles/endpoints

Azure 診斷 模式或資源特定模式

下列服務會根據診斷設定組態,針對其資源記錄使用 Azure 診斷模式或資源特定模式。 使用資源特定模式時,這些資源不會將數據傳送至 AzureDiagnostics 數據表。 如需此設定的詳細資訊,請參閱 Azure 資源記錄

服務名稱 resourceType
API 管理 服務 Microsoft.ApiManagement
Azure Cosmos DB Microsoft.DocumentDB/databaseAccounts
資料處理站 (V2) Microsoft.DataFactory
復原服務保存庫(備份) Microsoft.RecoveryServices/vaults
防火牆 Microsoft.Network/azureFirewalls

AzureDiagnostics 數據表數據行

資料行 類型​ 描述
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
層級 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
訊息 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 雙重