Share via


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 Los tipos de recursos siguientes para ver los servicios que usan cada método. Consulte Registros de recursos de Azure para más información sobre las diferencias.

Columna AdditionalFields

A diferencia de otras tablas, AzureDiagnostics es mucho más susceptible de 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 superan este límite de 500 columnas, la creación de columnas de AzureDiagnostics se controla de una manera diferente a otras tablas.

La tabla AzureDiagnostics de cada área de trabajo contendrá 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 contendrá 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 creará 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ámicas denominada AdditionalFields como una propiedad.

Ejemplo

Para ilustrar este comportamiento, imagine que a partir de (fecha de implementación) la tabla AzureDiagnostics en nuestra workpsace tiene el siguiente aspecto:

Columna 1 Columna 2 Columna 3 ... Columna 498
abc def 123 ... 456
... ... ... ... ...

Un recurso que envía datos a AzureDiagnostics y, a continuación, 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 agregará 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 simple:

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 pasarán a 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 columna AdditionalFields

Aunque se deben seguir procedimientos recomendados de consulta generales, como filtrar siempre por tiempo, ya que se debe seguir la primera cláusula de la consulta, hay otras recomendaciones que debe tener en cuenta al trabajar con AdditionalFields:

  • Tendrá que escribir datos antes de realizar más operaciones en él. Por ejemplo, si existe una columna denominada Perf1Sec_i , así como una propiedad en AdditionalFields denominada Perf2Sec, y desea calcular el rendimiento total agregando ambos valores, use algo como: 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, también debe incluirse 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 volúmenes de datos muy grandes, 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" suele ser más eficaz que AzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec)).

Modo Azure Diagnostics

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.

  • Analysis Services
  • Puertas de enlace de aplicaciones
  • Cuentas de Automation
  • Servidores de Azure Database for MariaDB
  • Servidores de Azure Database for MySQL
  • Servidores de Azure Database for PostgreSQL
  • servidores de Azure Database for PostgreSQL v2
  • Cuentas de Batch
  • Perfiles de CDN
  • Cognitive Services
  • Data Lake Analytics
  • DataLake Storage Gen1
  • Servicios de aprovisionamiento de dispositivos
  • Digital Twins
  • Temas de Event Grid
  • Event Hubs
  • Circuitos ExpressRoute
  • Puertas delanteras
  • Cuentas de integración
  • Key Vault
  • Servicios de Kubernetes
  • Equilibradores de carga
  • Logic Apps
  • Media services
  • Interfaces de red
  • Grupos de seguridad de red
  • Puertas de enlace de VPN de punto a sitio
  • Power BI Embedded
  • Direcciones IP públicas
  • Almacenes de Recovery Services(Site Recovery)
  • Servicios de búsqueda
  • Azure Service Bus
  • Bases de datos SQL
  • Instancias administradas de SQL
  • Servidores SQL Server
  • Trabajos de Stream Analytics
  • Perfiles de Traffic Manager
  • Redes virtuales
  • Puertas de enlace de red virtual
  • Puertas de enlace de VPN

modo Azure Diagnostics o modo específico del recurso

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 su configuración. Cuando usan el modo específico del recurso, no envían datos a la tabla AzureDiagnostics. Consulte Registros de recursos de Azure para más información sobre esta configuración.

  • Servicios de API Management
  • Azure Cosmos DB
  • Factorías de datos (V2)
  • IoT Hub
  • Almacenes de Recovery Services(Copia de seguridad)
  • Firewalls

Categorías

  • Recursos de Azure.
  • Seguridad
  • Red

Soluciones

  • LogManagement

