AzureDiagnostics
Almacena los registros de recursos de los servicios de Azure que usan el modo de Azure Diagnostics. Los registros de recursos describen el funcionamiento interno de los recursos de Azure.
El registro de recursos de cada servicio de Azure tiene un conjunto único de columnas. La tabla AzureDiagnostics incluye las columnas más comunes que usan los servicios de Azure. Si un registro de recursos incluye una columna que aún no existe en la tabla AzureDiagnostics, esa columna se agrega la primera vez que se recopilan los datos. Si se alcanza el número máximo de 500 columnas, los datos de las columnas adicionales se agregan a una columna dinámica.
Los servicios de Azure que usan el modo específico del recurso almacenan datos en una tabla específica de ese servicio y no usan la tabla AzureDiagnostics. Consulte Registros de recursos de Azure para más información sobre las diferencias. Consulte Recursos mediante el modo azure Diagnostics para los servicios que usan Azure Diagnostics.
Nota:
La tabla AzureDiagnostics es una tabla de registro personalizada creada exclusivamente por la canalización de Azure Monitor la primera vez que un recurso de Azure comienza a enviar registros en modo azure Diagnostics. A diferencia de otras tablas, la tabla AzureDiagnostics no se puede crear a través de una API de tablas o plantillas de ARM. Por lo tanto, no es posible modificar los valores de retención predeterminados de la tabla antes de su creación.
Columna AdditionalFields
A diferencia de otras tablas, AzureDiagnostics es mucho más susceptible a superar el límite de 500 columnas impuesto para cualquier tabla de un área de trabajo de Log Analytics debido a la amplia variedad de recursos de Azure capaces de enviar datos a esta tabla. Para asegurarse de que no se pierde ningún dato debido al número de columnas activas que superen este límite de 500 columnas, la creación de columnas de AzureDiagnostics se controla de forma diferente a otras tablas.
La tabla AzureDiagnostics de cada área de trabajo contiene como mínimo las mismas 200 columnas. En el caso de las áreas de trabajo creadas antes del 19 de enero de 2021, la tabla también contiene las columnas que ya estaban en vigor antes de esta fecha. Cuando los datos se envían a una columna que aún no están en su lugar:
- Si el número total de columnas de AzureDiagnostics en el área de trabajo actual no supera los 500, se crea una nueva columna igual que con cualquier otra tabla.
- Si el número total de columnas es igual o superior a 500, el exceso de datos se agrega a una columna de contenedor de propiedades dinámica denominada AdditionalFields como propiedad.
Ejemplo
Para ilustrar este comportamiento, imagine que a partir de (fecha de implementación) la tabla AzureDiagnostics de nuestro área de trabajo tiene el siguiente aspecto:
Columna 1 | Columna 2 | Columna 3 | ... | Columna 498 |
---|---|---|---|---|
abc | def | 123 | ... | 456 |
... | ... | ... | ... | ... |
Un recurso que envía datos a AzureDiagnostics agrega una nueva dimensión a sus datos que llaman a NewInfo1. Puesto que la tabla todavía tiene menos de 500 columnas, la primera vez que se produce un evento que contiene datos para esta nueva dimensión agrega una nueva columna a la tabla:
Columna 1 | Columna 2 | Columna 3 | ... | Columna 498 | NewInfo1_s |
---|---|---|---|---|---|
abc | def | 123 | ... | 456 | xyz |
... | ... | ... | ... | ... | ... |
Puede devolver estos nuevos datos en una consulta sencilla:
AzureDiagnostics | where NewInfo1_s == "xyz"
En una fecha posterior, otro recurso envía datos a AzureDiagnostics que agrega nuevas dimensiones denominadas NewInfo2 y NewInfo3. Dado que la tabla ha alcanzado 500 columnas en esta área de trabajo, los nuevos datos entran en la columna AdditionalFields :
Columna 1 | Columna 2 | Columna 3 | ... | Columna 498 | NewInfo1_s | AdditionalFields |
---|---|---|---|---|---|---|
abc | def | 123 | ... | 456 | xyz | {"NewInfo2":"789","NewInfo3":"qwerty"} |
... | ... | ... | ... | ... | ... | ... |
Todavía puede consultar estos datos, pero debe extraerlos del contenedor de propiedades mediante cualquiera de los operadores de propiedades dinámicas de KQL:
AzureDiagnostics
| where AdditionalFields.NewInfo2 == "789" and AdditionalFields.NewInfo3 == "qwerty"
Sugerencias sobre el uso de la AdditionalFields
columna
Aunque se deben seguir procedimientos recomendados de consulta, como filtrar siempre por tiempo, como la primera cláusula de la consulta, hay otras recomendaciones que debe tener en cuenta al trabajar con AdditionalFields:
- Debe escribir los datos antes de realizar más operaciones en él. Por ejemplo, si tiene una columna denominada Perf1Sec_i y una propiedad en AdditionalFields denominada Perf2Sec, y desea calcular el rendimiento total agregando ambos valores, puede usar lo siguiente:
AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | ....
. - Use cláusulas where para reducir el volumen de datos al menor posible antes de escribir cualquier lógica compleja para mejorar significativamente el rendimiento. TimeGenerated es una columna que siempre debe reducirse a la ventana más pequeña posible. En el caso de AzureDiagnostics, siempre se debe incluir un filtro adicional en la parte superior de la consulta en torno a los tipos de recursos que se consultan mediante la columna ResourceType .
- Al consultar grandes volúmenes de datos, a veces es más eficaz realizar un filtro en AdditionalFields como un todo en lugar de analizarlos. Por ejemplo, para grandes volúmenes de datos,
AzureDiagnostics | where AdditionalFields has "Perf2Sec"
a menudo es más eficaz queAzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec))
.
Recursos mediante el modo de diagnóstico de Azure
Los siguientes servicios usan el modo de diagnóstico de Azure para sus registros de recursos y envían datos a la tabla azure Diagnostics. Consulte Registros de recursos de Azure para más información sobre esta configuración.
Nota:
Todos los demás recursos envían datos a tablas específicas de recursos.
Nombre del servicio | 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 |
Modo de diagnóstico de Azure o modo específico de recursos
Los siguientes servicios usan el modo de diagnóstico de Azure o el modo específico del recurso para sus registros de recursos en función de la configuración de configuración de diagnóstico. Al usar el modo específico del recurso, estos recursos no envían datos a la tabla AzureDiagnostics. Consulte Registros de recursos de Azure para más información sobre esta configuración.
Nombre del servicio | resourceType |
---|---|
API Management Services | Microsoft.ApiManagement |
Azure Cosmos DB | Microsoft.DocumentDB/databaseAccounts |
Factorías de datos (V2) | Microsoft.DataFactory |
Almacenes de Recovery Services(Copia de seguridad) | Microsoft.RecoveryServices/vaults |
Firewalls | Microsoft.Network/azureFirewalls |
Columnas de la tabla AzureDiagnostics
Columna | Type | Descripción |
---|---|---|
action_id_s | Cadena | |
action_name_s | Cadena | |
action_s | Cadena | |
ActivityId_g | GUID | |
AdditionalFields | ||
AdHocOrScheduledJob_s | Cadena | |
application_name_s | Cadena | |
audit_schema_version_d | Double | |
avg_cpu_percent_s | Cadena | |
avg_mean_time_s | Cadena | |
backendHostname_s | Cadena | |
Caller_s | Cadena | |
callerId_s | Cadena | |
CallerIPAddress | Cadena | |
calls_s | Cadena | |
Category | Cadena | |
client_ip_s | Cadena | |
clientInfo_s | Cadena | |
clientIP_s | Cadena | |
clientIp_s | Cadena | |
clientIpAddress_s | Cadena | |
clientPort_d | Double | |
code_s | Cadena | |
collectionName_s | Cadena | |
conditions_destinationIP_s | Cadena | |
conditions_destinationPortRange_s | Cadena | |
conditions_None_s | Cadena | |
conditions_protocols_s | Cadena | |
conditions_sourceIP_s | Cadena | |
conditions_sourcePortRange_s | Cadena | |
CorrelationId | Cadena | |
count_executions_d | Double | |
cpu_time_d | Double | |
database_name_s | Cadena | |
database_principal_name_s | Cadena | |
DatabaseName_s | Cadena | |
db_id_s | Cadena | |
direction_s | Cadena | |
dop_d | Double | |
duration_d | Double | |
duration_milliseconds_d | Double | |
DurationMs | BigInt | |
ElasticPoolName_s | Cadena | |
endTime_t | DateTime | |
Environment_s | Cadena | |
error_code_s | Cadena | |
error_message_s | Cadena | |
errorLevel_s | Cadena | |
event_class_s | Cadena | |
event_s | Cadena | |
event_subclass_s | Cadena | |
event_time_t | DateTime | |
EventName_s | Cadena | |
execution_type_d | Double | |
executionInfo_endTime_t | DateTime | |
executionInfo_exitCode_d | Double | |
executionInfo_startTime_t | DateTime | |
host_s | Cadena | |
httpMethod_s | Cadena | |
httpStatus_d | Double | |
httpStatusCode_d | Double | |
httpStatusCode_s | Cadena | |
httpVersion_s | Cadena | |
id_s | Cadena | |
identity_claim_appid_g | GUID | |
identity_claim_ipaddr_s | Cadena | |
instanceId_s | Cadena | |
interval_end_time_d | Double | |
interval_start_time_d | Double | |
ip_s | Cadena | |
is_column_permission_s | Cadena | |
isAccessPolicyMatch_b | Booleano | |
JobDurationInSecs_s | Cadena | |
JobFailureCode_s | Cadena | |
JobId_g | GUID | |
jobId_s | Cadena | |
JobOperation_s | Cadena | |
JobOperationSubType_s | Cadena | |
JobStartDateTime_s | Cadena | |
JobStatus_s | Cadena | |
JobUniqueId_g | GUID | |
Nivel | Cadena | |
log_bytes_used_d | Double | |
logical_io_reads_d | Double | |
logical_io_writes_d | Double | |
LogicalServerName_s | Cadena | |
macAddress_s | Cadena | |
matchedConnections_d | Double | |
max_cpu_time_d | Double | |
max_dop_d | Double | |
max_duration_d | Double | |
max_log_bytes_used_d | Double | |
max_logical_io_reads_d | Double | |
max_logical_io_writes_d | Double | |
max_num_physical_io_reads_d | Double | |
max_physical_io_reads_d | Double | |
max_query_max_used_memory_d | Double | |
max_rowcount_d | Double | |
max_time_s | Cadena | |
mean_time_s | Cadena | |
Message | String | |
min_time_s | Cadena | |
msg_s | Cadena | |
num_physical_io_reads_d | Double | |
object_id_d | Double | |
object_name_s | Cadena | |
OperationName | Cadena | |
OperationVersion | Cadena | |
partitionKey_s | Cadena | |
physical_io_reads_d | Double | |
plan_id_d | Double | |
policy_s | Cadena | |
policyMode_s | Cadena | |
primaryIPv4Address_s | Cadena | |
priority_d | Double | |
properties_enabledForDeployment_b | Booleano | |
properties_enabledForDiskEncryption_b | Booleano | |
properties_enabledForTemplateDeployment_b | Booleano | |
properties_s | Cadena | |
properties_sku_Family_s | Cadena | |
properties_sku_Name_s | Cadena | |
properties_tenantId_g | GUID | |
query_hash_s | Cadena | |
query_id_d | Double | |
query_max_used_memory_d | Double | |
query_plan_hash_s | Cadena | |
query_time_d | Double | |
querytext_s | Cadena | |
receivedBytes_d | Double | |
Region_s | Cadena | |
requestCharge_s | Cadena | |
requestQuery_s | Cadena | |
requestResourceId_s | Cadena | |
requestResourceType_s | Cadena | |
requestUri_s | Cadena | |
reserved_storage_mb_s | Cadena | |
Resource | Cadena | |
resource_actionName_s | Cadena | |
resource_location_s | Cadena | |
resource_originRunId_s | Cadena | |
resource_resourceGroupName_s | Cadena | |
resource_runId_s | Cadena | |
resource_subscriptionId_g | GUID | |
resource_triggerName_s | Cadena | |
resource_workflowId_g | GUID | |
resource_workflowName_s | Cadena | |
ResourceGroup | Cadena | |
_ResourceId | Cadena | Identificador único del recurso al que está asociado el registro. |
ResourceProvider | Cadena | |
ResourceProvider | Cadena | |
ResourceType | Cadena | |
ResourceType | Cadena | |
response_rows_d | Double | |
resultCode_s | Cadena | |
ResultDescription | Cadena | |
ResultDescription | Cadena | |
resultDescription_ChildJobs_s | Cadena | |
resultDescription_ErrorJobs_s | Cadena | |
resultMessage_s | Cadena | |
ResultSignature | Cadena | |
ResultType | Cadena | |
ResultType | Cadena | |
rootCauseAnalysis_s | Cadena | |
routingRuleName_s | Cadena | |
rowcount_d | Double | |
ruleName_s | Cadena | |
RunbookName_s | Cadena | |
RunOn_s | Cadena | |
schema_name_s | Cadena | |
sentBytes_d | Double | |
sequence_group_id_g | GUID | |
sequence_number_d | Double | |
server_principal_sid_s | Cadena | |
session_id_d | Double |