Aracılığıyla paylaş


Azure İzleyici etkinlik günlüğü verilerini gönderme

Azure İzleyici etkinlik günlüğü, abonelik düzeyi olaylarla ilgili içgörüler sağlayan bir platform günlüğüdür. Etkinlik günlüğü, bir kaynağın ne zaman değiştirildiği veya dağıtım hatası oluştuğu gibi bilgileri içerir. Etkinlik günlüğünü Azure portalında görüntüleyebilir veya PowerShell ve Azure CLI ile girdileri alabilirsiniz.

Bu makalede etkinlik günlüğünü görüntüleme ve farklı hedeflere gönderme hakkında bilgi sağlanır.

Uyarı

  • Etkinlik günlüğündeki girdiler sistem tarafından oluşturulur ve değiştirilemez veya silinemez.
  • Etkinlik günlüğündeki girdiler, sanal makine yeniden başlatması gibi denetim düzlemi değişikliklerini temsil eder, ilişkili olmayan tüm girdiler Azure Kaynak Günlüklerine yazılmalıdır
  • Etkinlik günlüğündeki girdiler genellikle değişikliklerin (oluşturma, güncelleştirme veya silme işlemlerinin) veya başlatılmış bir eylemin sonucu olur. Bir kaynağın ayrıntılarını okumaya odaklanan işlemler genellikle yakalanmaz.

Tavsiye

Dağıtım işlemi hatasından bu makaleye yönlendirildiyseniz bkz. Yaygın Azure dağıtım hatalarını giderme.

Etkinlik günlüklerini dışarı aktarma

  1. Azure İzleyici>Etkinlik günlüğü'ne gidin ve Etkinlik Günlüklerini Dışarı Aktar'ı seçin.

    Etkinlik günlüklerine nasıl ulaşıldığını gösteren ekran görüntüsü.

    Uyarı

    Etkinlik günlüğünü herhangi bir abonelikten en fazla beş çalışma alanına gönderebilirsiniz.

  2. Etkinlik günlüklerini şu konumlardan birine veya daha fazlasına göndermek için tanılama ayarı ekleyin:

    Tanılama ayarı eklemeyi gösteren ekran görüntüsü.

    Tanılama ayarı oluşturma hakkında ayrıntılı bilgi için Farklı hedeflere platform günlüklerini ve ölçümlerini göndermek üzere tanılama ayarları oluşturma'ya bakın.

    Tavsiye

    Aşağıdaki avantajlar için etkinlik günlüğü verilerini Log Analytics çalışma alanına gönderin:

    • Günlükleri Log Analytics çalışma alanına göndermek, varsayılan saklama süresi için ücretsizdir.
    • 12 yıla kadar daha uzun süre bekletmek için günlükleri Log Analytics çalışma alanına gönderin.
    • Log Analytics çalışma alanına aktarılan günlükler Power BI'da gösterilebilir
    • Log Analytics'e dışarı aktarılan etkinlik günlükleri için içgörüler sağlanır.

Log Analytics çalışma alanına gönderme

Etkinlik günlüğünü Log Analytics çalışma alanına göndererek Azure İzleyici Günlükleri özelliğini etkinleştirin. Burada:

  • Etkinlik günlüğü verilerini Azure İzleyici tarafından toplanan diğer izleme verileriyle ilişkilendirin.
  • Birden çok Azure aboneliğinden ve kiracıdan kayıt girdilerini tek bir konumda birleştirerek birlikte analiz edin.
  • Günlük sorgularını kullanarak karmaşık analiz gerçekleştirin ve etkinlik günlüğü girdileri hakkında ayrıntılı içgörüler elde edin.
  • Daha karmaşık uyarı mantığı için etkinlik girdilerini kullanarak günlük araması uyarılarına başvurun.
  • Etkinlik günlüğü girdilerini etkinlik günlüğü saklama süresinden daha uzun süre depolayın.
  • Log Analytics çalışma alanında depolanan etkinlik günlüğü verileri için veri alımı veya saklama ücreti alınmaz.
  • Log Analytics'te varsayılan saklama süresi 90 gündür.