Tipos de recursos

  • Puertas de enlace de aplicaciones
  • Perfiles de CDN
  • Azure Cosmos DB
  • Temas de Event Grid
  • Event Hubs
  • Firewalls
  • Almacenes de claves
  • Servicios de Kubernetes
  • Almacenes de Recovery Services
  • Azure Service Bus
  • Azure Database for MySQL con servidores flexibles
  • servidores flexibles de Azure Database for PostgreSQL
  • Media Services
  • Analysis Services
  • Cuentas de Batch
  • Cognitive Services
  • Espacios de nombres de asociados de Event Grid
  • Temas de asociados de Event Grid
  • Temas del sistema de Event Grid
  • Kubernetes habilitado para Azure Arc
  • Clústeres aprovisionados de Azure Arc
  • IoT Hub
  • Logic Apps
  • Servicios de API Management
  • Cuenta de Automation
  • Factorías de datos
  • Data Lake Storage Gen1
  • Data Lake Analytics
  • Power BI Embedded
  • Instancias administradas de SQL
  • Servidores SQL Server
  • Instancias de SQL Database
  • Servidores de Azure Database for MySQL
  • Servidores de Azure Database for PostgreSQL
  • Servidores Azure Database for PostgreSQL V2
  • Servidores de Azure Database for MariaDB
  • Servicios de aprovisionamiento de dispositivos
  • Circuitos de ExpressRoute
  • Puertas delanteras
  • Interfaces de red
  • Grupos de seguridad de red
  • Direcciones IP públicas
  • Perfiles de Traffic Manager
  • Puertas de enlace de red virtual
  • Puertas de enlace de red privada virtual
  • Virtual Networks
  • Search Service
  • Trabajos de Stream Analytics

Columnas

Columna Tipo Descripción
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 Doble
avg_cpu_percent_s String
avg_mean_time_s String
backendHostname_s String
Caller_s String
callerId_s String
CallerIPAddress String
calls_s String
Category String
client_ip_s String
clientInfo_s String
clientIP_s String
clientIp_s String
clientIpAddress_s String
clientPort_d Doble
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 Doble
cpu_time_d Doble
database_name_s String
database_principal_name_s String
DatabaseName_s String
db_id_s String
direction_s String
dop_d Doble
duration_d Doble
duration_milliseconds_d Doble
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 Doble
executionInfo_endTime_t DateTime
executionInfo_exitCode_d Doble
executionInfo_startTime_t DateTime
host_s String
httpMethod_s String
httpStatus_d Doble
httpStatusCode_d Doble
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 Doble
interval_start_time_d Doble
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
Nivel String
log_bytes_used_d Doble
logical_io_reads_d Doble
logical_io_writes_d Doble
LogicalServerName_s String
macAddress_s String
matchedConnections_d Doble
max_cpu_time_d Doble
max_dop_d Doble
max_duration_d Doble
max_log_bytes_used_d Doble
max_logical_io_reads_d Doble
max_logical_io_writes_d Doble
max_num_physical_io_reads_d Doble
max_physical_io_reads_d Doble
max_query_max_used_memory_d Doble
max_rowcount_d Doble
max_time_s String
mean_time_s String
Message String
min_time_s String
msg_s String
num_physical_io_reads_d Doble
object_id_d Doble
object_name_s String
OperationName String
OperationVersion String
partitionKey_s String
physical_io_reads_d Doble
plan_id_d Doble
policy_s String
policyMode_s String
primaryIPv4Address_s String
priority_d Doble
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 Doble
query_max_used_memory_d Doble
query_plan_hash_s String
query_time_d Doble
querytext_s String
receivedBytes_d Doble
Region_s String
requestCharge_s String
requestQuery_s String
requestResourceId_s String
requestResourceType_s String
requestUri_s String
reserved_storage_mb_s String
Recurso 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 Identificador único del recurso al que está asociado el registro.
ResourceProvider String
ResourceProvider String
ResourceType String
ResourceType String
response_rows_d Doble
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 Doble
ruleName_s String
RunbookName_s String
RunOn_s String
schema_name_s String
sentBytes_d Doble
sequence_group_id_g Guid
sequence_number_d Doble
server_principal_sid_s String
session_id_d Doble