Azure İzleyici Günlüklerindeki standart sütunlar

Azure İzleyici Günlüklerindeki veriler, her biri benzersiz bir sütun kümesine sahip belirli bir veri türüne sahip bir Log Analytics çalışma alanında veya Uygulama Analizler uygulamasında bir kayıt kümesi olarak depolanır. Birçok veri türü, birden çok türde ortak olan standart sütunlara sahip olur. Bu makalede bu sütunlar açıklanır ve bunları sorgularda nasıl kullanabileceğinize yönelik örnekler sağlanır.

Application Analizler'daki çalışma alanı tabanlı uygulamalar verilerini Log Analytics çalışma alanında depolar ve çalışma alanındaki diğer tablolarla aynı standart sütunları kullanır. Klasik uygulamalar verilerini ayrı olarak depolar ve bu makalede belirtilen farklı standart sütunlara sahiptir.

Not

Standart sütunlardan bazıları Log Analytics'te şema görünümünde veya intellisense'te gösterilmez ve çıktıda sütunu açıkça belirtmediğiniz sürece sorgu sonuçlarında gösterilmez.

TenantId

TenantId sütunu Log Analytics çalışma alanının çalışma alanı kimliğini içerir.

TimeGenerated

TimeGenerated sütunu, kaydın veri kaynağı tarafından oluşturulduğu tarih ve saati içerir. Diğer ayrıntılar için bkz . Azure İzleyici'de veri alma süresini günlüğe kaydetme.

TimeGenerated , zamana göre filtreleme veya özetleme için kullanılacak ortak bir sütun sağlar. Azure portalında bir görünüm veya pano için zaman aralığı seçtiğinizde, sonuçları filtrelemek için TimeGenerated kullanılır.

Not

Klasik Application Analizler kaynaklarını destekleyen tablolar TimeGenerated sütunu yerine Timestamp sütununu kullanır.

Not

TimeGenerated değeri, alınan süreden 2 gün önce veya gelecekte bir günden daha eski olamaz. Bazı durumlarda, değer 2 günden eskiyse veya gelecekte bir günden daha eskiyse, gerçek alınan süreyle değiştirilir.

Örnekler

Aşağıdaki sorgu, önceki haftada her gün için oluşturulan hata olaylarının sayısını döndürür.

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

_TimeReceived

_TimeReceived sütunu, kaydın Azure buluttaki Azure İzleyici alma noktası tarafından alındığı tarihi ve saati içerir. Bu, veri kaynağı ile bulut arasındaki gecikme sorunlarını tanımlamak için yararlı olabilir. Örneğin, bir aracıdan veri gönderilmesinde gecikmeye neden olan bir ağ sorunu olabilir. Diğer ayrıntılar için bkz . Azure İzleyici'de veri alma süresini günlüğe kaydetme.

Not

_TimeReceived sütunu her kullanıldığında hesaplanır. Bu işlem yoğun kaynak kullanır. Çok sayıda kaydı filtrelemek için kullanmaktan kaçının. Bu işlevin tekrar tekrar kullanılması sorgu yürütme süresinin artmasına neden olabilir.

Aşağıdaki sorgu, bir aracıdan olay kayıtları için saate göre ortalama gecikme süresi verir. Bu, aracıdan buluta kadar olan süreyi ve kaydın günlük sorguları için kullanılabilir olduğu toplam süreyi içerir.

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ür

Tür sütunu, kaydın alındığı tablonun adını tutar ve kayıt türü olarak da düşünülebilir. Bu sütun, farklı türlerdeki kayıtları ayırt etmek için işlecini kullananlar gibi birden çok tablodaki search kayıtları birleştiren sorgularda kullanışlıdır. $table bazı sorgularda Tür yerine kullanılabilir.

Not

Klasik Application Analizler kaynaklarını destekleyen tablolar Type sütunu yerine itemType sütununu kullanır.

Örnekler

Aşağıdaki sorgu, son bir saat içinde toplanan türe göre kayıtların sayısını döndürür.

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

_Itemıd

_ItemId sütunu, kayıt için benzersiz bir tanımlayıcı tutar.

_ResourceId

_ResourceId sütunu, kaydın ilişkili olduğu kaynak için benzersiz bir tanımlayıcı tutar. Bu, sorgunuzun kapsamını yalnızca belirli bir kaynaktan alınan kayıtlarla belirlemek veya ilgili verileri birden çok tablo arasında birleştirmek için kullanabileceğiniz standart bir sütun sağlar.