Log Analytics çalışma alanındaki etkinlik günlüğü verileri, AzureActivity adlı bir tabloda depolanır ve Log Analytics'te günlük sorgusuyla alınabilir. Bu tablonun yapısı günlük girdisinin kategorisine bağlı olarak değişir. Tablo özelliklerinin açıklaması için bkz Azure İzleyici veri başvurusu.

Örneğin, her kategori için etkinlik günlüğü kayıtlarının sayısını görüntülemek için aşağıdaki sorguyu kullanın:

AzureActivity
| summarize count() by CategoryValue

Yönetim kategorisindeki tüm kayıtları almak için aşağıdaki sorguyu kullanın:

AzureActivity
| where CategoryValue == "Administrative"

Önemli

Bazı senaryolarda, AzureActivity alanlarındaki değerlerin diğer eşdeğer değerlerden farklı büyük/küçük harfe sahip olması mümkündür. AzureActivity'de veri sorgularken, dize karşılaştırmaları için büyük/küçük harfe duyarsız işleçler kullanmaya dikkat edin veya karşılaştırmalardan önce bir alanı standart bir büyük/küçük harf biçimine dönüştürmek için bir skaler işlev kullanın. Örneğin, bir alanın her zaman küçük harfli olmasını sağlamak için tolower() işlevini veya bir dize karşılaştırması gerçekleştirirken =~ operatörünü kullanın.

Azure Event Hubs’a gönderme

Etkinlik günlüğünü Azure Event Hubs'a göndererek girdileri Azure'ın dışında, örneğin üçüncü taraf bir SIEM'ye veya diğer log analytics çözümlerine gönderin. Olay hub'larından etkinlik günlüğü olayları, her yükteki kayıtları içeren bir records öğeyle JSON biçiminde tüketilir. Şema kategoriye bağlıdır ve Azure etkinlik günlüğü olay şemasında açıklanmıştır.

Aşağıdaki örnek çıktı verileri etkinlik günlüğü için olay hub'larından alınmaktadır:

{
    "records": [
        {
            "time": "2019-01-21T22:14:26.9792776Z",
            "resourceId": "/subscriptions/s1/resourceGroups/MSSupportGroup/providers/microsoft.support/supporttickets/115012112305841",
            "operationName": "microsoft.support/supporttickets/write",
            "category": "Write",
            "resultType": "Success",
            "resultSignature": "Succeeded.Created",
            "durationMs": 2826,
            "callerIpAddress": "111.111.111.11",
            "correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
            "identity": {
                "authorization": {
                    "scope": "/subscriptions/s1/resourceGroups/MSSupportGroup/providers/microsoft.support/supporttickets/115012112305841",
                    "action": "microsoft.support/supporttickets/write",
                    "evidence": {
                        "role": "Subscription Admin"
                    }
                },
                "claims": {
                    "aud": "https://management.core.windows.net/",
                    "iss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/",
                    "iat": "1421876371",
                    "nbf": "1421876371",
                    "exp": "1421880271",
                    "ver": "1.0",
                    "http://schemas.microsoft.com/identity/claims/tenantid": "ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0",
                    "http://schemas.microsoft.com/claims/authnmethodsreferences": "pwd",
                    "http://schemas.microsoft.com/identity/claims/objectidentifier": "2468adf0-8211-44e3-95xq-85137af64708",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "admin@contoso.com",
                    "puid": "20030000801A118C",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "9vckmEGF7zDKk1YzIY8k0t1_EAPaXoeHyPRn6f413zM",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "John",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "Smith",
                    "name": "John Smith",
                    "groups": "cacfe77c-e058-4712-83qw-f9b08849fd60,7f71d11d-4c41-4b23-99d2-d32ce7aa621c,31522864-0578-4ea0-9gdc-e66cc564d18c",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": " admin@contoso.com",
                    "appid": "00001111-aaaa-2222-bbbb-3333cccc4444",
                    "appidacr": "2",
                    "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
                    "http://schemas.microsoft.com/claims/authnclassreference": "1"
                }
            },
            "level": "Information",
            "location": "global",
            "properties": {
                "statusCode": "Created",
                "serviceRequestId": "50d5cddb-8ca0-47ad-9b80-6cde2207f97c"
            }
        }
    ]
}

Azure Depolama’ya gönderme

