Standaardkolommen in Azure Monitor-logboeken

Gegevens in Azure Monitor-logboeken worden opgeslagen als een set records in een Log Analytics-werkruimte of Application Insights-toepassing, elk met een bepaald gegevenstype met een unieke set kolommen. Veel gegevenstypen hebben standaardkolommen die gemeenschappelijk zijn voor meerdere typen. In dit artikel worden deze kolommen beschreven en worden voorbeelden weergegeven van hoe u deze kunt gebruiken in query's.

Op werkruimte gebaseerde toepassingen in Application Insights slaan hun gegevens op in een Log Analytics-werkruimte en gebruiken dezelfde standaardkolommen als andere tabellen in de werkruimte. Klassieke toepassingen slaan hun gegevens afzonderlijk op en hebben verschillende standaardkolommen, zoals opgegeven in dit artikel.

Notitie

Sommige standaardkolommen worden niet weergegeven in de schemaweergave of intellisense in Log Analytics en worden niet weergegeven in queryresultaten, tenzij u expliciet de kolom in de uitvoer opgeeft.

TenantId

De kolom TenantId bevat de werkruimte-id voor de Log Analytics-werkruimte.

TimeGenerated

De kolom TimeGenerated bevat de datum en tijd waarop de record is gemaakt door de gegevensbron. Zie De opnametijd van logboekgegevens in Azure Monitor voor meer informatie.

TimeGenerated biedt een algemene kolom die u kunt gebruiken voor filteren of samenvatten op tijd. Wanneer u een tijdsbereik selecteert voor een weergave of dashboard in Azure Portal, wordt TimeGenerated gebruikt om de resultaten te filteren.

Notitie

Tabellen die klassieke Application Insights-resources ondersteunen, gebruiken de kolom Timestamp in plaats van de kolom TimeGenerated .

Notitie

De waarde TimeGenerated mag niet ouder zijn dan 2 dagen voor ontvangsttijd of meer dan een dag in de toekomst. Als de waarde in een bepaalde situatie ouder is dan 2 dagen of meer dan een dag in de toekomst, wordt deze vervangen door de werkelijke ontvangen tijd.

Voorbeelden

De volgende query retourneert het aantal fouten dat voor elke dag in de vorige week is gemaakt.

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

_TimeReceived

De kolom _TimeReceived bevat de datum en tijd waarop de record is ontvangen door het Azure Monitor-opnamepunt in de Azure-cloud. Dit kan handig zijn voor het identificeren van latentieproblemen tussen de gegevensbron en de cloud. Een voorbeeld hiervan is een netwerkprobleem dat een vertraging veroorzaakt met het verzenden van gegevens van een agent. Zie De opnametijd van logboekgegevens in Azure Monitor voor meer informatie.

Notitie

De kolom _TimeReceived wordt telkens berekend wanneer deze wordt gebruikt. Dit proces is resource-intensief. Gebruik deze niet om een groot aantal records te filteren. Het gebruik van deze functie kan herhaaldelijk leiden tot een hogere uitvoeringsduur van query's.

De volgende query geeft de gemiddelde latentie per uur voor gebeurtenisrecords van een agent. Dit omvat de tijd van de agent naar de cloud en de totale tijd voor de record die beschikbaar is voor logboekquery's.

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

De kolom Type bevat de naam van de tabel waaruit de record is opgehaald, waarvan ook het recordtype kan worden gezien. Deze kolom is handig in query's die records uit meerdere tabellen combineren, zoals records die gebruikmaken van de search operator, om onderscheid te maken tussen records van verschillende typen. $table kan worden gebruikt in plaats van Type in sommige query's.

Notitie

Tabellen die klassieke Application Insights-resources ondersteunen, gebruiken de kolom itemType in plaats van de kolom Type .

Voorbeelden

De volgende query retourneert het aantal records per type dat in het afgelopen uur is verzameld.

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

_ItemId

De kolom _ItemId bevat een unieke id voor de record.

_ResourceId

De kolom _ResourceId bevat een unieke id voor de resource waaraan de record is gekoppeld. Hiermee beschikt u over een standaardkolom die u kunt gebruiken om uw query alleen te gebruiken voor records van een bepaalde resource of om gerelateerde gegevens over meerdere tabellen samen te voegen.

Voor Azure-resources is de waarde van _ResourceId de URL van de Azure-resource-id. De kolom is beperkt tot Azure-resources, waaronder Azure Arc-resources , of aangepaste logboeken die de resource-id hebben aangegeven tijdens de opname.