Azure kaynakları için _ResourceId değeri Azure kaynak kimliği URL'sidir. Sütun, Azure Arc kaynakları da dahil olmak üzere Azure kaynaklarıyla veya alım sırasında Kaynak Kimliğini belirten özel günlükler ile sınırlıdır.

Not

Bazı veri türlerinde zaten Azure kaynak kimliğini veya abonelik kimliği gibi en az bir bölümünü içeren alanlar vardır. Bu alanlar geriye dönük uyumluluk için tutulsa da, daha tutarlı olacağından çapraz bağıntı gerçekleştirmek için _ResourceId kullanılması önerilir.

Örnekler

Aşağıdaki sorgu, her bilgisayar için performans ve olay verilerini birleştirir. Kimliği 101 olan tüm olayları ve %50'nin üzerinde işlemci kullanımını gösterir.

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

Aşağıdaki sorgu, AzureActivity kayıtlarını SecurityEvent kayıtlarıyla birleştirir. Bu makinelerde oturum açmış olan kullanıcılarla yapılan tüm etkinlik işlemlerini gösterir.

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şağıdaki sorgu _ResourceId ayrıştırıp Azure Kaynak Grubu başına faturalanan veri hacimlerini toplar.

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 

Veri türlerindeki taramaların yürütülmesi pahalı olduğundan bu union withsource = tt * sorguları tedbirli kullanın.

_SubscriptionId sütununu kullanmak, _ResourceId sütununu ayrıştırarak ayıklamaktan her zaman daha verimlidir.

_SubscriptionId

_SubscriptionId sütunu, kaydın ilişkili olduğu kaynağın abonelik kimliğini içerir. Bu, sorgunuzun kapsamını yalnızca belirli bir abonelikten alınan kayıtlarla belirlemek veya farklı abonelikleri karşılaştırmak için kullanabileceğiniz standart bir sütun sağlar.

Azure kaynakları için __SubscriptionId değeri, Azure kaynak kimliği URL'sinin abonelik bölümüdür. Sütun, Azure Arc kaynakları da dahil olmak üzere Azure kaynaklarıyla veya alım sırasında Abonelik Kimliğini belirten özel günlükler ile sınırlıdır.

Not

Bazı veri türlerinin Azure abonelik kimliğini içeren alanları zaten vardır. Bu alanlar geriye dönük uyumluluk için tutulsa da, daha tutarlı olacağından çapraz bağıntı gerçekleştirmek için _SubscriptionId sütununun kullanılması önerilir.

Örnekler

Aşağıdaki sorgu belirli bir aboneliğin bilgisayarları için performans verilerini inceler.

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

Aşağıdaki sorgu _ResourceId ayrıştırıp Azure aboneliği başına faturalanan veri hacimlerini toplar.

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

Veri türlerindeki taramaların yürütülmesi pahalı olduğundan bu union withsource = tt * sorguları tedbirli kullanın.

_IsBillable

_IsBillable sütunu, alınan verilerin faturalanabilir olarak kabul edilip edilmeyeceğini belirtir. _IsBillable eşit false olan veriler veri alımı, saklama veya arşiv ücretlerine neden olmaz.

Örnekler

Faturalanan veri türlerini gönderen bilgisayarların listesini almak için aşağıdaki sorguyu kullanın:

Not

Veri türlerindeki taramaların yürütülmesi pahalı olduğundan sorguları union withsource = tt * tedbirli kullanın.

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

Bu, faturalanan veri türlerini gönderen bilgisayar sayısını saat başına döndürecek şekilde uzatılabilir:

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 sütunu, _IsBillable doğruysa Azure hesabınıza faturalanacak verilerin bayt cinsinden boyutunu belirtir. Faturalanan boyutun nasıl hesaplandığı hakkında daha fazla bilgi edinmek için bkz. Veri boyutu hesaplaması.

Örnekler

Bilgisayar başına alınan faturalanabilir olayların boyutunu görmek için bayt cinsinden boyutu sağlayan sütunu kullanın _BilledSize :

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

Abonelik başına alınan faturalanabilir olayların boyutunu görmek için aşağıdaki sorguyu kullanın:

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

Kaynak grubu başına alınan faturalanabilir olayların boyutunu görmek için aşağıdaki sorguyu kullanın:

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 

Bilgisayar başına alınan olayların sayısını görmek için aşağıdaki sorguyu kullanın:

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

Bilgisayar başına alınan faturalanabilir olayların sayısını görmek için aşağıdaki sorguyu kullanın:

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

Belirli bir bilgisayardan faturalanabilir veri türlerinin sayısını görmek için aşağıdaki sorguyu kullanın:

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

Sonraki adımlar