Günlük verilerinizi denetim, statik analiz veya yedekleme için 90 günden daha uzun süre saklamak istiyorsanız etkinlik günlüğünü bir Azure Depolama hesabına gönderin. Etkinliklerinizi 90 gün veya daha kısa süre saklamanız gerekiyorsa, depolama hesabına arşivleme ayarlamanız gerekmez. Etkinlik günlüğü olayları Azure platformunda 90 gün boyunca saklanır.

Etkinlik günlüğünü Azure'a gönderdiğinizde, bir olay gerçekleşir gerçekleşmez depolama hesabında bir depolama kapsayıcısı oluşturulur. Kapsayıcıdaki bloblar aşağıdaki adlandırma kuralını kullanır:

insights-activity-logs/resourceId=/SUBSCRIPTIONS/{subscription ID}/y={four-digit numeric year}/m={two-digit numeric month}/d={two-digit numeric day}/h={two-digit 24-hour clock hour}/m=00/PT1H.json

Örneğin, belirli bir blob şuna benzer bir adı olabilir.

insights-activity-logs/resourceId=/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/y=2020/m=06/d=08/h=18/m=00/PT1H.json

Her PT1H.json blobu, blob URL'sinde belirtilen saat içinde alınan günlük dosyalarından olaylar içeren bir JSON nesnesi içerir. Şu saat içinde olaylar, oluşturulma zamanlarından bağımsız olarak alındıklarında PT1H.json dosyasına eklenir. URL'deki dakika değeri, bloblar her saat başı oluşturulduğundan dolayı daima m=00 olarak 00 şeklindedir.

Her olay aşağıdaki biçimde PT1H.json dosyasında depolanır. Bu biçim ortak bir üst düzey şema kullanır, ancak Etkinlik günlüğü şemasında açıklandığı gibi her kategori için benzersizdir.

{ "time": "2020-06-12T13:07:46.766Z", "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT.COMPUTE/VIRTUALMACHINES/MV-VM-01", "correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee", "operationName": "Microsoft.Resourcehealth/healthevent/Updated/action", "level": "Information", "resultType": "Updated", "category": "ResourceHealth", "properties": {"eventCategory":"ResourceHealth","eventProperties":{"title":"This virtual machine is starting as requested by an authorized user or process. It will be online shortly.","details":"VirtualMachineStartInitiatedByControlPlane","currentHealthStatus":"Unknown","previousHealthStatus":"Unknown","type":"Downtime","cause":"UserInitiated"}}}

CSV’ye aktar

Etkinlik günlüğünü Azure portalını kullanarak bir CSV dosyasına aktarmak için CSV olarak indir'i seçin.

CSV'ye dışarı aktarma seçeneğini gösteren ekran görüntüsü.

Önemli

Çok fazla sayıda günlük girdiniz varsa dışarı aktarma işlemi aşırı zaman alabilir. Performansı geliştirmek için dışarı aktarmanın zaman aralığını azaltın. Azure portalında bu, Timespan ayarıyla ayarlanır.

Aşağıdaki örneklerde gösterildiği gibi PowerShell veya Azure CLI kullanarak etkinlik günlüğünü bir CSV dosyasına da aktarabilirsiniz.

az monitor activity-log list --start-time "2024-03-01T00:00:00Z" --end-time "2024-03-15T23:59:59Z" --max-items 1000 > activitylog.json
Get-AzActivityLog -StartTime 2021-12-01T10:30 -EndTime 2022-01-14T11:30 | Export-csv operations_logs.csv

Aşağıdaki örnek PowerShell betiği etkinlik günlüğünü bir saatlik aralıklarla CSV dosyalarına aktarır ve her biri ayrı bir dosyaya kaydedilir.

# Parameters
$subscriptionId = "Subscription ID here"  # Replace with your subscription ID
$startTime = [datetime]"2025-05-08T00:00:00" # Adjust as needed
$endTime = [datetime]"2025-05-08T12:00:00"  # Adjust as needed
$outputFolder = "\Logs"    # Change path as needed
 
# Ensure output folder exists
if (-not (Test-Path $outputFolder)) {
    New-Item -Path $outputFolder -ItemType Directory
}
 