Notitie

Sommige gegevenstypen hebben al velden die Azure-resource-id of ten minste delen ervan bevatten, zoals abonnements-id. Hoewel deze velden worden bewaard voor compatibiliteit met eerdere versies, is het raadzaam om de _ResourceId te gebruiken om kruiscorrelatie uit te voeren, omdat deze consistenter zal zijn.

Voorbeelden

Met de volgende query worden prestatie- en gebeurtenisgegevens voor elke computer samengevoegd. Alle gebeurtenissen met een id van 101 en het processorgebruik van meer dan 50%.

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

Met de volgende query worden AzureActivity-records samengevoegd met SecurityEvent-records. Het toont alle activiteitsbewerkingen met gebruikers die zijn aangemeld bij deze computers.

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  

De volgende query parseert _ResourceId en voegt gefactureerde gegevensvolumes per Azure-resourcegroep samen.

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 

Gebruik deze union withsource = tt * query's spaarzaam omdat scans in verschillende gegevenstypen duur zijn om uit te voeren.

Het is altijd efficiƫnter om de _SubscriptionId kolom te gebruiken dan deze te extraheren door de _ResourceId kolom te parseren.

_SubscriptionId

De kolom _SubscriptionId bevat de abonnements-id van de resource waaraan de record is gekoppeld. Hiermee krijgt u een standaardkolom die u kunt gebruiken om uw query alleen te gebruiken voor records van een bepaald abonnement of om verschillende abonnementen te vergelijken.

Voor Azure-resources is de waarde van __SubscriptionId het abonnementsonderdeel van de URL van de Azure-resource-id. De kolom is beperkt tot Azure-resources, inclusief Azure Arc-resources of aangepaste logboeken die de abonnements-id hebben aangegeven tijdens de opname.

Notitie

Sommige gegevenstypen hebben al velden die azure-abonnements-id bevatten. Hoewel deze velden worden bewaard voor compatibiliteit met eerdere versies, is het raadzaam om de kolom _SubscriptionId te gebruiken om kruiscorrelatie uit te voeren, omdat deze consistenter zal zijn.

Voorbeelden

De volgende query onderzoekt prestatiegegevens voor computers van een specifiek abonnement.

Perf 
| where TimeGenerated > ago(24h) and CounterName == "memoryAllocatableBytes"
| where _SubscriptionId == "ebb79bc0-aa86-44a7-8111-cabbe0c43993"
| summarize avgMemoryAllocatableBytes = avg(CounterValue) by Computer

De volgende query parseert _ResourceId en voegt gefactureerde gegevensvolumes per Azure-abonnement samen.

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

Gebruik deze union withsource = tt * query's spaarzaam omdat scans in verschillende gegevenstypen duur zijn om uit te voeren.

_IsBillable

De kolom _IsBillable geeft aan of opgenomen gegevens als factureerbare gegevens worden beschouwd. Gegevens met _IsBillable gelijk aan false worden niet in rekening gebracht voor gegevensopname, retentie of archiefkosten.

Voorbeelden

Gebruik de volgende query om een lijst op te halen met computers die gefactureerde gegevenstypen verzenden:

Notitie

Gebruik query's met union withsource = tt * spaarzaam omdat scans in verschillende gegevenstypen duur zijn om uit te voeren.

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

Dit kan worden uitgebreid om het aantal computers per uur te retourneren dat gefactureerde gegevenstypen verzendt:

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

De kolom _BilledSize geeft de grootte op in bytes aan gegevens die worden gefactureerd voor uw Azure-account als _IsBillable waar is. Zie Berekening van gegevensgrootte voor meer informatie over de details van hoe de gefactureerde grootte wordt berekend.

Voorbeelden

Als u de grootte van factureerbare gebeurtenissen wilt zien die per computer zijn opgenomen, gebruikt u de _BilledSize kolom die de grootte in bytes biedt:

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

Gebruik de volgende query om de grootte van factureerbare gebeurtenissen te zien die per abonnement zijn opgenomen:

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

Gebruik de volgende query om de grootte te zien van factureerbare gebeurtenissen die per resourcegroep zijn opgenomen:

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 

Gebruik de volgende query om het aantal gebeurtenissen te zien dat per computer is opgenomen:

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

Gebruik de volgende query om het aantal factureerbare gebeurtenissen weer te geven dat per computer is opgenomen:

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

Gebruik de volgende query om het aantal factureerbare gegevenstypen van een specifieke computer weer te geven:

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

Volgende stappen