Azure Depolama analizini günlüğe kaydetme
Depolama Analizi, bir depolama cihazına gönderilen başarılı ve başarısız isteklerle ilgili ayrıntılı bilgileri günlüğe kaydeder. Bu bilgileri kullanarak istekleri ayrı ayrı izleyebilir ve depolama hizmetiyle ilgili sorunları tanılayabilirsiniz. İstekler en iyi çaba temelinde günlüğe kaydedilir. Bu, çoğu isteğin bir günlük kaydına neden olduğu anlamına gelir, ancak Depolama Analytics günlüklerinin tamlığı ve zaman çizelgeleri garanti edilemez.
Not
Analytics günlüklerini kullanmak Depolama azure Azure İzleyici azure Depolama öneririz. Depolama Azure Azure İzleyici günlükleri genel önizleme aşamasındadır ve tüm genel bulut bölgelerinde önizleme testi için kullanılabilir. Bu önizleme bloblar (Azure Data Lake Depolama 2. Nesil dahil), dosyalar, kuyruklar ve tablolar için günlüklere olanak sağlar. Daha fazla bilgi edinmek için aşağıdaki makalelerden herhangi birini okuyun:
Depolama Analizi günlüğe kaydetme özelliği depolama hesabınızda varsayılan olarak etkin değildir. Bu özelliği powershell'Azure portal PowerShell veya Azure CLI kullanarak etkinleştirabilirsiniz. Adım adım kılavuz için bkz. Azure Depolama Analytics günlüklerini (klasik) etkinleştirme ve yönetme.
Depolama Analytics günlüklerini, REST API kitaplığı aracılığıyla program aracılığıyla da etkinleştirebilirsiniz. Her hizmet için Blob Hizmeti ÖzellikleriniAl, Kuyruk HizmetiÖzelliklerini Al ve Tablo Hizmeti Özelliklerini Al işlemlerini kullanarak Depolama Analytics'i etkinleştirin. .NET kullanarak Depolama Analytics günlüklerini etkinleştiren bir örnek görmek için bkz. Günlükleri etkinleştirme
Günlük girişleri yalnızca hizmet uç noktasına yapılan istekler varsa oluşturulur. Örneğin, bir depolama hesabının Blob uç noktası üzerinde etkinliği varsa ancak Tablo veya Kuyruk uç noktalarında etkinlik yoksa, yalnızca Blob hizmetiyle ilgili günlükler oluşturulur.
Not
Depolama Analizi günlüğe kaydetme özelliği şu anda yalnızca Blob, Kuyruk ve Tablo hizmetleri için kullanılabilir. Depolama Analiz günlüğü, premium performansa sahip BlockBlobStorage hesaplarda da kullanılabilir. Ancak premium performansa sahip genel amaçlı v2 hesaplarda kullanılamaz.
Günlüğe kaydedilen istekler
Kimliği doğrulanmış istekleri günlüğe kaydetme
Aşağıdaki türden kimliği doğrulanmış istekler kaydedilir:
Başarılı istekler
Zaman aşımı, azaltma, ağ, yetkilendirme hatalarını ve diğer hataları içeren başarısız istekler
Başarısız ve başarılı istekler de dahil olmak üzere Paylaşılan Erişim İmzası (SAS) veya OAuth kullanan istekler
Analiz verisi istekleri
Depolama Analytics tarafından yapılan günlük oluşturma veya silme gibi istekler günlüğe kaydedilmez. Günlüğe kaydedilen verilerin tam listesi, Depolama Analytics Günlüğe Kaydedilen İşlemler ve Durum İletileri ve Depolama Analytics Günlük Biçimi konu başlıklarında belgelenmiştir.
Anonim istekleri günlüğe kaydetme
Aşağıdaki anonim istek türleri günlüğe kaydedilir:
Başarılı istekler
Sunucu hataları
Hem istemci hem de sunucu için zaman aşımı hataları
304 hata koduna sahip başarısız GET istekleri (Değiştirilmemiş)
Diğer tüm başarısız anonim istekler günlüğe kaydedilmez. Günlüğe kaydedilen verilerin tam listesi, Depolama Analytics Günlüğe Kaydedilen İşlemler ve Durum İletileri ve Depolama Analytics Günlük Biçimi konu başlıklarında belgelenmiştir.
Not
Depolama Analiz, veri düzlemi için yapılan tüm dahili çağrıları günlüğe kaydeder. Azure kaynak Depolama sağlayıcısından gelen çağrılar da günlüğe kaydedilir. Bu istekleri tanımlamak için istek URL'sinde <sk=system-1> sorgu dizesini arama.
Günlükler nasıl depolanır?
Tüm günlükler, depolama hesabı için Depolama Analytics etkinleştirildiğinde otomatik olarak oluşturulan adlı kapsayıcıda blok $logs bloblarında depolanır. Kapsayıcı, $logs depolama hesabının blob ad alanında bulunur, örneğin: http://<accountname>.blob.core.windows.net/$logs . Bu kapsayıcı, Depolama Analytics etkinleştirildikten sonra silinemez ancak içeriği silinebilir. Doğrudan kapsayıcıya gitmek için depolamaya göz atma aracınızı kullanırsanız, günlük verilerinizi içeren tüm blobları görebilir.
Not
Kapsayıcıları $logs Listeleme işlemi gibi bir kapsayıcı listeleme işlemi gerçekleştiriliyorsa kapsayıcı görüntülenmez. Doğrudan erişilebilir olması gerekir. Örneğin, kapsayıcıda bloblara erişmek için Blobları Listele işlemi $logs kullanabilirsiniz.
İstekler günlüğe kaydedilirken Depolama Analytics ara sonuçları blok olarak karşıya yükler. Düzenli aralıklarla Depolama Analytics bu blokları işler ve blob olarak kullanılabilir hale sunar. Depolama hizmetinin günlük yazıcılarını boşaltma sıklığı nedeniyle günlük $logs bloblarda görünmesi bir saate kadar zaman alır. Aynı saatte oluşturulan günlükler için yinelenen kayıtlar mevcut olabilir. RequestId ve İşlem numarasını kontrol ederek kaydın yinelenen bir kayıt olup olmadığını tespit etmek için.
Her saat için birden çok dosya içeren yüksek hacimli günlük verileriniz varsa blob meta verilerini kullanarak günlüğün hangi verileri içerdiğini belirlemek için blob meta verilerini kullanabilirsiniz. Veriler günlük dosyalarına yazılırken bazen gecikme olması da bu durum için de yararlıdır: blob meta verileri blob içeriğine blob adına göre daha doğru bir gösterge sağlar.
Çoğu depolama gözatma aracı blobların meta verilerini görüntülemenizi sağlar; Bu bilgileri PowerShell kullanarak veya program aracılığıyla da okuyabilirsiniz. Aşağıdaki PowerShell kod parçacığı, bir saat belirtmek için günlük blobları listesini adlarına göre filtrelemenin ve yalnızca yazma işlemlerini içeren günlükleri tanımlamak için meta verilere göre filtrelemenin bir örneğidir.
Get-AzStorageBlob -Container '$logs' |
Where-Object {
$_.Name -match 'blob/2014/05/21/05' -and
$_.ICloudBlob.Metadata.LogType -match 'write'
} |
ForEach-Object {
"{0} {1} {2} {3}" –f $_.Name,
$_.ICloudBlob.Metadata.StartTime,
$_.ICloudBlob.Metadata.EndTime,
$_.ICloudBlob.Metadata.LogType
}
Program aracılığıyla blob listeleme hakkında bilgi için bkz. Blob Kaynaklarını Listeleme ve Blob Kaynakları için Özellikleri ve Meta Verileri Ayarlama ve Alma.
Günlük adlandırma kuralları
Her günlük aşağıdaki biçimde yazılır:
<service-name>/YYYY/MM/DD/hhmm/<counter>.log
Aşağıdaki tabloda günlük adı içinde yer alan her öznitelik açık almaktadır:
| Öznitelik | Açıklama |
|---|---|
<service-name> |
Depolama hizmetinin adı. Örneğin: blob , table veya queue |
YYYY |
Günlük için dört basamaklı yıl. Örnek: 2011 |
MM |
Günlük için iki basamaklı ay. Örnek: 07 |
DD |
Günlük için iki basamaklı gün. Örnek: 31 |
hh |
24 saat UTC biçiminde günlükler için başlangıç saati gösteren iki basamaklı saat. Örnek: 18 |
mm |
Günlükler için başlangıç dakikası belirten iki basamaklı sayı. Not: Bu değer, Depolama Analytics'in geçerli sürümünde desteklenmez ve değeri her zaman 00 olur. |
<counter> |
Depolama hizmeti için bir saatlik süre içinde oluşturulan günlük bloblarının sayısını gösteren altı basamaklı sıfır tabanlı bir sayaç. Bu sayaç ile 000000 başlar. Örnek: 000001 |
Aşağıda, yukarıdaki örnekleri birleştiren eksiksiz bir örnek günlük adı verilmiştir:
blob/2011/07/31/1800/000001.log
Aşağıdaki örnek URI yukarıdaki günlüğe erişmek için kullanılabilir:
https://<accountname>.blob.core.windows.net/$logs/blob/2011/07/31/1800/000001.log
Bir depolama isteği günlüğe kaydedlandıktan sonra elde edilen günlük adı, istenen işlemi tamamlayan saatle ilişkilidir. Örneğin, 31.07.2011 tarihinde saat 18:30'da bir GetBlob isteği tamamlanmışsa günlük aşağıdaki ön ekle yazılır: blob/2011/07/31/1800/
Günlük meta verileri
Tüm günlük blobları, blob'un içerdiği günlük verilerini tanımlamak için kullanılan meta verilerle depolanır. Aşağıdaki tabloda her meta veri özniteliği açık almaktadır:
| Öznitelik | Açıklama |
|---|---|
LogType |
Günlüğün okuma, yazma veya silme işlemleriyle ilgili bilgiler içerdiğini açıklar. Bu değer virgülle ayrılmış bir tür veya üçünün birleşimini içerebilir. Örnek 1: writeÖrnek 2: read,writeÖrnek 3: read,write,delete |
StartTime |
Günlükte, şeklinde bir girişin en erken YYYY-MM-DDThh:mm:ssZ zamanı. Örnek: 2011-07-31T18:21:46Z |
EndTime |
Günlükteki bir girişin en son saati, biçiminde YYYY-MM-DDThh:mm:ssZ . Örnek: 2011-07-31T18:22:09Z |
LogVersion |
Günlük biçiminin sürümü. |
Aşağıdaki liste Yukarıdaki örnekleri kullanarak tüm örnek meta verileri görüntüler:
LogType=writeStartTime=2011-07-31T18:21:46ZEndTime=2011-07-31T18:22:09ZLogVersion=1.0