# Set subscription context
Set-AzContext -SubscriptionId $subscriptionId
 
# Loop through 1-hour intervals
$currentStart = $startTime
while ($currentStart -lt $endTime) {
    $currentEnd = $currentStart.AddHours(1)
    $timestamp = $currentStart.ToString("yyyyMMdd-HHmm")
    $csvFile = Join-Path $outputFolder "ActivityLog_$timestamp.csv"
 
    Write-Host "Fetching logs from $currentStart to $currentEnd..."
    Get-AzActivityLog -StartTime $currentStart -EndTime $currentEnd |
        Export-Csv -Path $csvFile -NoTypeInformation
 
    $currentStart = $currentEnd
}
 
Write-Host "Export completed. Files saved to $outputFolder."

Etkinlik günlüğü olaylarını almak için diğer yöntemler

Etkinlik günlüğü olaylarına aşağıdaki yöntemleri kullanarak da erişebilirsiniz:

Eski toplama yöntemleri

Uyarı

Etkinlik günlüklerini Log Analytics'e iletmek için Azure Etkinlik Günlüğü çözümü kullanıldı. Bu çözüm 15 Eylül 2026'da kullanımdan kaldırılıyor ve otomatik olarak Tanılama ayarlarına dönüştürülecek.

Eski toplama yöntemini kullanarak etkinlik günlüklerini topluyorsanız etkinlik günlüklerini Log Analytics çalışma alanınıza aktarmanızı ve Veri Kaynakları - Silme API'sini kullanarak eski koleksiyonu devre dışı bırakmanızı öneririz:

  1. Veri Kaynakları - Çalışma Alanına Göre Listele API'sini kullanarak çalışma alanına bağlı tüm veri kaynaklarını listeleyin ve ayarlayarak kind eq 'AzureActivityLog'etkinlik günlüklerini filtreleyin.

    Veri Kaynakları - Çalışma Alanına Göre Liste API'sinin yapılandırmasını gösteren ekran görüntüsü.

  2. API yanıtından devre dışı bırakmak istediğiniz bağlantının adını kopyalayın.

    Veri Kaynakları - Çalışma Alanına Göre Liste API'sinin çıkışından kopyalamanız gereken bağlantı bilgilerini gösteren ekran görüntüsü.

  3. Belirli bir kaynak için etkinlik günlüklerini toplamayı durdurmak için Veri Kaynakları - Silme API'sini kullanın.

    Veri Kaynakları - Silme API'sinin yapılandırmasının ekran görüntüsü.

Eski Günlük Profillerini Yönetme (kaldırılıyor)

Uyarı

  • Günlük Profilleri, etkinlik günlüklerini depolama hesaplarına ve Event Hubs'a iletmek için kullanılır. Bu yöntem 15 Eylül 2026'da kullanımdan kaldırılıyor.
  • Bu yöntemi kullanıyorsanız, 15 Eylül 2025 tarihinden önce yeni Günlük Profili oluşturma izni sonlandırılmadan Tanılama Ayarları'na geçin.

Günlük profilleri, etkinlik günlüğünü depolamaya veya olay hub'larına göndermek için kullanılan eski yöntemdir. Bu yöntemi kullanıyorsanız, kaynak günlükleriyle daha iyi işlevsellik ve tutarlılık sağlayan Tanılama Ayarları'na geçin.

