Aracılığıyla paylaş


Yaşam döngüsü yönetim politikası uygulamalarını izleme

Olayları, ölçümleri ve günlükleri kullanarak çalıştırılan Azure Blob Depolama yaşam döngüsü yönetimi ilkesini izleyebilirsiniz. Bir olaya abone olarak yaşam döngüsü yönetimi sürecinin ne zaman tamamlandığını belirleyebilirsiniz. Sorunları tanımlamak ve ardından ölçümleri ve günlükleri kullanarak bu sorunları tanılamak için olay özelliklerini kullanabilirsiniz.

Çalıştırma tamamlandığında bildirim alma

Yaşam döngüsü yönetimi çalıştırması tamamlandığında bildirim almak için LifecyclePolicyCompleted olaya abone olun. Bu olay, bir yaşam döngüsü yönetim ilkesi tarafından tanımlanan eylemler gerçekleştirildiğinde oluşturulur. İlke tanımına dahil edilen her eylem için bir özet bölümü görüntülenir. Aşağıdaki json, bir ilke için örnek LifecyclePolicyCompleted olayı gösterir. delete, tierToCool, tierToCold ve tierToArchive eylemleri için bir özet bölümü görüntülenir. Aşağıdaki JSON'da bir olay bildirimi örneği gösterilmektedir.

{
    "topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/contosoresourcegroup/providers/Microsoft.Storage/storageAccounts/contosostorageaccount",
    "subject": "BlobDataManagement/LifeCycleManagement/SummaryReport",
    "eventType": "Microsoft.Storage.LifecyclePolicyCompleted",
    "eventTime": "2022-05-26T00:00:40.1880331",    
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "data": {
          "scheduleTime": "2022/05/24 22:57:29.3260160",
        "policyRunSummary": { 
            "completionStatus": "Completed/CompletedWithError/Incomplete" 
        },
        "deleteSummary": {
            "totalObjectsCount": 5,
            "successCount": 3,
            "errorList": ["testFile4.txt", "testFile5.txt"]
        },
        "tierToCoolSummary": {
            "totalObjectsCount": 0,
            "successCount": 0,
            "errorList": ""
        },
        "tierToColdSummary": {
            "totalObjectsCount": 0,
            "successCount": 0,
            "errorList": ""
        },
        "tierToArchiveSummary": {
            "totalObjectsCount": 0,
            "successCount": 0,
            "errorList": ""
        }
    },
    "dataVersion": "1",
    "metadataVersion": "1"
}

Bir olaya abone olmanın farklı yolları hakkında daha fazla bilgi edinmek için bkz. Azure Event Grid'de olay işleyicileri.

Ölçümleri ve günlükleri kullanarak hataları araştırma

Önceki bölümde yer alan olay yanıtı örneği, yaşam döngüsü yönetimi ilkesinin beş nesneyi silmeyi denediğini ancak yalnızca üç nesneyle başarılı olduğunu gösterir. testFile4.txt ve testFile5.txt dosyaları bu çalıştırmanın bir parçası olarak başarıyla silinmedi. Bazı nesnelerin neden başarıyla işlenmediğini tanılamak için Azure İzleyici'de ölçüm gezginini ve sorgu kaynak günlüklerini kullanabilirsiniz.

Ölçümler

İşlemlerin tam olarak ne zaman başarısız olduğunu belirlemek için ölçüm gezginini kullanın. Özelliklerde görünen scheduleTime ve eventTime değeri arasındaki LifecyclePolicyCompleted zaman diliminde hesaba uygulanan tüm işlemleri görebilirsiniz.

İlke tarafından yürütülen işlemleri daraltmak için aşağıdaki ölçüm filtrelerini kullanın:

Filtre Operatör Değer
İşlem türü eşit system
API adı eşit DeleteBlob
Yanıt türü eşit değil Success

Aşağıdaki görüntüde sorgunun ve sorgu sonucunun bir örneği gösterilmektedir. Sorgu sonucunda görüntülenen çizgi grafik, bu işlemlerin başarısız olduğu zamanı gösterir.

Başarısız olan silme işlemlerini belirlemek için uygulanan ölçümleri gösteren ekran görüntüsü.

Kayıtlar

Nesnelerin neden ilke tarafından başarıyla işlenmediğini öğrenmek için kaynak günlüklerine bakabilirsiniz. Günlükleri hataların zaman çerçevesine daraltın. Ardından UserAgentHeader alanının ObjectLifeCycleScanner veya OLCMScanner olarak ayarlandığı girişlere bakın. Azure İzleyici Log Analytics çalışma alanına günlük göndermek için bir tanılama ayarı yapılandırdıysanız, bu günlük girdilerini bulmak için Kusto sorgusu kullanabilirsiniz. Tanılama ayarını nasıl yapılandıracağınızı öğrenmek için Blob Depolamayı İzleme sayfasına bakın.

Aşağıdaki örnek sorgu, bir yaşam döngüsü yönetimi ilkesi tarafından başlatılan başarısız silme işlemleri için günlük girdilerini bulur.

StorageBlobLogs
| where OperationName contains "DeleteBlob" and UserAgentHeader contains "ObjectLifeCycleScanner"
| project TimeGenerated, StatusCode, StatusText

StatusCode ve StatusText, hataya neyin neden olduğunu gösterir. Aşağıdaki görüntüde bu sorgunun çıkışı gösterilmektedir. Her iki günlük girdisi de LeaseIdMissingStatusText değerini gösterir. Bu, her iki nesnenin de işlemin başarılı olması için bozulması veya serbest bırakılması gereken aktif bir kira sözleşmesine sahip olduğu anlamına gelir.

Kusto sorgusunu ve nesneleri silme girişimlerinin başarısız olduğunu gösteren sorgunun sonuçlarını gösteren ekran görüntüsü.

Ayrıca bakınız