Mengirim data log sumber daya Azure

Log sumber daya Azure adalah log platform yang memberikan wawasan tentang operasi yang dilakukan dalam sumber daya Azure. Konten log sumber daya bervariasi menurut jenis sumber daya dan layanan Azure. Log sumber daya tidak dikumpulkan secara default. Artikel ini menjelaskan pengaturan diagnostik yang diperlukan untuk setiap sumber daya Azure untuk mengirim log sumber dayanya ke berbagai tujuan.

Mengirim ke ruang kerja Log Analytics

Kirim log sumber daya ke ruang kerja Analisis Log untuk mengaktifkan fitur Azure Monitor Logs, tempat Anda dapat:

  • Menyambungkan data log sumber daya dengan data pemantauan lain yang dikumpulkan oleh Azure Monitor.
  • Menggabungkan entri log dari beberapa sumber daya, langganan, dan penyewa Azure ke dalam satu lokasi untuk analisis bersama.
  • Menggunakan kueri log untuk melakukan analisis kompleks dan dapatkan wawasan mendalam tentang data log.
  • Gunakan pemberitahuan pencarian log dengan logika pemberitahuan yang kompleks.

Buat pengaturan diagnostik untuk mengirim log sumber daya ke ruang kerja Analitik Log. Data ini disimpan dalam tabel seperti yang dijelaskan di Struktur Log Azure Monitor. Tabel yang digunakan oleh log sumber daya bergantung pada jenis pengumpulan yang digunakan sumber daya:

  • Diagnostik Azure: Semua data ditulis ke tabel AzureDiagnostics.
  • Resource-specific: Data ditulis ke tabel individual untuk setiap kategori sumber daya.

Khusus sumber daya

Dalam mode ini, tabel individu dalam ruang kerja yang dipilih dibuat untuk setiap kategori yang dipilih dalam pengaturan diagnostik. Kami merekomendasikan metode ini karena:

  • Mempermudah bekerja dengan data dalam kueri log.
  • Memberikan penemuan skema dan strukturnya yang lebih baik.
  • Meningkatkan performa di seluruh latensi penyerapan dan waktu kueri.
  • Menyediakan kemampuan untuk memberikan hak kontrol akses berbasis peran Azure pada tabel tertentu.

Semua layanan Azure pada akhirnya akan bermigrasi ke mode khusus sumber daya.

Contoh di bawah ini membuat tiga tabel:

  • Tabel Service1AuditLogs

    Penyedia sumber daya Kategori A B C
    Layanan 1 AuditLogs x1 y1 z1
    Layanan 1 AuditLogs x5 y5 z5
    ...
  • Tabel Service1ErrorLogs

    Penyedia sumber daya Kategori D E F
    Layanan 1 ErrorLogs q1 w1 e1
    Layanan 1 ErrorLogs q2 w2 e2
    ...
  • Tabel Service2AuditLogs

    Penyedia sumber daya Kategori G H I
    Layanan 2 AuditLogs j1 k1 l1
    Layanan 2 AuditLogs j3 k3 l3
    ...

Mode diagnostik Azure

Dalam mode ini, semua data dari pengaturan diagnostik apa pun dikumpulkan dalam tabel AzureDiagnostics. Metode warisan ini digunakan saat ini oleh sebagian besar layanan Azure. Karena beberapa jenis sumber daya mengirim data ke tabel yang sama, skemanya adalah superset dari skema semua jenis data berbeda yang dikumpulkan. Untuk detail tentang struktur tabel ini dan cara kerjanya dengan jumlah kolom yang berpotensi besar ini, lihat referensi AzureDiagnostics.

Pertimbangkan contoh berikut kePertimbangkan contoh di mana pengaturan diagnostik dikumpulkan di ruang kerja yang sama untuk jenis data berikut:

  • Log audit layanan 1 memiliki skema yang terdiri dari kolom A, B, dan C
  • Log kesalahan layanan 1 memiliki skema yang terdiri dari D, E, dan F
  • Log audit layanan 2 memiliki skema yang terdiri dari kolom G, H, dan I

