Standard oszlopok az Azure Monitor-naplókban

Az Azure Monitor-naplókban tárolt adatok rekordhalmazként vannak tárolva egy Log Analytics-munkaterületen vagy egy alkalmazás Elemzések alkalmazásban, amelyek mindegyike egyedi oszlopkészlettel rendelkező adattípussal rendelkezik. Számos adattípus szabványos oszlopokkal rendelkezik, amelyek több típusban is gyakran előfordulnak. Ez a cikk ezeket az oszlopokat ismerteti, és példákat tartalmaz arra, hogyan használhatja őket lekérdezésekben.

Az Alkalmazás munkaterület-alapú alkalmazásai Elemzések az adataikat egy Log Analytics-munkaterületen tárolják, és ugyanazokat a szabványos oszlopokat használják, mint a munkaterület más táblái. A klasszikus alkalmazások külön tárolják az adataikat, és a cikkben meghatározott különböző szabványos oszlopokkal rendelkeznek.

Feljegyzés

A standard oszlopok némelyike nem jelenik meg a Log Analytics sémanézetben vagy intelliense nézetben, és csak akkor jelennek meg a lekérdezési eredményekben, ha explicit módon adja meg az oszlopot a kimenetben.

TenantId

A TenantId oszlop tartalmazza a Log Analytics-munkaterület munkaterület-azonosítóját.

TimeGenerated

A TimeGenerated oszlop azt a dátumot és időt tartalmazza, amikor az adatforrás létrehozta a rekordot. További részletekért tekintse meg a naplóadatok betöltésének idejét az Azure Monitorban .

A TimeGenerated egy gyakori oszlopot biztosít, amelyet az idő szerinti szűréshez vagy összegzéshez használhat. Amikor kiválaszt egy időtartományt egy nézethez vagy irányítópulthoz az Azure Portalon, a TimeGenerated használatával szűri az eredményeket.

Feljegyzés

A klasszikus alkalmazás-Elemzések erőforrásokat támogató táblák a TimeGenerated oszlop helyett az Időbélyeg oszlopot használják.

Feljegyzés

A TimeGenerated érték nem lehet 2 napnál régebbi a beérkezés előtt, vagy egy napnál hosszabb a jövőben. Ha bizonyos esetekben az érték 2 napnál vagy több napnál régebbi a jövőben, akkor azt a tényleges kapott időre cserélik.

Példák

Az alábbi lekérdezés az előző hét minden napján létrehozott hibaesemények számát adja vissza.

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

_TimeReceived

A _TimeReceived oszlop azt a dátumot és időpontot tartalmazza, amikor a rekordot az Azure Monitor betöltési pontja megkapta az Azure-felhőben. Ez hasznos lehet az adatforrás és a felhő közötti késési problémák azonosításához. Ilyen lehet például egy hálózatkezelési probléma, amely késlelteti az ügynöktől érkező adatok küldését. További részletekért tekintse meg a naplóadatok betöltésének idejét az Azure Monitorban .

Feljegyzés

A _TimeReceived oszlop minden használatkor ki lesz számítva. Ez a folyamat erőforrás-igényes. Ne használja nagy számú rekord szűréséhez. A függvény ismétlődő használata megnövelheti a lekérdezések végrehajtási időtartamát.

Az alábbi lekérdezés óránkénti átlagos késést ad egy ügynök eseményrekordjaihoz. Ez magában foglalja az ügynöktől a felhőig eltelt időt és a rekord napló lekérdezésekhez való rendelkezésre állásának teljes idejét.

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)

Típus

A Típus oszlop tartalmazza annak a táblának a nevét, amelyből a rekordot lekérte, és amelyről a rekordtípus is tekinthető. Ez az oszlop olyan lekérdezésekben hasznos, amelyek több tábla rekordjait kombinálják, például az search operátort használó lekérdezésekben, hogy különbséget tesznek a különböző típusú rekordok között. $table egyes lekérdezésekben típus helyett használható.

Feljegyzés

A klasszikus alkalmazás-Elemzések erőforrásokat támogató táblák a Type oszlop helyett az itemType oszlopot használják.

Példák

Az alábbi lekérdezés az elmúlt órában gyűjtött rekordok számát adja vissza típus szerint.

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

_Itemid

A _ItemId oszlop a rekord egyedi azonosítóját tartalmazza.

_ResourceId

A _ResourceId oszlop a rekordhoz társított erőforrás egyedi azonosítóját tartalmazza. Ez egy szabványos oszlopot biztosít, a lekérdezés hatókörének csak egy adott erőforrásból származó rekordokra való hatókörére, vagy a kapcsolódó adatok több táblán keresztüli összekapcsolására.

