Columnas estándar en registros de Azure MonitorStandard columns in Azure Monitor Logs

Los datos de los registros de Azure Monitor se almacenan como un conjunto de registros en un área de trabajo de Log Analytics o una aplicación de Application Insights, cada uno con un tipo de datos determinado que tiene un conjunto singular de columnas.Data in Azure Monitor Logs is stored as a set of records in either a Log Analytics workspace or Application Insights application, each with a particular data type that has a unique set of columns. Muchos tipos de datos tendrán columnas estándar que son comunes entre varios tipos.Many data types will have standard columns that are common across multiple types. En este artículo se describen estas columnas y se proporcionan ejemplos de cómo puede usarlas en las consultas.This article describes these columns and provides examples of how you can use them in queries.

Las aplicaciones basadas en el área de trabajo de Application Insights almacenan sus datos en un área de trabajo de Log Analytics y usan las mismas columnas estándar que otras tablas del área de trabajo.Workspace-based applications in Application Insights store their data in a Log Analytics workspace and use the same standard columns as other other tables in the workspace. Las aplicaciones clásicas almacenan sus datos por separado y tienen diferentes columnas estándar, como se especifica en este artículo.Classic applications store their data separately and have different standard columns as specified in this article.

Nota

Algunas de las columnas estándar no se mostrarán en la vista de esquema ni en IntelliSense en Log Analytics y no aparecerán en los resultados de la consulta, a menos que especifique explícitamente la columna de la salida.Some of the standard columns will not show in the schema view or intellisense in Log Analytics, and they won't show in query results unless you explicitly specify the column in the output.

TimeGenerated y timestampTimeGenerated and timestamp

Las columnas TimeGenerated (área de trabajo de Log Analytics) y timestamp (aplicación de Application Insights) contienen la fecha y hora en que el origen de datos creó el registro.The TimeGenerated (Log Analytics workspace) and timestamp (Application Insights application) columns contain the date and time that the record was created by the data source. Consulte Tiempo de la ingesta de datos de registro en Azure Monitor para más detalles.See Log data ingestion time in Azure Monitor for more details.

TimeGenerated y timestamp proporcionan una columna común para filtrar o resumir por tiempo.TimeGenerated and timestamp provide a common column to use for filtering or summarizing by time. Cuando se selecciona un intervalo de tiempo para una vista o panel en Azure Portal, se usa TimeGenerated o timestamp para filtrar los resultados.When you select a time range for a view or dashboard in the Azure portal, it uses TimeGenerated or timestamp to filter the results.

EjemplosExamples

La consulta siguiente devuelve el número de eventos de error creados para cada día de la semana anterior.The following query returns the number of error events created for each day in the previous week.

Event
| where EventLevelName == "Error" 
| where TimeGenerated between(startofweek(ago(7days))..endofweek(ago(7days))) 
| summarize count() by bin(TimeGenerated, 1day) 
| sort by TimeGenerated asc 

La consulta siguiente devuelve el número de excepciones creados para cada día de la semana anterior.The following query returns the number of exceptions created for each day in the previous week.

exceptions
| where timestamp between(startofweek(ago(7days))..endofweek(ago(7days))) 
| summarize count() by bin(TimeGenerated, 1day) 
| sort by timestamp asc 

_TimeReceived_TimeReceived

La columna _TimeReceived contiene la fecha y hora en que el punto de ingesta de Azure Monitor recibió el registro en la nube de Azure.The _TimeReceived column contains the date and time that the record was received by the Azure Monitor ingestion point in the Azure cloud. Esto puede resultar útil para identificar problemas de latencia entre el origen de datos y la nube.This can be useful for identifying latency issues between the data source and the cloud. Un ejemplo sería un error de red que genere un retraso con los datos que se envían desde un agente.An example would be a networking issue causing a delay with data being sent from an agent. Consulte Tiempo de la ingesta de datos de registro en Azure Monitor para más detalles.See Log data ingestion time in Azure Monitor for more details.

En la consulta siguiente se proporciona la latencia promedio por hora para los registros de eventos de un agente.The following query gives the average latency by hour for event records from an agent. Esto incluye el tiempo del agente a la nube y el tiempo total para que el registro esté disponible en las consultas de registro.This includes the time from the agent to the cloud and the total time for the record to be available for log queries.

Event
| where TimeGenerated > ago(1d) 
| project TimeGenerated, TimeReceived = _TimeReceived, IngestionTime = ingestion_time() 
| extend AgentLatency = toreal(datetime_diff('Millisecond',TimeReceived,TimeGenerated)) / 1000
| extend TotalLatency = toreal(datetime_diff('Millisecond',IngestionTime,TimeGenerated)) / 1000
| summarize avg(AgentLatency), avg(TotalLatency) by bin(TimeGenerated,1hr)

Type e itemTypeType and itemType

Las columnas Type (área de trabajo de Log Analytics) e itemType (aplicación de Application Insights) contienen el nombre de la tabla de la que se recuperó el registro, que también se puede considerar como el tipo de registro.The Type (Log Analytics workspace) and itemType (Application Insights application) columns hold the name of the table that the record was retrieved from which can also be thought of as the record type. Esta columna es útil en las consultas que combinan registros de varias tablas, como las que utilizan el operador search, para distinguir entre registros de diferentes tipos.This column is useful in queries that combine records from multiple tables, such as those that use the search operator, to distinguish between records of different types. $table puede utilizarse en lugar de Type en algunos lugares.$table can be used in place of Type in some places.

EjemplosExamples

La siguiente consulta devuelve el número de registros por tipo recopilados durante la última hora.The following query returns the count of records by type collected over the past hour.

search * 
| where TimeGenerated > ago(1h)
| summarize count() by Type

_ItemId_ItemId

La columna _ItemId contiene un identificador único para el registro.The _ItemId column holds a unique identifier for the record.

_ResourceId_ResourceId

La columna _ResourceId contiene un identificador único para el recurso con el que está asociado el registro.The _ResourceId column holds a unique identifier for the resource that the record is associated with. Esto le proporciona una columna estándar para definir el ámbito de la consulta a solo los registros de un recurso determinado, o para unir datos relacionados en varias tablas.This gives you a standard column to use to scope your query to only records from a particular resource, or to join related data across multiple tables.

En el caso de los recursos de Azure, el valor de _ResourceId es la URL de id. de recurso de Azure.For Azure resources, the value of _ResourceId is the Azure resource ID URL. La columna está actualmente limitada a los recursos de Azure, pero se extenderá a los recursos de fuera de Azure, por ejemplo, a los equipos locales.The column is currently limited to Azure resources, but it will be extended to resources outside of Azure such as on-premises computers.

Nota

Algunos tipos de datos ya tienen campos que contienen el identificador de recurso de Azure o al menos partes de él como el identificador de suscripción.Some data types already have fields that contain Azure resource ID or at least parts of it like subscription ID. Aunque estos campos se guardan por compatibilidad con versiones anteriores, se recomienda utilizar _ResourceId para realizar la correlación cruzada, ya que será más coherente.While these fields are kept for backward compatibility, it is recommended to use the _ResourceId to perform cross correlation since it will be more consistent.

EjemplosExamples

La consulta siguiente combina datos de rendimiento y de eventos para cada equipo.The following query joins performance and event data for each computer. Muestra todos los eventos con el identificador 101 y un uso del procesador superior al 50 %.It shows all events with an ID of 101 and processor utilization over 50%.

Perf 
| where CounterName == "% User Time" and CounterValue  > 50 and _ResourceId != "" 
| join kind=inner (     
    Event 
    | where EventID == 101 
) on _ResourceId

La consulta siguiente combina los registros AzureActivity con los de SecurityEvent.The following query joins AzureActivity records with SecurityEvent records. Muestra todas las operaciones de actividad con los usuarios que iniciaron sesión en estas máquinas.It shows all activity operations with users that were logged in to these machines.

AzureActivity 
| where  
    OperationName in ("Restart Virtual Machine", "Create or Update Virtual Machine", "Delete Virtual Machine")  
    and ActivityStatus == "Succeeded"  
| join kind= leftouter (    
   SecurityEvent 
   | where EventID == 4624  
   | summarize LoggedOnAccounts = makeset(Account) by _ResourceId 
) on _ResourceId  