Tabel AzureDiagnostics terlihat seperti contoh ini:

ResourceProvider Kategori A B C D E F G H I
Microsoft.Service1 AuditLogs x1 y1 z1
Microsoft.Service1 ErrorLogs q1 w1 e1
Microsoft.Service2 AuditLogs j1 k1 l1
Microsoft.Service1 ErrorLogs q2 w2 e2
Microsoft.Service2 AuditLogs j3 k3 l3
Microsoft.Service1 AuditLogs x5 y5 z5
...

Pilih mode pengumpulan

Sebagian besar sumber daya Azure menulis data ke ruang kerja dalam mode diagnostik Azure atau khusus sumber daya tanpa memberi Anda pilihan. Untuk mengetahui informasi selengkapnya, lihat Skema umum dan khusus layanan untuk log sumber daya Azure.

Semua layanan Azure pada akhirnya akan menggunakan mode khusus sumber daya. Sebagai bagian dari transisi ini, beberapa sumber memungkinkan Anda memilih mode dalam pengaturan diagnostik. Tentukan mode khusus sumber daya untuk pengaturan diagnostik baru karena mode ini membuat data lebih mudah dikelola. Ini juga dapat membantu Anda menghindari migrasi yang kompleks nanti.

Screenshot that shows the Diagnostics settings mode selector.

Catatan

Untuk contoh yang mengatur mode pengumpulan dengan menggunakan templat Azure Resource Manager, lihat Contoh templat Resource Manager untuk pengaturan diagnostik di Azure Monitor.

Anda dapat mengubah pengaturan diagnostik yang ada ke mode khusus sumber daya. Dalam hal ini, data yang telah dikumpulkan tetap berada di tabel AzureDiagnostics hingga dihapus sesuai dengan setelan retensi Anda untuk ruang kerja. Data baru dikumpulkan dalam tabel khusus. Gunakan operator union untuk mengkueri data di kedua tabel.

Lanjutkan menonton blog Pembaruan Azure untuk pengumuman tentang layanan Azure yang mendukung mode khusus sumber daya.

Mengirim ke Azure Event Hubs

Kirim log sumber daya ke hub peristiwa untuk mengirimnya ke luar Azure. Misalnya, log sumber daya mungkin dikirim ke SIEM pihak ketiga atau solusi analitik log lainnya. Log sumber daya dari hub peristiwa digunakan dalam format JSON dengan elemen records yang berisi catatan di setiap payload. Skema bergantung pada jenis sumber daya seperti yang dijelaskan dalam Skema umum dan khusus layanan untuk Log sumber daya Azure.

Data keluaran sampel berikut ini berasal dari Azure Event Hubs untuk log sumber daya:

{
    "records": [
        {
            "time": "2019-07-15T18:00:22.6235064Z",
            "workflowId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA",
            "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA/RUNS/08587330013509921957/ACTIONS/SEND_EMAIL",
            "category": "WorkflowRuntime",
            "level": "Error",
            "operationName": "Microsoft.Logic/workflows/workflowActionCompleted",
            "properties": {
                "$schema": "2016-04-01-preview",
                "startTime": "2016-07-15T17:58:55.048482Z",
                "endTime": "2016-07-15T18:00:22.4109204Z",
                "status": "Failed",
                "code": "BadGateway",
                "resource": {
                    "subscriptionId": "00000000-0000-0000-0000-000000000000",
                    "resourceGroupName": "JohnKemTest",
                    "workflowId": "243aac67fe904cf195d4a28297803785",
                    "workflowName": "JohnKemTestLA",
                    "runId": "08587330013509921957",
                    "location": "westus",
                    "actionName": "Send_email"
                },
                "correlation": {
                    "actionTrackingId": "29a9862f-969b-4c70-90c4-dfbdc814e413",
                    "clientTrackingId": "08587330013509921958"
                }
            }
        },
        {
            "time": "2019-07-15T18:01:15.7532989Z",
            "workflowId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA",
            "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA/RUNS/08587330012106702630/ACTIONS/SEND_EMAIL",
            "category": "WorkflowRuntime",
            "level": "Information",
            "operationName": "Microsoft.Logic/workflows/workflowActionStarted",
            "properties": {
                "$schema": "2016-04-01-preview",
                "startTime": "2016-07-15T18:01:15.5828115Z",
                "status": "Running",
                "resource": {
                    "subscriptionId": "00000000-0000-0000-0000-000000000000",
                    "resourceGroupName": "JohnKemTest",
                    "workflowId": "243aac67fe904cf195d4a28297803785",
                    "workflowName": "JohnKemTestLA",
                    "runId": "08587330012106702630",
                    "location": "westus",
                    "actionName": "Send_email"
                },
                "correlation": {
                    "actionTrackingId": "042fb72c-7bd4-439e-89eb-3cf4409d429e",
                    "clientTrackingId": "08587330012106702632"
                }
            }
        }
    ]
}