Az Azure-erőforrások esetében a _ResourceId értéke az Azure-erőforrás-azonosító URL-címe. Az oszlop az Azure-erőforrásokra, köztük az Azure Arc-erőforrásokra vagy azokra az egyéni naplókra korlátozódik, amelyek a betöltés során az erőforrás-azonosítót jelölik.

Feljegyzés

Egyes adattípusok már rendelkeznek Olyan mezőkkel, amelyek Azure-erőforrás-azonosítót vagy legalább részeit, például előfizetés-azonosítót tartalmaznak. Bár ezek a mezők a visszamenőleges kompatibilitás érdekében megmaradnak, javasoljuk, hogy a _ResourceId használva végezzen keresztkorrelációt, mivel konzisztensebb lesz.

Példák

Az alábbi lekérdezés az egyes számítógépek teljesítmény- és eseményadatait illeszti össze. A 101 azonosítójú és 50%-os processzorkihasználtsággal rendelkező összes eseményt megjeleníti.

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

Az alábbi lekérdezés az AzureActivity rekordokat a SecurityEvent rekordokkal kapcsolja össze. Megjeleníti az összes tevékenységműveletet a gépekre bejelentkezett felhasználókkal.

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  

Az alábbi lekérdezés elemzi _ResourceId és összesíti a számlázott adatköteteket azure-erőforráscsoportonként.

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 

Ezeket a union withsource = tt * lekérdezéseket takarékosan használja, mivel az adattípusok közötti vizsgálatok végrehajtása költséges.

Mindig hatékonyabb a _SubscriptionId oszlop használata, mint kinyerni a _ResourceId oszlop elemzésével.

_SubscriptionId

A _SubscriptionId oszlop tartalmazza annak az erőforrásnak az előfizetés-azonosítóját, amelyhez a rekord társítva van. Ez egy szabványos oszlopot biztosít a lekérdezés hatókörének csak egy adott előfizetés rekordjaira való hatóköréhez, vagy a különböző előfizetések összehasonlításához.

Az Azure-erőforrások esetében a __SubscriptionId értéke az Azure-erőforrás-azonosító URL-címének előfizetési része. Az oszlop az Azure-erőforrásokra korlátozódik, beleértve az Azure Arc-erőforrásokat , vagy az előfizetés-azonosítót a betöltés során jelző egyéni naplókra.

Feljegyzés

Egyes adattípusok már rendelkeznek Azure-előfizetés-azonosítót tartalmazó mezőkkel. Bár ezek a mezők a visszamenőleges kompatibilitás érdekében megmaradnak, javasoljuk, hogy a _SubscriptionId oszlopot használva végezzen keresztkorrelációt, mivel konzisztensebb lesz.

Példák

Az alábbi lekérdezés egy adott előfizetés számítógépeinek teljesítményadatait vizsgálja.

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

Az alábbi lekérdezés elemzi _ResourceId és összesíti a számlázott adatköteteket Azure-előfizetésenként.

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

Ezeket a union withsource = tt * lekérdezéseket takarékosan használja, mivel az adattípusok közötti vizsgálatok végrehajtása költséges.

_IsBillable

A _IsBillable oszlop azt határozza meg, hogy a betöltött adatok számlázhatónak minősülnek-e. Az _IsBillable egyenlő false adatok nem járnak adatbetöltési, adatmegőrzési vagy archiválási költségekkel.

Példák

A számlázott adattípusokat küldő számítógépek listájának lekéréséhez használja a következő lekérdezést:

Feljegyzés

A lekérdezéseket union withsource = tt * takarékosan használhatja, mivel az adattípusok közötti vizsgálatok végrehajtása költséges.

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

Ez kiterjeszthető a számlázott adattípusokat küldő számítógépek óránkénti számának visszaadására:

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

A _BilledSize oszlop adja meg az Azure-fióknak kiszámlázott adatok bájtban megadott méretét, ha _IsBillable igaz. A számlázott méret kiszámításának részleteiről további információt az Adatméret kiszámítása című témakörben talál.

Példák

A számítógépenként betöltött számlázható események méretének megtekintéséhez használja az _BilledSize oszlopot, amely bájtokban adja meg a méretet:

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

Az előfizetésenként betöltött számlázható események méretének megtekintéséhez használja a következő lekérdezést:

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

Az erőforráscsoportonként betöltött számlázható események méretének megtekintéséhez használja a következő lekérdezést:

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 

A számítógépenként betöltött események számának megtekintéséhez használja a következő lekérdezést:

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

A számítógépenként betöltött számlázható események számának megtekintéséhez használja a következő lekérdezést:

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

Ha meg szeretné tekinteni egy adott számítógép számlázható adattípusainak számát, használja a következő lekérdezést:

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

Következő lépések