La siguiente consulta analiza _ResourceId y agrega volúmenes de datos facturados por suscripción de Azure.The following query parses _ResourceId and aggregates billed data volumes per Azure subscription.

union withsource = tt * 
| where _IsBillable == true 
| parse tolower(_ResourceId) with "/subscriptions/" subscriptionId "/resourcegroups/" 
    resourceGroup "/providers/" provider "/" resourceType "/" resourceName   
| summarize Bytes=sum(_BilledSize) by subscriptionId | sort by Bytes nulls last 

Use estas consultas union withsource = tt * con moderación, ya que la ejecución de exámenes entre tipos de datos es costosa.Use these union withsource = tt * queries sparingly as scans across data types are expensive to execute.

_IsBillable_IsBillable

La columna _IsBillable especifica si los datos ingeridos son facturables.The _IsBillable column specifies whether ingested data is billable. Los datos con _IsBillable igual a false se recopilan de forma gratuita y no se facturan en su cuenta de Azure.Data with _IsBillable equal to false are collected for free and not billed to your Azure account.

EjemplosExamples

Para obtener una lista de equipos que envían los tipos de datos de facturación, use la siguiente consulta:To get a list of computers sending billed data types, use the following query:

Nota

Use las consultas con union withsource = tt * con moderación, ya que la ejecución de exámenes entre tipos de datos es costosa.Use queries with union withsource = tt * sparingly as scans across data types are expensive to execute.

union withsource = tt * 
| where _IsBillable == true 
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
| where computerName != ""
| summarize TotalVolumeBytes=sum(_BilledSize) by computerName

Dichas consultas pueden ampliarse para devolver el número de equipos por hora que están enviando tipos de datos facturados:This can be extended to return the count of computers per hour that are sending billed data types:

union withsource = tt * 
| where _IsBillable == true 
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
| where computerName != ""
| summarize dcount(computerName) by bin(TimeGenerated, 1h) | sort by TimeGenerated asc

_BilledSize_BilledSize

La columna _BilledSize especifica el tamaño en bytes de los datos que se facturarán a su cuenta de Azure si _IsBillable es true.The _BilledSize column specifies the size in bytes of data that will be billed to your Azure account if _IsBillable is true.

EjemplosExamples

Para ver el tamaño de los eventos facturables que ingirió cada equipo, use la columna _BilledSize, que proporciona el tamaño en bytes:To see the size of billable events ingested per computer, use the _BilledSize column which provides the size in bytes:

union withsource = tt * 
| where _IsBillable == true 
| summarize Bytes=sum(_BilledSize) by  Computer | sort by Bytes nulls last 

Para ver el tamaño de los eventos facturables ingeridos por suscripción, use la siguiente consulta:To see the size of billable events ingested per subscription, use the following query:

union withsource=table * 
| where _IsBillable == true 
| parse _ResourceId with "/subscriptions/" SubscriptionId "/" *
| summarize Bytes=sum(_BilledSize) by  SubscriptionId | sort by Bytes nulls last 

Para ver el tamaño de los eventos facturables ingeridos por grupo de recursos, use la siguiente consulta:To see the size of billable events ingested per resource group, use the following query:

union withsource=table * 
| where _IsBillable == true 
| parse _ResourceId with "/subscriptions/" SubscriptionId "/resourcegroups/" ResourceGroupName "/" *
| summarize Bytes=sum(_BilledSize) by  SubscriptionId, ResourceGroupName | sort by Bytes nulls last 

Para ver el recuento de eventos ingeridos por equipo, use la consulta siguiente:To see the count of events ingested per computer, use the following query:

union withsource = tt *
| summarize count() by Computer | sort by count_ nulls last

Para ver el recuento de eventos facturables ingeridos por equipo, use la consulta siguiente:To see the count of billable events ingested per computer, use the following query:

union withsource = tt * 
| where _IsBillable == true 
| summarize count() by Computer  | sort by count_ nulls last

Para ver el recuento de tipos de datos facturables desde un equipo específico, use la siguiente consulta:To see the count of billable data types from a specific computer, use the following query:

union withsource = tt *
| where Computer == "computer name"
| where _IsBillable == true 
| summarize count() by tt | sort by count_ nulls last 

Pasos siguientesNext steps