Bir günlük profili zaten varsa, önce mevcut günlük profilini kaldırmanız ve ardından yeni bir tane oluşturmanız gerekir.

  1. Get-AzLogProfile bir günlük profili olup olmadığını belirlemek için kullanın. Günlük profili varsa Name özelliğini not edin.

  2. Remove-AzLogProfile değerini kullanarak Name özelliğinden günlük profilini kaldırın.

    # For example, if the log profile name is 'default'
    Remove-AzLogProfile -Name "default"
    
  3. Yeni bir günlük profili oluşturmak için kullanın Add-AzLogProfile :

    Add-AzLogProfile -Name my_log_profile -StorageAccountId /subscriptions/s1/resourceGroups/myrg1/providers/Microsoft.Storage/storageAccounts/my_storage -serviceBusRuleId /subscriptions/s1/resourceGroups/Default-ServiceBus-EastUS/providers/Microsoft.ServiceBus/namespaces/mytestSB/authorizationrules/RootManageSharedAccessKey -Location global,westus,eastus -RetentionInDays 90 -Category Write,Delete,Action
    
    Mülkiyet Gerekli Açıklama
    İsim Evet Günlük profilinizin adı.
    DepolamaHesapKimliği Hayı Etkinlik günlüğünün kaydedilmesi gereken depolama hesabının kaynak kimliği.
    servisOtobüsKuralId Hayı Olay hub'larının oluşturulmasını istediğiniz Service Bus ad alanının Service Bus Kural Kimliği. Bu dize biçimindedir {service bus resource ID}/authorizationrules/{key name}.
    Yer Evet Etkinlik günlüğü olaylarını toplamak istediğiniz bölgelerin virgülle ayrılmış listesi.
    RetentionInDays Evet 1 ile 365 arasında depolama hesabında olayların saklanması gereken gün sayısı. Sıfır değeri günlükleri süresiz olarak depolar.
    Kategori Hayı Toplanacak olay kategorilerinin virgülle ayrılmış listesi. Olası değerler Yazma, Silme ve Eylem'tir.

Örnek betik

Bu örnek PowerShell betiği, etkinlik günlüğünü hem depolama hesabına hem de olay hub'ına yazan bir günlük profili oluşturur.

# Settings needed for the new log profile
$logProfileName = "default"
$locations = (Get-AzLocation).Location
$locations += "global"
$subscriptionId = "<your Azure subscription Id>"
$resourceGroupName = "<resource group name your Event Hub belongs to>"
$eventHubNamespace = "<Event Hub namespace>"
$storageAccountName = "<Storage Account name>"

# Build the service bus rule Id from the settings above
$serviceBusRuleId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.EventHub/namespaces/$eventHubNamespace/authorizationrules/RootManageSharedAccessKey"

# Build the Storage Account Id from the settings above
$storageAccountId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Storage/storageAccounts/$storageAccountName"

Add-AzLogProfile -Name $logProfileName -Location $locations -StorageAccountId $storageAccountId -ServiceBusRuleId $serviceBusRuleId

Veri yapısı değişiklikleri

Dışarı aktarma etkinlik günlükleri deneyimi, tablonun yapısında AzureActivity bazı değişiklikler içeren etkinlik günlüğünü göndermek için kullanılan eski yöntemle aynı verileri gönderir.

Aşağıdaki tablodaki sütunlar güncelleştirilmiş şemada kullanım dışı bırakılmıştır. Bunlar hala içinde AzureActivitybulunur, ancak veriye sahip değildir. Bu sütunların yerine geçenler yeni değildir, ancak kullanım dışı bırakılmış sütunla aynı verileri içerir. Bunlar farklı bir biçimde olduğundan, bunları kullanan günlük sorgularını değiştirmeniz gerekebilir.

Etkinlik günlüğü JSON Eski Log Analytics sütun adı
(kullanım dışı)
Yeni Log Analytics sütun adı Notlar
kategori Kategori Kategori Değeri
statü

Değerler : success, start, accept, failure
Aktivite Durumu

JSON ile aynı değerler
Aktivite Durum Değeri

succeeded, started, accepted, failed değerler olarak değişir
Geçerli değerler gösterildiği gibi değişir.
subStatus Faaliyet Alt Durumu EtkinlikAltdurumDeğeri
İşlem Adı Operasyon İsmi İşlemAdıDeğeri REST API, işlem adı değerini yerelleştirir. Log Analytics kullanıcı arabirimi her zaman İngilizce gösterir.
kaynak sağlayıcı adı Kaynak Sağlayıcı Kaynak Sağlayıcı Değeri

Önemli

Bazı durumlarda, bu sütunlardaki değerlerin tümü büyük harf olabilir. Bu sütunları içeren bir sorgunuz varsa, büyük/küçük harfe duyarlı olmayan bir karşılaştırma yapmak için =~ işlecini kullanın.

Güncelleştirilmiş şemaya AzureActivity aşağıdaki sütunlar eklenmiştir:

  • Authorization_d
  • Claims_d
  • Properties_d

Sonraki Adımlar

Şu konularda daha fazla bilgi edinin: