Mengirim data log aktivitas Azure Monitor

Log aktivitas Azure Monitor adalah log platform yang memberikan wawasan tentang peristiwa tingkat langganan. Log aktivitas mencakup informasi seperti saat sumber daya dimodifikasi atau mesin virtual dimulai. Anda dapat melihat log aktivitas di portal Azure atau mengambil entri dengan PowerShell dan Azure CLI. Artikel ini menyediakan informasi tentang cara melihat log aktivitas dan mengirimkannya ke tujuan yang berbeda.

Untuk fungsionalitas lebih lanjut, buat pengaturan diagnostik untuk mengirim log aktivitas ke satu atau beberapa lokasi ini karena alasan berikut:

Untuk detail tentang cara membuat pengaturan diagnostik, lihat Membuat pengaturan diagnostik untuk mengirim log dan metrik platform ke berbagai tujuan.

Catatan

  • Entri dalam Log Aktivitas dihasilkan sistem dan tidak dapat diubah atau dihapus.
  • Entri dalam Log Aktivitas mewakili perubahan sarana kontrol seperti menghidupkan ulang komputer virtual, entri yang tidak terkait harus ditulis ke dalam Log Sumber Daya Azure
  • Entri dalam Log Aktivitas biasanya merupakan hasil dari perubahan (operasi buat, perbarui, atau hapus) atau tindakan yang telah dimulai. Operasi yang berfokus pada membaca detail sumber daya biasanya tidak ditangkap.

Mengirim ke ruang kerja Log Analytics

Kirim log aktivitas ke ruang kerja Log Analytics untuk mengaktifkan fitur Azure Monitor Logs, tempat Anda:

  • Mengorelasikan data log aktivitas dengan data pemantauan lain yang dikumpulkan oleh Azure Monitor.
  • Menggabungkan entri log dari beberapa langganan Azure dan penyewa ke dalam satu lokasi untuk analisis bersama.
  • Menggunakan kueri log untuk melakukan analisis kompleks dan dapatkan wawasan mendalam tentang entri log aktivitas.
  • Gunakan pemberitahuan pencarian log dengan entri Aktivitas untuk logika pemberitahuan yang lebih kompleks.
  • Simpan entri log aktivitas lebih lama dari periode retensi log aktivitas.
  • Tidak dikenakan biaya penyerapan atau retensi data untuk data log aktivitas yang disimpan di ruang kerja Log Analytics.
  • Periode retensi default dalam Log Analytics adalah 90 hari

Pilih Ekspor Log Aktivitas untuk mengirim log aktivitas ke ruang kerja Log Analytics.

Screenshot that shows exporting activity logs.

Anda dapat mengirim log aktivitas dari satu langganan ke hingga lima ruang kerja.

Data log aktivitas di ruang kerja Analitik Log disimpan dalam tabel yang disebut AzureActivity bahwa Anda dapat mengambil dengan kueri log di Analitik Log. Struktur tabel ini bervariasi tergantung pada kategori entri log. Untuk deskripsi properti tabel, lihat referensi data Azure Monitor.

Misalnya, untuk menampilkan hitungan rekaman log aktivitas untuk setiap kategori, gunakan kueri berikut:

AzureActivity
| summarize count() by CategoryValue

Untuk mengambil semua rekaman dalam kategori administratif, gunakan kueri berikut ini:

AzureActivity
| where CategoryValue == "Administrative"

Penting

Dalam beberapa skenario, ada kemungkinan bahwa nilai di bidang AzureActivity mungkin memiliki casing yang berbeda dari nilai yang setara. Berhati-hatilah saat mengkueri data di AzureActivity untuk menggunakan operator yang tidak peka huruf besar/kecil untuk perbandingan string, atau gunakan fungsi skalar untuk memaksa bidang ke casing seragam sebelum perbandingan apa pun. Misalnya, gunakan fungsi tolower() pada bidang untuk memaksanya selalu huruf kecil atau operator =~ saat melakukan perbandingan string.

Mengirim ke Azure Event Hubs

Mengirim log aktivitas ke Azure Event Hubs untuk mengirim entri ke luar Azure, misalnya ke SIEM pihak ketiga atau solusi analitik log lainnya. Peristiwa log aktivitas dari hub peristiwa dikonsumsi dalam format JSON dengan elemen records yang berisi catatan di setiap payload. Skema tergantung pada kategori dan dijelaskan dalam skema peristiwa log aktivitas Azure.

Contoh data output berikut berasal dari hub peristiwa untuk log aktivitas:

{
    "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": "c776f9f4-36e5-4e0e-809b-c9b3c3fb62a8",
            "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": "00000000-0000-0000-0000-000000000000",
                    "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": "c44b4083-3bq0-49c1-b47d-974e53cbdf3c",
                    "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"
            }
        }
    ]
}

Mengirim ke Azure Storage

Mengirim log aktivitas ke akun Azure Storage jika Anda ingin menyimpan data log Anda lebih dari 90 hari untuk audit, analisis statis, atau pencadangan. Jika Anda diharuskan menyimpan acara selama 90 hari atau kurang, Anda tidak perlu menyiapkan pengarsipan ke akun penyimpanan. Peristiwa log aktivitas dipertahankan di platform Azure selama 90 hari.

Saat Anda mengirim log aktivitas ke Azure, kontainer penyimpanan dibuat di akun penyimpanan segera saat peristiwa terjadi. Blob dalam kontainer menggunakan konvensi penamaan berikut:

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

Misalnya, blob tertentu mungkin memiliki nama yang mirip dengan:

insights-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/y=2020/m=06/d=08/h=18/m=00/PT1H.json

Setiap blob PT1H.json berisi objek JSON dengan peristiwa dari file log yang diterima selama jam yang ditentukan dalam URL blob. Selama jam ini, peristiwa ditambahkan ke file PT1H.json seperti yang diterima, terlepas dari kapan peristiwa tersebut dihasilkan. Nilai menit dalam URL, m=00 selalu 00 saat blob dibuat per jam.

Setiap peristiwa disimpan dalam file PT1H.json dengan format sebagai berikut. Format ini menggunakan skema tingkat atas yang umum tetapi sebaliknya unik untuk setiap kategori, seperti yang dijelaskan dalam Skema log aktivitas.

{ "time": "2020-06-12T13:07:46.766Z", "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT.COMPUTE/VIRTUALMACHINES/MV-VM-01", "correlationId": "0f0cb6b4-804b-4129-b893-70aeeb63997e", "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"}}}

Metode lain untuk mengambil kejadian log aktivitas

Anda juga dapat mengakses kejadian log aktivitas dengan menggunakan metode berikut:

Metode pengumpulan warisan

Catatan

  • Solusi log Aktivitas Azure digunakan untuk meneruskan Log Aktivitas ke Azure Log Analytics. Solusi ini dihentikan pada tanggal 15 Sept 2026 dan akan secara otomatis dikonversi ke pengaturan Diagnostik.

Jika Anda mengumpulkan log aktivitas menggunakan metode pengumpulan lama, sebaiknya Anda mengekspor log aktivitas ke ruang kerja Analitik Log Anda dan menonaktifkan pengumpulan lama menggunakan API Hapus - Sumber Data seperti berikut:

  1. Cantumkan semua sumber data yang terhubung ke ruang kerja menggunakan API Daftar Menurut Ruang Kerja - Sumber Data dan filter untuk log aktivitas dengan mengatur kind eq 'AzureActivityLog'.

    Screenshot showing the configuration of the Data Sources - List By Workspace API.

  2. Salin nama koneksi yang ingin Anda nonaktifkan dari respons API.

    Screenshot showing the connection information you need to copy from the output of the Data Sources - List By Workspace API.

  3. Gunakan API Hapus - Sumber Data untuk berhenti mengumpulkan log aktivitas pada sumber daya tertentu.

    Screenshot of the configuration of the Data Sources - Delete API.

Mengelola profil log warisan

Profil log adalah metode lama untuk mengirim log aktivitas ke penyimpanan atau hub peristiwa. Jika Anda menggunakan metode ini, pertimbangkan untuk melakukan transisi ke pengaturan diagnostik yang memberikan fungsionalitas dan konsistensi yang lebih baik dengan log sumber daya.

Jika profil log sudah ada, Anda harus menghapus profil log yang ada terlebih dahulu, lalu membuat profil log baru.

  1. Gunakan Get-AzLogProfile untuk mengidentifikasi apakah ada profil log. Jika profil log ada, perhatikan properti Name.

  2. Gunakan Remove-AzLogProfile untuk menghapus profil log dengan menggunakan nilai dari properti Name.

    # For example, if the log profile name is 'default'
    Remove-AzLogProfile -Name "default"
    
  3. Gunakan Add-AzLogProfile untuk membuat profil log baru:

    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
    
    Properti Diperlukan Deskripsi
    Nama Ya Nama profil log Anda.
    StorageAccountId No ID sumber daya akun penyimpanan tempat log aktivitas harus disimpan.
    serviceBusRuleId No ID Aturan Bus Layanan untuk namespace Bus Layanan tempat Anda ingin membuat hub peristiwa. String ini memiliki format {service bus resource ID}/authorizationrules/{key name}.
    Lokasi Ya Daftar wilayah yang dipisahkan koma tempat Anda ingin mengumpulkan peristiwa log aktivitas.
    RetensiInDays Ya Jumlah hari di mana peristiwa harus disimpan di akun penyimpanan, dari 1 hingga 365. Nilai nol menyimpan log tanpa batas waktu.
    Kategori No Daftar kategori peristiwa yang dipisahkan koma untuk dikumpulkan. Nilai yang mungkin adalah Tulis, Hapus, dan Lakukan.

Contoh skrip

Sampel skrip PowerShell ini membuat profil log yang menulis log aktivitas baik ke akun penyimpanan maupun hub peristiwa.

# 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>"

# 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

Perubahan struktur data

Pengalaman log aktivitas Ekspor, mengirim data yang sama dengan metode lama yang digunakan untuk mengirim log aktivitas dengan beberapa perubahan pada struktur tabel AzureActivity.

Kolom dalam tabel berikut ini sudah tidak digunakan lagi dalam skema yang diperbarui. Kolom itu masih ada di AzureActivity, tetapi tidak memiliki data. Penggantian untuk kolom ini bukanlah hal baru, tetapi berisi data yang sama dengan kolom yang tidak digunakan lagi. Penggantian untuk kolom ini berada dalam format yang berbeda, jadi Anda mungkin perlu memodifikasi kueri log yang menggunakannya.

JSON log aktivitas Nama kolom Analitik Log
(lama tidak digunakan lagi)
Nama kolom Analitik Log Baru Catatan
category Kategori KategoriNilai
status

Nilai berupa success, start, accept, failure
ActivityStatus

Nilai yang sama dengan JSON
AktivitasStatusNilai

Nilai berubah menjadi succeeded, started, accepted, failed
Nilai yang valid berubah seperti yang ditunjukkan.
subStatus AktivitasSubstatus AktivitasSubstatusNilai
operationName OperationName OperationNamaNilai REST API melokalisasi nilai nama operasi. UI Analitik Log selalu menampilkan bahasa Inggris.
resourceProviderName ResourceProvider NilaPenyediaSumberdaya

Penting

Dalam beberapa kasus, nilai dalam kolom ini mungkin ditulis dalam huruf besar semua. Jika Anda memiliki kueri yang menyertakan kolom ini, gunakan operator =~ untuk melakukan perbandingan tidak peka huruf besar/kecil.

Kolom berikut telah ditambahkan ke AzureActivity dalam skema yang diperbarui:

  • Otorisasi_d
  • Klaim_d
  • Properti_d

Langkah berikutnya

Pelajari lebih lanjut tentang: