Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os dados nos Logs do Azure Monitor são armazenados como um conjunto de registros em um workspace do Log Analytics ou em um aplicativo do Application Insights. Cada tipo de dados tem um conjunto exclusivo de colunas. Muitos tipos de dados têm colunas padrão que são comuns em vários tipos. Este artigo descreve essas colunas e fornece exemplos de como usá-las em consultas.
Os aplicativos baseados em espaço de trabalho no Application Insights armazenam seus dados em um espaço de trabalho do Log Analytics e usam as mesmas colunas padrão que outras tabelas no espaço de trabalho. Os aplicativos clássicos armazenam seus dados separadamente e têm colunas padrão diferentes, conforme especificado neste artigo.
A tabela a seguir resume as colunas padrão. As tabelas clássicas do Application Insights usam nomes de coluna diferentes, conforme indicado.
| Coluna | Description | Aplicável a |
|---|---|---|
TenantId |
ID do espaço de trabalho do Log Analytics. | Workspace |
TimeGenerated |
Data e hora em que o registro foi criado pela fonte de dados. As tabelas clássicas do Application Insights usam Timestamp. |
Workspace e Application Insights clássico |
_TimeReceived |
Data e hora em que o registro foi recebido pelo ponto de ingestão Azure Monitor. | Workspace |
Type |
Nome da tabela da qual o registro foi recuperado. As tabelas clássicas do Application Insights usam itemType. |
Workspace e Application Insights clássico |
_ItemId |
Identificador exclusivo do registro. | Workspace |
_ResourceId |
Identificador exclusivo para o recurso ao qual o registro está associado. | Workspace |
_SubscriptionId |
ID da assinatura do recurso ao qual o registro está associado. | Workspace |
_IsBillable |
Se os dados ingeridos são faturáveis. | Workspace |
_BilledSize |
Tamanho em bytes dos dados cobrados. | Workspace |
Observação
Algumas das colunas padrão não são exibidas no modo de exibição de esquema ou no IntelliSense no Log Analytics. Eles não aparecem nos resultados da consulta, a menos que você especifique explicitamente a coluna na saída.
Coluna TenantId
A coluna TenantId contém a ID do Log Analytics workspace.
Coluna TimeGenerated
A coluna TimeGenerated contém a data e a hora em que a fonte de dados criou o registro. Para mais informações, veja Tempo de ingestão de dados de log no Azure Monitor.
O TimeGenerated fornece uma coluna comum a ser usada para filtrar ou resumir pelo tempo. Quando você seleciona um intervalo de tempo para uma exibição ou um painel no portal do Azure, ele usa TimeGenerated para filtrar os resultados.
Tabelas que dão suporte aos recursos clássicos do Application Insights usam a coluna Timestamp em vez da coluna TimeGenerated. O valor TimeGenerated não pode ter mais de dois dias antes do tempo recebido ou mais de um dia no futuro. Se o valor ficar fora desse intervalo, Azure Monitor o substituirá pelo tempo real recebido.
Exemplos
A consulta a seguir retorna o número de eventos de erro criados em cada dia da semana anterior.
Event
| where EventLevelName == "Error"
| where TimeGenerated between(startofweek(ago(7days))..endofweek(ago(7days)))
| summarize count() by bin(TimeGenerated, 1day)
| sort by TimeGenerated asc
Coluna _TimeReceived
A coluna _TimeReceived contém a data e a hora em que o registro foi recebido pelo ponto de ingestão de Azure Monitor na nuvem do Azure. Isso pode ser útil para identificar problemas de latência entre a fonte de dados e a nuvem. Um exemplo seria um problema de rede causando um atraso no envio dos dados por um agente. Confira Tempo de ingestão de dados de log no Azure Monitor para obter mais detalhes.
Observação
A coluna _TimeReceived é calculada sempre que é usada. Esse processo consome muitos recursos. Evite usá-lo para filtrar um grande número de registros. Usar essa função recorrentemente pode aumentar a duração de execução de consulta.
A consulta a seguir fornece a latência média por hora para registros de eventos de um agente. Isso inclui o tempo do agente para a nuvem e o tempo total para que o registro esteja disponível para consultas de log.
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)
Coluna Type
A coluna Type contém o nome da tabela da qual o registro foi recuperado, que também pode ser considerada como o tipo de registro. Essa coluna é útil em consultas que combinam registros de várias tabelas, como aqueles que usam o operador search, para distinguir entre registros de tipos diferentes.
$table pode ser usado no lugar de Type em algumas consultas.
Observação
As tabelas que tem suporte para recursos clássicos de Application Insights usam a coluna itemType em vez da coluna Type.
Exemplos
A consulta a seguir retorna a contagem de registros por tipo coletados na última hora.
search *
| where TimeGenerated > ago(1h)
| summarize count() by Type
_ItemId coluna
A coluna _ItemId contém um identificador exclusivo para o registro.
coluna _ResourceId
A coluna _ResourceId contém um identificador exclusivo do recurso ao qual o registro está associado. Isso lhe dá uma coluna padrão a ser usada para definir o escopo de sua consulta apenas aos registros de um recurso específico ou para unir dados relacionados em várias tabelas.
Para recursos do Azure, o valor de _ResourceId é a URL de ID de recurso do Azure. A coluna é limitada aos recursos do Azure, incluindo os recursos do Azure Arc ou a logs personalizados que indicaram a ID do recurso durante a ingestão.
Observação
Alguns tipos de dados já têm campos que contêm a ID de recurso do Azure ou, pelo menos, partes dele, como a ID da assinatura. Embora esses campos sejam mantidos para compatibilidade com versões anteriores, é recomendável usar o _ResourceId para executar a correlação cruzada, uma vez que é mais consistente.
Exemplos
A consulta seguinte une dados de desempenho e de eventos de cada computador. Ele mostra todos os eventos com a ID 101 e utilização do processador acima de 50%.
Perf
| where CounterName == "% User Time" and CounterValue > 50 and _ResourceId != ""
| join kind=inner (
Event
| where EventID == 101
) on _ResourceId
A consulta a seguir combina registros de AzureActivity com registros de SecurityEvent. Ele mostra todas as operações realizadas com usuários que estavam conectados a essas máquinas.
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
A consulta a seguir analisa _ResourceId e agrega os volumes de dados cobrados por Grupo de Recursos do Azure.
union withsource = tt *
| where _IsBillable == true
| parse tolower(_ResourceId) with "/subscriptions/" subscriptionId "/resourcegroups/"
resourceGroup "/providers/" provider "/" resourceType "/" resourceName
| summarize Bytes=sum(_BilledSize) by resourceGroup | sort by Bytes nulls last
Use essas union withsource=tt * consultas com moderação porque as verificações entre tipos de dados são caras para serem executadas.
É sempre mais eficiente usar a coluna _SubscriptionId do que extraí-la analisando a coluna _ResourceId.
coluna _SubscriptionId
A coluna _SubscriptionId contém a ID da assinatura do recurso ao qual o registro está associado. Isso apresenta uma coluna padrão a ser usada para definir o escopo de sua consulta apenas aos registros de uma assinatura em particular ou para comparar diferentes assinaturas.
Para os recursos do Azure, o valor de _SubscriptionId corresponde à parte da assinatura da URL de ID do recurso do Azure. Esta coluna é limitada a recursos de Azure, incluindo recursos Azure Arc ou a logs personalizados que indicam a ID da assinatura durante a ingestão.
Observação
Alguns tipos de dados já têm campos que contêm a ID de assinatura do Azure. Embora esses campos sejam mantidos para compatibilidade com versões anteriores, é recomendável usar a coluna _SubscriptionId para executar correlação cruzada, pois ela é mais consistente.
Exemplos
A consulta a seguir examina os dados de desempenho para computadores de uma assinatura específica.
Perf
| where TimeGenerated > ago(24h) and CounterName == "memoryAllocatableBytes"
| where _SubscriptionId == "ebb79bc0-aa86-44a7-8111-cabbe0c43993"
| summarize avgMemoryAllocatableBytes = avg(CounterValue) by Computer
A consulta a seguir analisa _ResourceId e agrega os volumes de dados cobrados por assinatura do Azure.
union withsource = tt *
| where _IsBillable == true
| summarize Bytes=sum(_BilledSize) by _SubscriptionId | sort by Bytes nulls last
Como observado para a coluna _ResourceId, use consultas union withsource = tt * com moderação, pois as varreduras entre tipos de dados são custosas de executar.
coluna _IsBillable
A coluna _IsBillable especifica se os dados ingeridos são considerados faturáveis. Os dados com _IsBillable igual a false não incorrem em encargos de ingestão de dados, retenção, replicação de workspace ou arquivamento.
Exemplos
Para obter uma lista de computadores que enviam tipos de dados cobrados, use a consulta a seguir. Como observado para a coluna _ResourceId, use consultas union withsource = tt * com moderação, pois as varreduras entre tipos de dados são custosas de executar.
union withsource = tt *
| where _IsBillable == true
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
| where computerName != ""
| summarize TotalVolumeBytes=sum(_BilledSize) by computerName
Isso pode ser estendido para retornar a contagem de computadores por hora que estão enviando tipos de dados cobrados:
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
Coluna _BilledSize
A coluna _BilledSize especifica o tamanho em bytes de dados que serão cobrados na sua conta do Azure se _IsBillable for true. Confira Cálculo de tamanho de dados para saber mais detalhes sobre como o tamanho cobrado é calculado.
Exemplos
Para visualizar o tamanho dos eventos faturáveis ingeridos por computador, utilize a coluna _BilledSize, que fornece o tamanho em bytes:
union withsource = tt *
| where _IsBillable == true
| summarize Bytes=sum(_BilledSize) by Computer | sort by Bytes nulls last
Para ver o tamanho de eventos cobráveis ingeridos por assinatura, use a seguinte consulta:
union withsource = tt *
| where _IsBillable == true
| summarize Bytes=sum(_BilledSize) by _SubscriptionId | sort by Bytes nulls last
Para ver o tamanho dos eventos cobráveis ingeridos por grupo de recursos, use a seguinte consulta:
union withsource = tt *
| where _IsBillable == true
| parse _ResourceId with "/subscriptions/" SubscriptionId "/resourcegroups/" ResourceGroupName "/" *
| summarize Bytes=sum(_BilledSize) by _SubscriptionId, ResourceGroupName | sort by Bytes nulls last
Para ver a contagem de eventos ingeridos por computador, use a seguinte consulta:
union withsource = tt *
| summarize count() by Computer | sort by count_ nulls last
Para ver a contagem de eventos cobráveis ingeridos por computador, use a seguinte consulta:
union withsource = tt *
| where _IsBillable == true
| summarize count() by Computer | sort by count_ nulls last
Para ver a contagem de tipos de dados cobráveis de um computador específico, use a seguinte consulta:
union withsource = tt *
| where Computer == "computer name"
| where _IsBillable == true
| summarize count() by tt | sort by count_ nulls last
Próximas etapas
- Leia mais sobre como os dados de log do Azure Monitor são armazenados.
- Obtenha uma lição sobre como escrever consultas de log.
- Obtenha uma lição sobre como unir tabelas em consultas de log.