你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
AzureDiagnostics
存储使用 Azure 诊断模式的 Azure 服务的资源日志。 资源日志描述 Azure 资源的内部操作。
每个 Azure 服务的资源日志具有一组唯一的列。 AzureDiagnostics 表包含 Azure 服务最常用的列。 如果资源日志包含一列,但该列在 AzureDiagnostics 表中尚不存在,则会在第一次收集数据时添加该列。 如果达到 500 列的最大数量,则任何其他列的数据都会添加到动态列中。
使用特定于资源的模式的 Azure 服务将数据存储在特定于该服务的表中,并且不使用 AzureDiagnostics 表。 有关差异的详细信息,请参阅 Azure 资源日志。 有关使用Azure 诊断的服务,请参阅使用Azure 诊断模式的资源。
注意
AzureDiagnostics 表是 Azure Monitor 管道在 Azure 资源首次开始以 Azure 诊断模式发送日志时专门创建的自定义日志表。 与其他表不同,AzureDiagnostics 表不能通过 ARM 模板或表 API 来创建。 因此,在创建表格之前,无法修改表的默认保留值。
AdditionalFields 列
与其他表不同的是,AzureDiagnostics 更容易超过日志分析工作区中任何表的 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 发送数据,添加名为 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 的列和一个名为 Perf2Sec 的 AdditionalFields 中的属性,并且你想要通过添加这两个值来计算总性能,则可以使用以下方法:
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 | 字符串 | |
action_name_s | 字符串 | |
action_s | 字符串 | |
ActivityId_g | Guid | |
AdditionalFields | ||
AdHocOrScheduledJob_s | 字符串 | |
application_name_s | 字符串 | |
audit_schema_version_d | 双精度 | |
avg_cpu_percent_s | 字符串 | |
avg_mean_time_s | 字符串 | |
backendHostname_s | 字符串 | |
Caller_s | 字符串 | |
callerId_s | 字符串 | |
CallerIPAddress | 字符串 | |
calls_s | 字符串 | |
Category | 字符串 | |
client_ip_s | 字符串 | |
clientInfo_s | 字符串 | |
clientIP_s | 字符串 | |
clientIp_s | 字符串 | |
clientIpAddress_s | 字符串 | |
clientPort_d | 双精度 | |
code_s | 字符串 | |
collectionName_s | 字符串 | |
conditions_destinationIP_s | 字符串 | |
conditions_destinationPortRange_s | 字符串 | |
conditions_None_s | 字符串 | |
conditions_protocols_s | 字符串 | |
conditions_sourceIP_s | 字符串 | |
conditions_sourcePortRange_s | 字符串 | |
CorrelationId | 字符串 | |
count_executions_d | 双精度 | |
cpu_time_d | 双精度 | |
database_name_s | 字符串 | |
database_principal_name_s | 字符串 | |
DatabaseName_s | 字符串 | |
db_id_s | 字符串 | |
direction_s | 字符串 | |
dop_d | 双精度 | |
duration_d | 双精度 | |
duration_milliseconds_d | 双精度 | |
DurationMs | Bigint | |
ElasticPoolName_s | 字符串 | |
endTime_t | DateTime | |
Environment_s | 字符串 | |
error_code_s | 字符串 | |
error_message_s | 字符串 | |
errorLevel_s | 字符串 | |
event_class_s | 字符串 | |
event_s | 字符串 | |
event_subclass_s | 字符串 | |
event_time_t | DateTime | |
EventName_s | 字符串 | |
execution_type_d | 双精度 | |
executionInfo_endTime_t | DateTime | |
executionInfo_exitCode_d | 双精度 | |
executionInfo_startTime_t | DateTime | |
host_s | 字符串 | |
httpMethod_s | 字符串 | |
httpStatus_d | 双精度 | |
httpStatusCode_d | 双精度 | |
httpStatusCode_s | 字符串 | |
httpVersion_s | 字符串 | |
id_s | 字符串 | |
identity_claim_appid_g | Guid | |
identity_claim_ipaddr_s | 字符串 | |
instanceId_s | 字符串 | |
interval_end_time_d | 双精度 | |
interval_start_time_d | 双精度 | |
ip_s | 字符串 | |
is_column_permission_s | 字符串 | |
isAccessPolicyMatch_b | Bool | |
JobDurationInSecs_s | 字符串 | |
JobFailureCode_s | 字符串 | |
JobId_g | Guid | |
jobId_s | 字符串 | |
JobOperation_s | 字符串 | |
JobOperationSubType_s | 字符串 | |
JobStartDateTime_s | 字符串 | |
JobStatus_s | 字符串 | |
JobUniqueId_g | Guid | |
级别 | 字符串 | |
log_bytes_used_d | 双精度 | |
logical_io_reads_d | 双精度 | |
logical_io_writes_d | 双精度 | |
LogicalServerName_s | 字符串 | |
macAddress_s | 字符串 | |
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 | 字符串 | |
mean_time_s | 字符串 | |
Message | 字符串 | |
min_time_s | 字符串 | |
msg_s | 字符串 | |
num_physical_io_reads_d | 双精度 | |
object_id_d | 双精度 | |
object_name_s | 字符串 | |
OperationName | 字符串 | |
OperationVersion | 字符串 | |
partitionKey_s | 字符串 | |
physical_io_reads_d | 双精度 | |
plan_id_d | 双精度 | |
policy_s | 字符串 | |
policyMode_s | 字符串 | |
primaryIPv4Address_s | 字符串 | |
priority_d | 双精度 | |
properties_enabledForDeployment_b | Bool | |
properties_enabledForDiskEncryption_b | Bool | |
properties_enabledForTemplateDeployment_b | Bool | |
properties_s | 字符串 | |
properties_sku_Family_s | 字符串 | |
properties_sku_Name_s | 字符串 | |
properties_tenantId_g | Guid | |
query_hash_s | 字符串 | |
query_id_d | 双精度 | |
query_max_used_memory_d | 双精度 | |
query_plan_hash_s | 字符串 | |
query_time_d | 双精度 | |
querytext_s | 字符串 | |
receivedBytes_d | 双精度 | |
Region_s | 字符串 | |
requestCharge_s | 字符串 | |
requestQuery_s | 字符串 | |
requestResourceId_s | 字符串 | |
requestResourceType_s | 字符串 | |
requestUri_s | 字符串 | |
reserved_storage_mb_s | 字符串 | |
资源 | 字符串 | |
resource_actionName_s | 字符串 | |
resource_location_s | 字符串 | |
resource_originRunId_s | 字符串 | |
resource_resourceGroupName_s | 字符串 | |
resource_runId_s | 字符串 | |
resource_subscriptionId_g | Guid | |
resource_triggerName_s | 字符串 | |
resource_workflowId_g | Guid | |
resource_workflowName_s | 字符串 | |
ResourceGroup | 字符串 | |
_ResourceId | 字符串 | 与记录关联的资源的唯一标识符 |
ResourceProvider | 字符串 | |
ResourceProvider | 字符串 | |
ResourceType | 字符串 | |
ResourceType | 字符串 | |
response_rows_d | 双精度 | |
resultCode_s | 字符串 | |
ResultDescription | 字符串 | |
ResultDescription | 字符串 | |
resultDescription_ChildJobs_s | 字符串 | |
resultDescription_ErrorJobs_s | 字符串 | |
resultMessage_s | 字符串 | |
ResultSignature | 字符串 | |
ResultType | 字符串 | |
ResultType | 字符串 | |
rootCauseAnalysis_s | 字符串 | |
routingRuleName_s | 字符串 | |
rowcount_d | 双精度 | |
ruleName_s | 字符串 | |
RunbookName_s | 字符串 | |
RunOn_s | 字符串 | |
schema_name_s | 字符串 | |
sentBytes_d | 双精度 | |
sequence_group_id_g | Guid | |
sequence_number_d | 双精度 | |
server_principal_sid_s | 字符串 | |
session_id_d | 双精度 |