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 столбцов, введенных для любой таблицы в рабочей области Log Analytics из-за широкого ассортимента ресурсов Azure, способных отправлять данные в эту таблицу. Чтобы гарантировать, что данные не будут потеряны из-за количества активных столбцов, превышающих это ограничение в 500 столбцов, создание столбца AzureDiagnostics обрабатывается по-другому.

Таблица AzureDiagnostics в каждой рабочей области содержит как минимум те же 200 столбцов. Для рабочих областей, созданных до 19 января 2021 года, таблица также содержит все столбцы, которые уже были созданы до этой даты. Когда данные отправляются в столбец, не выполняющийся:

  • Если общее количество столбцов в 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

Хотя следует следовать рекомендациям по запросу, таким как всегда фильтрация по первому предложению в запросе, при работе с Дополнительными полями следует учитывать некоторые другие рекомендации.

  • Перед выполнением дальнейших операций с ним необходимо вводить данные передачи. Например, если у вас есть столбец с именем Perf1Sec_i и свойство в AdditionalFields с именем Perf2Sec, и вы хотите вычислить общее значение, добавив оба значения, можно использовать следующее: AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | ....
  • Используйте предложения, чтобы уменьшить объем данных до наименьшего возможного, прежде чем писать сложную логику, чтобы значительно повысить производительность. TimeGenerated — это один столбец, который всегда должен быть сокращен до наименьшего возможного окна. В случае AzureDiagnostics дополнительный фильтр всегда должен быть включен в верхней части запроса вокруг типов ресурсов, запрашиваемых с помощью столбца ResourceType .
  • При запросе больших объемов данных иногда эффективнее выполнять фильтрацию в Дополнительных Полях в целом, а не анализировать их. Например, для больших объемов данных AzureDiagnostics | where AdditionalFields has "Perf2Sec" часто эффективнее AzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec)).

Ресурсы с помощью режима Диагностика Azure

Следующие службы используют режим azure диагностика для журналов ресурсов и отправляют данные в таблицу Диагностика Azure. Дополнительные сведения об этой конфигурации см . в журналах ресурсов Azure.

Примечание.

Все остальные ресурсы отправляют данные в таблицы, относящиеся к ресурсам.

Service name resourceType
MicrosoftSqlAzureTelemetryv3 microsoft.sql/servers/databases
MicrosoftAzureCosmosDB microsoft.documentdb/databaseaccounts
Подсеть брандмауэра microsoft.network/azurefirewalls
AzureApplicationGatewayService microsoft.network/applicationgateways
AKSCustomerData microsoft.containerservice/managedclusters
AzureFrontdoor microsoft.cdn/profiles
LNMAgentService microsoft.network/networksecuritygroups
MicrosoftOrcasBreadthServers microsoft.dbforpostgresql/гибкие серверы
servicebus microsoft.eventhub/namespaces
AzureFrontdoor microsoft.network/frontdoors
AzureKeyVault microsoft.keyvault/vaults
AzureDataLake microsoft.datalakestore/accounts
Управление API 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/гибкие серверы
NetMon microsoft.network/publicipprefixes
AzureCdn microsoft.cdn/profiles/endpoints

режим Диагностика Azure или режим, зависящий от ресурса

Следующие службы используют режим диагностика Azure или режим, зависящий от ресурсов, для журналов ресурсов в зависимости от конфигурации параметров диагностика. При использовании режима, относящийся к ресурсу, эти ресурсы не отправляют данные в таблицу AzureDiagnostics. Дополнительные сведения об этой конфигурации см . в журналах ресурсов Azure.

Service name resourceType
Службы Управление API Microsoft.ApiManagement
Azure Cosmos DB Microsoft.DocumentDB/databaseAccounts
Фабрики данных (версии 2) Microsoft.DataFactory
Хранилища служб восстановления (резервное копирование) Microsoft.RecoveryServices/vaults
Брандмауэры Microsoft.Network/azureFirewalls

Столбцы таблицы AzureDiagnostics

Column Type Описание
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 Строка
Категория Строка
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 Дата/время
Environment_s Строка
error_code_s Строка
error_message_s Строка
errorLevel_s Строка
event_class_s Строка
event_s Строка
event_subclass_s Строка
event_time_t Дата/время
EventName_s Строка
execution_type_d Двойной
executionInfo_endTime_t Дата/время
executionInfo_exitCode_d Двойной
executionInfo_startTime_t Дата/время
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 Двойной