Mengirim ke Azure Storage

Kirim log sumber daya ke Azure Storage untuk menyimpannya untuk pengarsipan. Setelah Anda membuat pengaturan diagnostik, kontainer penyimpanan dibuat di akun penyimpanan segera setelah peristiwa terjadi di salah satu kategori log yang diaktifkan.

Catatan

Strategi alternatif untuk pengarsipan adalah mengirim log sumber daya ke ruang kerja Analitik Log dengan kebijakan arsip.

Blob dalam kontainer menggunakan konvensi penamaan berikut:

insights-logs-{log category name}/resourceId=/SUBSCRIPTIONS/{subscription ID}/RESOURCEGROUPS/{resource group name}/PROVIDERS/{resource provider name}/{resource type}/{resource name}/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

Blob untuk kelompok keamanan jaringan mungkin memiliki nama yang mirip dengan contoh ini:

insights-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUP/TESTNSG/y=2016/m=08/d=22/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 dibuat. Nilai menit dalam URL, m=00 selalu 00 saat blob dibuat per jam.

Dalam file PT1H.json, setiap peristiwa disimpan dengan format berikut. Ini menggunakan skema tingkat atas yang umum tetapi unik untuk setiap layanan Azure, seperti yang dijelaskan dalam Skema log sumber daya.

Catatan

Log ditulis ke blob berdasarkan waktu log diterima, terlepas dari waktu pembuatannya. Ini berarti bahwa blob tertentu dapat berisi data log yang berada di luar jam yang ditentukan dalam URL blob. Di mana sumber data seperti Application insights, mendukung pengunggahan telemetri kedaluarsa, blob dapat berisi data dari 48 jam sebelumnya.
Pada awal jam baru, ada kemungkinan bahwa log yang ada masih ditulis ke blob jam sebelumnya sementara log baru ditulis ke blob jam baru.

{"time": "2016-07-01T00:00:37.2040000Z","systemId": "46cdbb41-cb9c-4f3d-a5b4-1d458d827ff1","category": "NetworkSecurityGroupRuleCounter","resourceId": "/SUBSCRIPTIONS/s1id1234-5679-0123-4567-890123456789/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/TESTNSG","operationName": "NetworkSecurityGroupCounters","properties": {"vnetResourceGuid": "{12345678-9012-3456-7890-123456789012}","subnetPrefix": "10.3.0.0/24","macAddress": "000123456789","ruleName": "/subscriptions/ s1id1234-5679-0123-4567-890123456789/resourceGroups/testresourcegroup/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/default-allow-rdp","direction": "In","type": "allow","matchedConnections": 1988}}

Integrasi mitra Azure Monitor

Log sumber daya juga dapat dikirim ke solusi mitra yang terintegrasi penuh ke dalam Azure. Untuk daftar solusi ini dan detail tentang cara mengonfigurasinya, lihat integrasi mitra Azure Monitor.

Langkah berikutnya