Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure İzleyici maliyetleri, Log Analytics çalışma alanınızda toplanan veri hacmine göre önemli ölçüde farklılık gösterebilir. Çalışma alanını kullanan çözüm kümesi ve her çözümün topladığı veri miktarı bu birimi etkiler.
Bu makalede, veri alımı maliyetlerinizi denetlemenize yardımcı olmak için toplanan verilerinizi analiz etme konusunda rehberlik sağlanır. Size yardımcı olur:
- Beklenenden yüksek kullanımın nedenini belirleyin.
- Daha fazla kaynak izlerken ve farklı Azure İzleyici özelliklerini yapılandırdıkça maliyetlerinizi tahmin edin.
İ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:
- İçgörüler ve hizmetler kümesi (örneğin , Application Insights, Container Insights, VM Insights) 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ım için proaktif bildirimler ayarlayın. Bildirimler alarak, faturalama döneminizin bitimine kadar olası anomalileri ele almak üzere ayarlanırsınız.
Aşağıdaki örnek, son 24 saat içinde işlenen faturalanabilir veri hacmi 50 GB'tan büyükse uyarı gönderen bir günlük araması 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.
| Ayarlar | Değer |
|---|---|
| Kapsam | |
| Hedef kapsam | Log Analytics çalışma alanınızı seçin. |
| Koşul | |
| 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ük 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 | |
| Ciddiyet | Uyarı |
| Uyarı kuralı adı | 24 saat içinde 50 GB'tan büyük faturalanabilir veri hacmi. |
Yerleşik araçlarla kullanımı analiz etme
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 Workspace Insights çalışma alanınızdaki verileri hızlı bir şekilde anlamanızı sağlar. Örneğin, ortaya çıkarabileceğiniz içgörülerden bazıları şunlardır:
- Ana tablodaki en fazla veri hacmini alan veri tabloları.
- Verilere katkıda bulunabilecek en önemli kaynaklar.
- Veri alımı eğilimi.
Kullanım sekmesi, çözüme ve tabloya göre alımın dökümünü sağlar. Bu bilgiler, veri hacminizin büyük bir kısmı için katkıda bulunan tabloları hızla belirlemenize yardımcı olur. Sekmede ayrıca zaman içindeki veri toplama eğilimi de gösterilir. Bir yapılandırma değişikliğine yanıt olarak veri toplamanın zaman içinde sürekli arttığını veya aniden arttığını görün.
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ün son 31 gün içinde ne kadar veri gönderdiğini gösterir. Bu bilgiler, herhangi bir artışın genel veri kullanımından mı yoksa belirli bir çözüm tarafından kullanımdan mı geldiği gibi eğilimleri belirlemenize yardımcı olur.
Kullanım tablosundan faturalanabilir veri hacmini 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ü kullandığınızda, StartTime ve EndTime sonuçların sunulduğu zaman dilimlerini temsil eder.
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
Daha fazla örnek sorgu için bkz . Kullanım tablosu için sorgular.
Olay kayıtlarından faturalanabilir veri hacmini sorgulama
Toplanan verilerinizde daha ayrıntılı analize ihtiyacınız varsa Log Analytics içinde log sorguları kullanın. Log Analytics çalışma alanındaki her tablo, faturalanabilir verileri çözümlemenize yardımcı olabilecek aşağıdaki standart sütunlara sahiptir:
- _IsBillable , alım ücretine neden 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)
Daha fazla örnek sorgu için bkz. Olay tablosu için sorgular.
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ülmesi yoğun kaynak gerektirdiğinden, bulma sorgularını dikkatli kullanın. Abonelik, kaynak grubu veya kaynak adı başına sonuçlara ihtiyacınız yoksa, Kullanım tablosundaki Sorgu faturalanabilir veri hacmindeki Kullanım tablosu sorgularını 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
_ResourceId ayrıştırmak faydalı 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ülmesi yoğun kaynak gerektirdiğinden, bulma sorgularını dikkatli kullanın. Abonelik, kaynak grubu veya kaynak adı başına sonuçlara ihtiyacınız yoksa, Kullanım tablosundaki Sorgu faturalanabilir veri hacmindeki Kullanım tablosu sorgularını 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 veri hacmini 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
Daha fazla örnek sorgu için bkz. SecurityEvent tablosu için sorgular.
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
Daha fazla örnek sorgu için bkz . Kullanım tablosu için sorgular.
Performans veri türü
Perf
| summarize AggregatedValue = count() by CounterPath
Perf
| summarize AggregatedValue = count() by CounterName
Daha fazla örnek sorgu için bkz. Performans tablosu için sorgular.
Olay veri türü
Event
| summarize AggregatedValue = count() by EventID
Event
| summarize AggregatedValue = count() by EventLog, EventLevelName
Daha fazla örnek sorgu için bkz. Olay tablosu için sorgular.
Syslog veri türü
Syslog
| summarize AggregatedValue = count() by Facility, SeverityLevel
Syslog
| summarize AggregatedValue = count() by ProcessName
Daha fazla örnek sorgu için bkz. Syslog tablosu için sorgular.
AzureDiagnostics veri türü
AzureDiagnostics
| summarize AggregatedValue = count() by ResourceProvider, ResourceId
Daha fazla örnek sorgu için bkz. AzureDiagnostics tablosu için sorgular.
Application Insights veri birimini sorgulama
Aşağıdaki sorgular, Log Analytics çalışma alanının dışında veri depolayan klasik kaynaklar da dahil olmak üzere Application Insights kaynakları için geçerlidir. Hem çalışma alanı tabanlı hem de klasik kaynaklar için her alınan olayda kullanılabilen _BilledSize özelliğini kullanın. Klasik kaynaklar için , systemEvents tablosunda toplanan bilgileri de kullanabilirsiniz.
Not
SystemEvents haricinde Application Insights tablolarına yönelik sorgular, hem çalışma alanı tabanlı hem de klasik bir 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'iaçı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ı tek bir günle kısıtlayın. 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 fazla veri görmüyorsanız, veri gönderen çok fazla aracınız olabilir.
Geçen ay her gün kalp atışı gönderen ajan düğümlerin sayısı
Heartbeat
| where TimeGenerated > startofday(ago(31d))
| summarize nodes = dcount(Computer) by bin(TimeGenerated, 1d)
| render timechart
Daha fazla örnek sorgu için Heartbeat tablosu için sorgular bölümüne bakın.
Uyarı
Veri türleri genelinde yapılan taramalar yürütülmesi yoğun kaynak gerektirdiğinden, bulma sorgularını dikkatli kullanın. Abonelik, kaynak grubu veya kaynak adı başına sonuçlara ihtiyacınız yoksa, Kullanım tablosundaki Sorgu faturalanabilir veri hacmindeki Kullanım tablosu sorgularını 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ına göre faturalanan düğümler
Eski Düğüm Başına fiyatlandırma katmanı, düğümleri saatlik ayrıntı düzeyiyle faturalar. Ayrıca yalnızca bir dizi güvenlik veri türü gönderen düğümleri saymaz. Çalışma alanı eski Düğüm Başına fiyatlandırma katmanındaysa düğüm olarak faturalandırılan 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ı, sorgunun billableNodeMonthsPerDay olarak temsil ettiği düğüm ayları cinsindendir. Çalışma alanında Güncelleştirme Yönetimi çözümü yüklüyse, Update ve .
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ındaki bazı karmaşıklıklar önceki sorguda temsil edilmemektedir.
Geç gelen verileri tanılama
Usage kayıtlarını kullanarak rapor edilen yüksek veri toplama görüyorsanız, ancak veri türünde doğrudan _BilledSize topladığınızda aynı sonuçları görmüyorsanız, bunun nedeni geç gelen veriler 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 sunucunun zamanı yanlış olabilir. Örneklerden herhangi biri, Kullanım veri türü tarafından bildirilen alınan veriler ile olayın oluşturulduğu zaman damgası olan TimeGenerated ile belirtilen belirli bir gün için ham veriler üzerinde _BilledSize toplamını içeren sorgu 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, Azure İzleyici kaydı aldığı 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 verir.
where TimeGenerated > datetime(1970-01-01) deyimi, Log Analytics kullanıcı arabiriminin tüm verilere göz atabilmesi için ipucu vermek amacıyla 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 hesaplandığından ve ücretlerinizi azaltmaya yönelik farklı yapılandırma seçenekleri hakkında bilgi için bkz. Azure İzleyici Günlükleri fiyatlandırma ayrıntıları.
- Farklı Azure İzleyici ücretlerinin açıklaması ve bunları Azure faturanızda nasıl analiz etmek istediğiniz hakkında bilgi için bkz. Azure İzleyici maliyet ve kullanım.
- Ücretlerinizi en aza indirmek için Azure İzleyici yapılandırma ve yönetmeyle ilgili en iyi yöntemler için bkz. Azure İzleyici en iyi yöntemler - 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 nasıl kullanabileceğiniz hakkında bilgi için bkz. Azure İzleyici'da veri koleksiyonu dönüştürmeleri (önizleme).