Log Analytics çalışma alanında kullanımı analiz etme
Azure İzleyici maliyetleri, Log Analytics çalışma alanınızda toplanan veri hacmine göre önemli ölçüde farklılık gösterebilir. Bu birim, çalışma alanını kullanan çözüm kümesinden ve her çözümün topladığı veri miktarından etkilenir. Bu makale, veri alımı maliyetlerinizi denetlemeye yardımcı olmak için toplanan verilerinizi analiz etme konusunda rehberlik sağlar. Beklenenden daha yüksek kullanımın nedenini belirlemenize yardımcı olur. Ayrıca, daha fazla kaynak izleyip farklı Azure İzleyici özelliklerini yapılandırdıkça maliyetlerinizi tahmin etmenize de yardımcı olur.
İpucu
Azure İzleyici maliyetlerinizi azaltma stratejileri için bkz . Maliyet iyileştirme ve Azure İzleyici.
Beklenenden yüksek kullanım nedenleri
Her Log Analytics çalışma alanı ayrı bir hizmet olarak ücretlendirilir ve Azure aboneliğinizin faturasına katkıda bulunur. Aşağıdakilere bağlı olarak veri alımı miktarı önemli ölçüde olabilir:
- Etkinleştirilen içgörüler ve hizmetler kümesi ve bunların yapılandırması.
- İzlenen kaynakların sayısı ve türü.
- İzlenen her kaynaktan toplanan veri hacmi.
Bu faktörlerden herhangi birinde beklenmeyen bir artış, veri saklama ücretlerinin artmasına neden olabilir. Bu makalenin geri kalanında, bu tür bir durumu algılamaya ve daha sonra toplanan verileri analiz ederek artan kullanımın kaynağını belirlemeye ve azaltmaya yönelik yöntemler sağlanır.
Veri toplama yüksek olduğunda uyarı gönderme
Beklenmeyen faturalardan kaçınmak için, aşırı kullanımla karşılaştığınızda proaktif olarak bilgilendirilmelisiniz. Bildirim, faturalama döneminizin sonundan önce olası anomalileri gidermenize olanak tanır.
Aşağıdaki örnek, son 24 saat içinde alınan faturalanabilir veri hacmi 50 GB'tan büyükse uyarı gönderen bir günlük arama uyarı kuralıdır . Uyarı Mantığı ayarını, ortamınızdaki beklenen kullanıma göre farklı bir eşik kullanacak şekilde değiştirin. Ayrıca, kullanımı her gün birden çok kez denetleme sıklığını artırabilirsiniz, ancak bu seçenek uyarı kuralı için daha yüksek bir ücrete neden olur.
Ayar | Değer |
---|---|
Scope | |
Hedef kapsam | Log Analytics çalışma alanınızı seçin. |
Condition | |
Sorgu | Usage | where IsBillable | summarize DataGB = sum(Quantity / 1000) |
Ölçüm | Ölçü: DataGB Toplama türü: Toplam Toplama ayrıntı düzeyi: 1 gün |
Uyarı Mantığı | İşleç: Büyüktür Eşik değeri: 50 Değerlendirme sıklığı: 1 gün |
Eylemler | Eşik aşıldığında sizi bilgilendirmek için bir eylem grubu seçin veya ekleyin. |
Ayrıntılar | |
Önem | Uyarı |
Uyarı kuralı adı | 24 saat içinde 50 GB'tan büyük faturalanabilir veri hacmi. |
Azure İzleyici'de kullanım analizi
Azure İzleyici'deki mevcut araçlarla analizinizi başlatın. Bu araçlar yapılandırma gerektirmez ve genellikle en az çabayla ihtiyacınız olan bilgileri sağlayabilir. Toplanan verilerinizde mevcut Azure İzleyici özelliklerinden daha ayrıntılı analize ihtiyacınız varsa Log Analytics'te aşağıdaki günlük sorgularından herhangi birini kullanın.
Log Analytics Çalışma Alanı İçgörüleri
Log Analytics Çalışma Alanı İçgörüleri , çalışma alanınızdaki verileri hızlı bir şekilde anlamanıza olanak sağlar. Örneğin, şunları belirleyebilirsiniz:
- Ana tablodaki en fazla veri hacmini alan veri tabloları.
- Verilere katkıda bulunan en önemli kaynaklar.
- Veri alımı eğilimi.
Çözüme ve tabloya göre alım dökümü için Kullanım sekmesine bakın. Bu bilgiler, veri hacminizin büyük bir kısmı için katkıda bulunan tabloları hızla belirlemenize yardımcı olabilir. Sekmede ayrıca zaman içindeki veri toplama eğilimi de gösterilir. Veri toplamanın zaman içinde sürekli arttığını veya yapılandırma değişikliğine yanıt olarak aniden arttığını belirleyebilirsiniz.
Veri desenlerinizi daha iyi anlamanıza yardımcı olan önceden oluşturulmuş sorgular için Ek Sorgular'ı seçin.
Kullanım ve tahmini maliyetler
Her çalışma alanının Kullanım ve tahmini maliyetler sayfasındaki çözüm başına veri alımı grafiği, gönderilen toplam veri hacmini ve her çözüm tarafından son 31 gün içinde ne kadar veri gönderildiğini gösterir. Bu bilgiler, herhangi bir artışın genel veri kullanımından mı yoksa belirli bir çözümün kullanımından mı kaynaklanır gibi eğilimleri belirlemenize yardımcı olur.
Kullanım tablosundan veri birimlerini sorgulama
Belirli bir hizmet veya çözüm tarafından toplanan faturalanabilir veri miktarını analiz edin. Bu sorgular, çalışma alanı içindeki her tablo için kullanım verilerini toplayan Kullanım tablosunu kullanır.
Not
ile TimeGenerated
yan tümcesi yalnızca Azure portalındaki sorgu deneyiminin varsayılan 24 saatin ötesine geri döndüğünden emin olmaktır. Kullanım veri türünü StartTime
kullandığınızda ve EndTime
sonuçların sunulduğu zaman demetlerini temsil ettiğinizde.
Geçen ay türe göre faturalanabilir veri hacmi
Usage
| where TimeGenerated > ago(32d)
| where StartTime >= startofday(ago(31d)) and EndTime < startofday(now())
| where IsBillable == true
| summarize BillableDataGB = sum(Quantity) / 1000. by bin(StartTime, 1d), DataType
| render columnchart
Geçen ay içinde çözüme ve türe göre faturalanabilir veri hacmi
Usage
| where TimeGenerated > ago(32d)
| where StartTime >= startofday(ago(31d)) and EndTime < startofday(now())
| where IsBillable == true
| summarize BillableDataGB = sum(Quantity) / 1000 by Solution, DataType
| sort by Solution asc, DataType asc
Olaylardaki veri hacmini doğrudan sorgulama
Toplanan verilerinizde daha ayrıntılı analize ihtiyacınız varsa Log Analytics'te günlük sorgularını kullanabilirsiniz. Log Analytics çalışma alanındaki her tablo, faturalanabilir verileri analiz etme konusunda size yardımcı olabilecek aşağıdaki standart sütunlara sahiptir:
- _IsBillable, veri alımı ücreti olan kayıtları tanımlar. Faturalanamayan verileri filtrelemek için bu sütunu kullanın.
- _BilledSize, kaydın bayt cinsinden boyutunu sağlar.
Belirli olaylar için faturalanabilir veri hacmi
Belirli bir veri türünün aşırı veri topladığını fark ederseniz, artan belirli kayıtları belirlemek için bu tablodaki verileri analiz etmek isteyebilirsiniz. Bu örnek, tablodaki Event
belirli olay kimliklerini filtreler ve her kimlik için bir sayı sağlar. Diğer tablolardaki sütunları kullanarak bu sorguyu değiştirebilirsiniz.
Event
| where TimeGenerated > startofday(ago(31d)) and TimeGenerated < startofday(now())
| where EventID == 5145 or EventID == 5156
| where _IsBillable == true
| summarize count(), Bytes=sum(_BilledSize) by EventID, bin(TimeGenerated, 1d)
Azure kaynağına, kaynak grubuna veya aboneliğe göre veri hacmi
Belirli bir kaynaktan veya kaynak kümesinden toplanan faturalanabilir veri miktarını analiz edebilirsiniz. Bu sorgular, Azure'da barındırılan kaynaklardan gelen veriler için _ResourceId ve _SubscriptionId sütunlarını kullanır.
Uyarı
Veri türleri genelinde yapılan taramalar yürütülmek için yoğun kaynak kullandığından, bulma sorgularını dikkatli kullanın. Abonelik, kaynak grubu veya kaynak adı başına sonuçlara ihtiyacınız yoksa, önceki sorgularda olduğu gibi Kullanım tablosunu kullanın.
Son tam gün için kaynak kimliğine göre faturalanabilir veri hacmi
find where TimeGenerated between(startofday(ago(1d))..startofday(now())) project _ResourceId, _BilledSize, _IsBillable
| where _IsBillable == true
| summarize BillableDataBytes = sum(_BilledSize) by _ResourceId
| sort by BillableDataBytes nulls last
Son tam gün için kaynak grubuna göre faturalanabilir veri hacmi
find where TimeGenerated between(startofday(ago(1d))..startofday(now())) project _ResourceId, _BilledSize, _IsBillable
| where _IsBillable == true
| summarize BillableDataBytes = sum(_BilledSize) by _ResourceId
| extend resourceGroup = tostring(split(_ResourceId, "/")[4] )
| summarize BillableDataBytes = sum(BillableDataBytes) by resourceGroup
| sort by BillableDataBytes nulls last
ayrıştırmak _ResourceId
yararlı olabilir:
| parse tolower(_ResourceId) with "/subscriptions/" subscriptionId "/resourcegroups/"
resourceGroup "/providers/" provider "/" resourceType "/" resourceName
Son tam gün için aboneliğe göre faturalanabilir veri hacmi
find where TimeGenerated between(startofday(ago(1d))..startofday(now())) project _BilledSize, _IsBillable, _SubscriptionId
| where _IsBillable == true
| summarize BillableDataBytes = sum(_BilledSize) by _SubscriptionId
| sort by BillableDataBytes nulls last
İpucu
Büyük veri birimlerine sahip çalışma alanları için, bu bölümde gösterilenler gibi büyük hacimli ham verileri sorgulayan sorgular yapmak için tek bir günle sınırlandırılması gerekebilir. Zaman içindeki eğilimleri izlemek için bir Power BI raporu ayarlamayı ve günde bir kez kaynak başına veri hacimlerini toplamak için artımlı yenileme kullanmayı göz önünde bulundurun.
Bilgisayara göre veri hacmi
Bir sanal makineden veya bir sanal makine kümesinden toplanan faturalanabilir veri miktarını analiz edebilirsiniz. Kullanım tablosunda belirli sanal makinelerin veri birimlerini gösterecek ayrıntı düzeyi yoktur, bu nedenle bu sorgular bir bilgisayar adı içeren tüm tablolarda arama yapmak için bul işlecini kullanır. Bu sorgu yalnızca veri eğilimlerinin analizine yönelik olduğundan Kullanım türü atlanır.
Uyarı
Veri türleri genelinde yapılan taramalar yürütülmek için yoğun kaynak kullandığından, bulma sorgularını dikkatli kullanın. Abonelik, kaynak grubu veya kaynak adı başına sonuçlara ihtiyacınız yoksa, önceki sorgularda olduğu gibi Kullanım tablosunu kullanın.
Son tam gün için bilgisayara göre faturalanabilir veri hacmi
find where TimeGenerated between(startofday(ago(1d))..startofday(now())) project _BilledSize, _IsBillable, Computer, Type
| where _IsBillable == true and Type != "Usage"
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
| summarize BillableDataBytes = sum(_BilledSize) by computerName
| sort by BillableDataBytes desc nulls last
Son tam gün için bilgisayara göre faturalanabilir olayların sayısı
find where TimeGenerated between(startofday(ago(1d))..startofday(now())) project _IsBillable, Computer, Type
| where _IsBillable == true and Type != "Usage"
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
| summarize eventCount = count() by computerName
| sort by eventCount desc nulls last
Yaygın veri türleri için sorgulama
Belirli bir veri türü için aşırı faturalanabilir verileriniz olduğunu fark ederseniz, bu tablodaki verileri analiz etmek için bir sorgu gerçekleştirmeniz gerekebilir. Aşağıdaki sorgular bazı yaygın veri türleri için örnekler sağlar:
Güvenlik çözümü
SecurityEvent
| summarize AggregatedValue = count() by EventID
| order by AggregatedValue desc nulls last
Günlük Yönetimi çözümü
Usage
| where Solution == "LogManagement" and iff(isnotnull(toint(IsBillable)), IsBillable == true, IsBillable == "true") == true
| summarize AggregatedValue = count() by DataType
| order by AggregatedValue desc nulls last
Perf veri türü
Perf
| summarize AggregatedValue = count() by CounterPath
Perf
| summarize AggregatedValue = count() by CounterName
Event veri türü
Event
| summarize AggregatedValue = count() by EventID
Event
| summarize AggregatedValue = count() by EventLog, EventLevelName
Syslog veri türü
Syslog
| summarize AggregatedValue = count() by Facility, SeverityLevel
Syslog
| summarize AggregatedValue = count() by ProcessName
AzureDiagnostics veri türü
AzureDiagnostics
| summarize AggregatedValue = count() by ResourceProvider, ResourceId
Application Insights verileri
Klasik veya çalışma alanı tabanlı bir uygulamanız olmasına bağlı olarak Application Insights için toplanan veri miktarını araştırmak için iki yaklaşım vardır. _BilledSize
Hem çalışma alanı tabanlı hem de klasik kaynaklar için alınan her olayda kullanılabilen özelliğini kullanın. Klasik kaynaklar için systemEvents tablosundaki toplu bilgileri de kullanabilirsiniz.
Not
dışında SystemEvents
Application Insights tablolarına yönelik sorgular hem çalışma alanı tabanlı hem de klasik Application Insights kaynağı için çalışır. Geriye dönük uyumluluk, eski tablo adlarını kullanmaya devam etmenizi sağlar. Çalışma alanı tabanlı bir kaynak için Log Analytics çalışma alanı menüsünde Günlükler'i açın. Klasik bir kaynak için Application Insights menüsünde Günlükler'i açın.
Bağımlılık işlemleri son 30 gün içinde en fazla veri hacmini oluşturur (çalışma alanı tabanlı veya klasik)
dependencies
| where timestamp >= startofday(ago(30d))
| summarize sum(_BilledSize) by operation_Name
| render barchart
Son 7 gün için bu Application Insights kaynağının türüne göre günlük veri hacmi (yalnızca klasik)
systemEvents
| where timestamp >= startofday(ago(7d)) and timestamp < startofday(now())
| where type == "Billing"
| extend BillingTelemetryType = tostring(dimensions["BillingTelemetryType"])
| extend BillingTelemetrySizeInBytes = todouble(measurements["BillingTelemetrySize"])
| summarize sum(BillingTelemetrySizeInBytes) by BillingTelemetryType, bin(timestamp, 1d)
Çalışma alanı tabanlı kaynaklar için veri hacmi eğilimleri
Çalışma alanı tabanlı Application Insights kaynaklarının veri hacmi eğilimlerine bakmak için tüm Application Insights tablolarını içeren bir sorgu kullanın. Aşağıdaki sorgular çalışma alanı tabanlı kaynaklara özgü tablo adlarını kullanır.
Çalışma alanında 7 gün boyunca tüm Application Insights kaynakları için türe göre günlük veri hacmi
union AppAvailabilityResults,
AppBrowserTimings,
AppDependencies,
AppExceptions,
AppEvents,
AppMetrics,
AppPageViews,
AppPerformanceCounters,
AppRequests,
AppSystemEvents,
AppTraces
| where TimeGenerated >= startofday(ago(7d)) and TimeGenerated < startofday(now())
| summarize sum(_BilledSize) by _ResourceId, bin(TimeGenerated, 1d)
Yalnızca tek bir Application Insights kaynağının veri hacmi eğilimlerine bakmak için, önceki sorguya önce summarize
aşağıdaki satırı ekleyin:
| where _ResourceId contains "<myAppInsightsResourceName>"
İpucu
Büyük veri birimlerine sahip çalışma alanları için, büyük hacimli ham verileri sorgulayan önceki gibi sorguların yapılması tek bir günle sınırlandırılmalıdır. Zaman içindeki eğilimleri izlemek için bir Power BI raporu ayarlamayı ve günde bir kez kaynak başına veri hacimlerini toplamak için artımlı yenileme kullanmayı göz önünde bulundurun.
Veri gönderen düğümleri anlama
Belirli bir kaynaktan gelen aşırı veriniz yoksa, veri gönderen çok fazla sayıda aracınız olabilir.
Geçen ay her gün sinyal gönderen aracı düğümlerinin sayısı
Heartbeat
| where TimeGenerated > startofday(ago(31d))
| summarize nodes = dcount(Computer) by bin(TimeGenerated, 1d)
| render timechart
Uyarı
Veri türleri genelinde yapılan taramalar yürütülmek için yoğun kaynak kullandığından, bulma sorgularını dikkatli kullanın. Abonelik, kaynak grubu veya kaynak adı başına sonuçlara ihtiyacınız yoksa, önceki sorgularda olduğu gibi Kullanım tablosunu kullanın.
Son 24 saat içindeki verileri gönderen düğümlerin sayısı
find where TimeGenerated > ago(24h) project Computer
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
| where computerName != ""
| summarize nodes = dcount(computerName)
Her düğüm tarafından son 24 saatte gönderilen veri hacmi
find where TimeGenerated > ago(24h) project _BilledSize, Computer
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
| where computerName != ""
| summarize TotalVolumeBytes=sum(_BilledSize) by computerName
Eski Düğüm Başına fiyatlandırma katmanı tarafından faturalanan düğümler
Eski Düğüm Başına fiyatlandırma katmanı , saatlik ayrıntı düzeyine sahip düğümler için faturalanır. Ayrıca yalnızca bir dizi güvenlik veri türü gönderen düğümleri de saymaz. Çalışma alanı eski Düğüm Başına fiyatlandırma katmanındaysa düğüm olarak faturalanacak bilgisayarların listesini almak için, bazı veri türleri ücretsiz olduğundan faturalanan veri türlerini gönderen düğümleri arayın. Bu durumda, tam etki alanı adının en soldaki alanını kullanın.
Aşağıdaki sorgular, saat başına faturalanan veri içeren bilgisayarların sayısını döndürür. Faturanızdaki birim sayısı, sorguda tarafından temsil edilen billableNodeMonthsPerDay
düğüm aylarının birimleri cinsindendir. Çalışma alanında Güncelleştirme Yönetimi çözümü yüklüyse, Update ve UpdateSummary veri türlerini yan tümcesindeki where
listeye ekleyin.
find where TimeGenerated >= startofday(ago(7d)) and TimeGenerated < startofday(now()) project Computer, _IsBillable, Type, TimeGenerated
| where Type !in ("SecurityAlert", "SecurityBaseline", "SecurityBaselineSummary", "SecurityDetection", "SecurityEvent", "WindowsFirewall", "MaliciousIPCommunication", "LinuxAuditLog", "SysmonEvent", "ProtectionStatus", "WindowsEvent")
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
| where computerName != ""
| where _IsBillable == true
| summarize billableNodesPerHour=dcount(computerName) by bin(TimeGenerated, 1h)
| summarize billableNodesPerDay = sum(billableNodesPerHour)/24., billableNodeMonthsPerDay = sum(billableNodesPerHour)/24./31. by day=bin(TimeGenerated, 1d)
| sort by day asc
Not
Çözüm hedefleme kullanıldığında gerçek faturalama algoritmasının bazı karmaşıklığı önceki sorguda temsil değildir.
Geç gelen veriler
Kayıtları kullanarak Usage
bildirilen yüksek veri alımı gözlemliyorsanız ancak aynı sonuçların doğrudan veri türünde toplandığını _BilledSize
görmüyorsanız, geç gelen verileriniz olabilir. Bu durum, veriler eski zaman damgalarıyla alındığında oluşur.
Örneğin, bir aracı bir bağlantı sorunu yaşayabilir ve yeniden bağlandığında birikmiş verileri gönderebilir. Veya bir konağın zamanı yanlış olabilir. Her iki örnek de Kullanım veri türü tarafından bildirilen alınan veriler ile olayın oluşturulduğu zaman damgası olan TimeGenerated tarafından belirtilen belirli bir gün için ham veriler üzerinde sorgu toplama _BilledSize arasında belirgin bir tutarsızlıkla sonuçlanabilir.
Geç gelen veri sorunlarını tanılamak için _TimeReceived sütununu ve TimeGenerated sütununu kullanın. _TimeReceived
özelliği, kaydın Azure buluttaki Azure İzleyici alma noktası tarafından alındığı zamandır.
Aşağıdaki örnek, alınan bu verilerdeki zaman damgalarını belirlemek için 2 Mayıs 2021'de W3CIISLog verilerinin yüksek veri hacimlerine yanıt olarak verilmiştir. Deyimi where TimeGenerated > datetime(1970-01-01)
, Log Analytics kullanıcı arabiriminin tüm verilere göz atacak ipucunu sağlamak için eklenmiştir.
W3CIISLog
| where TimeGenerated > datetime(1970-01-01)
| where _TimeReceived >= datetime(2021-05-02) and _TimeReceived < datetime(2021-05-03)
| where _IsBillable == true
| summarize BillableDataMB = sum(_BilledSize)/1.E6 by bin(TimeGenerated, 1d)
| sort by TimeGenerated asc
Sonraki adımlar
- Log Analytics çalışma alanında veriler için ücretlerin nasıl hesaplendiği ve ücretlerinizi azaltmak için farklı yapılandırma seçenekleri hakkında bilgi için bkz . Azure İzleyici Günlükleri fiyatlandırma ayrıntıları .
- Azure İzleyici ücretlerinin farklı türlerinin açıklaması ve bunların Azure faturanızda nasıl çözümleneceği hakkında bilgi için bkz . Azure İzleyici maliyeti ve kullanımı .
- Ücretlerinizi en aza indirmek için Azure İzleyici'yi yapılandırma ve yönetme konusunda en iyi yöntemler için bkz . Azure İzleyici en iyi yöntemleri - Maliyet yönetimi .
- İstenmeyen kayıtları ve sütunları filtreleyerek Log Analytics çalışma alanında topladığınız veri miktarını azaltmak için dönüştürmeleri kullanma hakkında bilgi için bkz . Azure İzleyici'de veri toplama dönüşümleri (önizleme ).