Bagikan melalui


Tutorial: Menyerap peristiwa dari Azure Event Hubs ke log Azure Monitor (Pratinjau Umum)

Azure Event Hubs adalah platform streaming big data yang mengumpulkan peristiwa dari beberapa sumber untuk diserap oleh Azure dan layanan eksternal. Artikel ini menjelaskan cara menyerap data langsung dari pusat aktivitas ke ruang kerja Analitik Log.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Membuat tabel tujuan untuk data pusat aktivitas di ruang kerja Analitik Log Anda
  • Membuat titik akhir pengumpulan data
  • Membuat aturan pengumpulan data
  • Memberikan izin aturan pengumpulan data ke pusat aktivitas
  • Mengaitkan aturan pengumpulan data dengan pusat aktivitas

Prasyarat

Untuk mengirim peristiwa dari Azure Event Hubs ke Azure Monitor Logs, Anda memerlukan sumber daya ini:

Wilayah yang didukung

Azure Monitor saat ini mendukung penyerapan dari Azure Event Hubs di wilayah ini:

Amerika Eropa Timur Tengah Afrika Asia Pasifik
Brasil Selatan Prancis Tengah Arab Saudi Utara Afrika Selatan Utara Australia Tengah
Brasil Tenggara Eropa Utara Australia Timur
Kanada Tengah Norwegia Timur Australia Tenggara
Kanada Timur Swiss Utara India Tengah
US Timur Swiss Barat Asia Timur
US Timur 2 UK Selatan Jepang Timur
US Tengah Selatan UK Barat Jio India Barat
US Barat Eropa Barat Korea Tengah
AS Barat 3 Asia Tenggara

Anda perlu membuat Asosiasi Aturan Pengumpulan Data (DCRA) di wilayah yang sama dengan Pusat Aktivitas. Ruang kerja Analitik Log dapat berada di wilayah mana pun, tetapi Aturan Pengumpulan Data (DCR) dan Titik Akhir Pengumpulan Data (DCE) harus berada di wilayah yang sama dengan ruang kerja Analitik Log.

Untuk latensi minimum, sebaiknya tempatkan semua sumber daya di wilayah yang sama.

Mengumpulkan informasi yang diperlukan

Anda memerlukan ID langganan, nama grup sumber daya, nama ruang kerja, ID sumber daya ruang kerja, dan ID sumber daya instans pusat aktivitas di langkah-langkah berikutnya:

  1. Navigasi ke ruang kerja Anda di menu ruang kerja Analitik Log dan pilih Properti dan salin ID Langganan, Grup sumber daya, dan Nama ruang kerja Anda. Anda akan memerlukan detail ini untuk membuat sumber daya dalam tutorial ini.

    Cuplikan layar memperlihatkan layar gambaran umum ruang kerja Analitik Log dengan ID langganan, nama grup sumber daya, dan nama ruang kerja disorot.

  2. Pilih JSON untuk membuka layar JSON Sumber Daya dan salin ID Sumber Daya ruang kerja. Anda memerlukan ID sumber daya ruang kerja untuk membuat aturan pengumpulan data.

    Cuplikan layar memperlihatkan layar JSON Sumber Daya dengan ID sumber daya ruang kerja disorot.

  3. Navigasikan ke instans pusat aktivitas Anda, pilih JSON untuk membuka layar Resource JSON, dan salin ID Sumber Daya instans pusat aktivitas. Anda memerlukan ID sumber daya instans pusat aktivitas untuk mengaitkan aturan pengumpulan data dengan hub peristiwa.

    Cuplikan layar memperlihatkan layar Resource JSON dengan ID sumber daya pusat aktivitas disorot.

Membuat tabel tujuan di ruang kerja Analitik Log Anda

Sebelum dapat menyerap data, Anda perlu menyiapkan tabel tujuan. Anda dapat menyerap data ke dalam tabel kustom dan tabel Azure yang didukung.

Untuk membuat tabel kustom untuk menyerap peristiwa, di portal Azure:

  1. Pilih tombol Cloud Shell dan pastikan lingkungan diatur ke PowerShell.

    Cuplikan layar memperlihatkan cara membuka Cloud Shell.

  2. Jalankan perintah PowerShell ini untuk membuat tabel, menyediakan nama tabel (<table_name>) di JSON (itu juga dengan akhiran _CL dalam kasus tabel kustom), dan mengatur <subscription_id>nilai , , <resource_group_name><workspace_name>, dan <table_name> dalam Invoke-AzRestMethod -Path perintah:

    $tableParams = @'
    {
        "properties": {
            "schema": {
                "name": "<table_name>",
                "columns": [
                    {
                        "name": "TimeGenerated",
                        "type": "datetime",
                        "description": "The time at which the data was ingested."
                    },
                    {
                        "name": "RawData",
                        "type": "string",
                        "description": "Body of the event."
                    },
                    {
                        "name": "Properties",
                        "type": "dynamic",
                        "description": "Additional message properties."
                    }
                ]
            }
        }
    }
    '@
    
    Invoke-AzRestMethod -Path "/subscriptions/<subscription_id>/resourcegroups/<resource_group_name>/providers/microsoft.operationalinsights/workspaces/<workspace_name>/tables/<table_name>?api-version=2021-12-01-preview" -Method PUT -payload $tableParams
    

Penting

  • Nama kolom harus dimulai dengan huruf dan dapat terdiri dari hingga 45 karakter alfanumerik dan garis bawah (_).
  • _ResourceId, , id, _SubscriptionId_ResourceId, TenantId, Type, UniqueId, dan Title adalah nama kolom yang dicadangkan.
  • Nama kolom peka huruf besar/kecil. Pastikan untuk menggunakan kasus yang benar dalam aturan pengumpulan data Anda.

Membuat titik akhir pengumpulan data

Untuk mengumpulkan data dengan aturan pengumpulan data, Anda memerlukan titik akhir pengumpulan data:

  1. Membuat titik akhir kumpulan data.

    Penting

    Buat titik akhir pengumpulan data di wilayah yang sama dengan ruang kerja Analitik Log Anda.

  2. Dari layar Gambaran Umum titik akhir pengumpulan data, pilih Tampilan JSON.

    Cuplikan layar yang memperlihatkan layar Gambaran Umum titik akhir pengumpulan data.

  3. Salin ID Sumber Daya untuk aturan pengumpulan data. Anda akan menggunakan informasi ini di langkah berikutnya.

    Cuplikan layar yang memperlihatkan tampilan JSON titik akhir pengumpulan data.

Membuat aturan pengumpulan data

Azure Monitor menggunakan aturan pengumpulan data untuk menentukan data mana yang akan dikumpulkan, cara mengubah data tersebut, dan tempat mengirim data.

Untuk membuat aturan pengumpulan data di portal Azure:

  1. Di kotak pencarian portal, ketik templat lalu pilih Sebarkan templat kustom.

    Cuplikan layar untuk menyebarkan templat kustom.

  2. Pilih Buat template Anda sendiri di editor.

    Cuplikan layar untuk membangun templat di penyunting.

  3. Tempelkan templat Resource Manager di bawah ini ke editor lalu pilih Simpan.

    Cuplikan layar untuk mengedit templat Resource Manager.

    Perhatikan detail berikut dalam aturan pengumpulan data di bawah ini:

    • identity - Menentukan jenis identitas terkelola mana yang akan digunakan. Dalam contoh kami, kami menggunakan identitas yang ditetapkan sistem. Anda juga dapat mengonfigurasi identitas terkelola yang ditetapkan pengguna.

    • dataCollectionEndpointId - ID sumber daya titik akhir pengumpulan data.

    • streamDeclarations - Menentukan data mana yang akan diserap dari pusat aktivitas (data masuk). Deklarasi aliran tidak dapat dimodifikasi.

      • TimeGenerated - Waktu di mana data diserap dari pusat aktivitas ke Log Azure Monitor.
      • RawData - Isi acara. Untuk informasi selengkapnya, lihat Membaca peristiwa.
      • Properties - Properti pengguna dari peristiwa. Untuk informasi selengkapnya, lihat Membaca peristiwa.
    • datasources - Menentukan grup konsumen pusat aktivitas dan aliran tempat Anda menyerap data.

    • destinations - Menentukan semua tujuan tempat data akan dikirim. Anda dapat menyerap data ke satu atau beberapa ruang kerja Analitik Log.

    • dataFlows - Mencocokkan aliran dengan ruang kerja tujuan dan menentukan kueri transformasi dan tabel tujuan. Dalam contoh kami, kami menyerap data ke tabel kustom yang kami buat sebelumnya. Anda juga dapat menyerap ke dalam tabel Azure yang didukung.

    • transformKql - Menentukan transformasi untuk diterapkan ke data masuk (deklarasi aliran) sebelum dikirim ke ruang kerja. Dalam contoh kami, kami mengatur transformKql ke source, yang tidak mengubah data dari sumber dengan cara apa pun, karena kami memetakan data masuk ke tabel kustom yang telah kami buat secara khusus dengan skema yang sesuai. Jika Anda menyerap data ke tabel dengan skema yang berbeda atau untuk memfilter data sebelum penyerapan, tentukan transformasi pengumpulan data.

    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "dataCollectionRuleName": {
                "type": "string",
                "metadata": {
                    "description": "Specifies the name of the data collection Rule to create."
                }
            },
            "workspaceResourceId": {
                "type": "string",
                "metadata": {
                    "description": "Specifies the Azure resource ID of the Log Analytics workspace to use."
                }
            },
            "endpointResourceId": {
                "type": "string",
                "metadata": {
                    "description": "Specifies the Azure resource ID of the data collection endpoint to use."
                }
            },
            "tableName": {
                "type": "string",
                "metadata": {
                    "description": "Specifies the name of the table in the workspace."
                }
            },
            "consumerGroup": {
                "type": "string",
                "metadata": {
                    "description": "Specifies the consumer group of event hub."
                },
                "defaultValue": "$Default"
            }
        },
        "resources": [
            {
                "type": "Microsoft.Insights/dataCollectionRules",
                "name": "[parameters('dataCollectionRuleName')]",
                "location": "[resourceGroup().location]", 
                "apiVersion": "2022-06-01",
                "identity": {
                                 "type": "systemAssigned"
                  },
                "properties": {
                    "dataCollectionEndpointId": "[parameters('endpointResourceId')]",
                    "streamDeclarations": {
                        "Custom-MyEventHubStream": {
                            "columns": [
                    {
                        "name": "TimeGenerated",
                        "type": "datetime"
                    },
                    {
                        "name": "RawData",
                        "type": "string"
                    },
                    {
                        "name": "Properties",
                        "type": "dynamic"
                    }
                ]
                        }
                    },
                    "dataSources": {
                        "dataImports": {
                             "eventHub": {
                                        "consumerGroup": "[parameters('consumerGroup')]",
                                        "stream": "Custom-MyEventHubStream",
                                        "name": "myEventHubDataSource1"
                                                              }
                                               }
                   },
                    "destinations": {
                        "logAnalytics": [
                            {
                                "workspaceResourceId": "[parameters('workspaceResourceId')]",
                                "name": "MyDestination"
                            }
                        ]
                    },
                    "dataFlows": [
                        {
                            "streams": [
                                "Custom-MyEventHubStream"
                            ],
                            "destinations": [
                                "MyDestination"
                            ],
                            "transformKql": "source",
                            "outputStream": "[concat('Custom-', parameters('tableName'))]"
                        }
                    ]
                }
            }
        ]
    }
    
  4. Pada layar Penyebaran kustom, tentukan grup Langganan dan Sumber Daya untuk menyimpan aturan pengumpulan data lalu berikan nilai untuk parameter yang ditentukan dalam templat, termasuk:

    • Wilayah - Wilayah untuk aturan pengumpulan data. Diisi secara otomatis berdasarkan grup sumber daya yang Anda pilih.
    • Nama Aturan Pengumpulan Data - Beri nama aturan.
    • ID Sumber Daya Ruang Kerja - Lihat Mengumpulkan informasi yang diperlukan.
    • ID Sumber Daya Titik Akhir - Dihasilkan saat Anda membuat titik akhir pengumpulan data.
    • Nama Tabel - Nama tabel tujuan. Dalam contoh kami, dan setiap kali Anda menggunakan tabel kustom, nama tabel harus diakhiri dengan akhiran _CL. Jika Anda menyerap data ke tabel Azure, masukkan nama tabel - misalnya, Syslog - tanpa akhiran.
    • Grup Konsumen - Secara default, grup konsumen diatur ke $Default. Jika diperlukan, ubah nilai ke grup konsumen pusat aktivitas yang berbeda.

    Cuplikan layar memperlihatkan layar Penyebaran Templat Kustom dengan nilai penyebaran untuk aturan pengumpulan data yang disiapkan dalam tutorial ini.

  5. Pilih Tinjau + buat lalu Buat saat Anda meninjau detailnya.

  6. Saat penyebaran selesai, perluas kotak Detail penyebaran, dan pilih aturan pengumpulan data Anda untuk melihat detailnya. Pilih Tampilan JSON.

    Cuplikan layar yang memperlihatkan layar Gambaran Umum Aturan Pengumpulan Data.

  7. Salin ID Sumber Daya untuk aturan pengumpulan data. Anda akan menggunakan informasi ini di langkah berikutnya.

    Cuplikan layar yang memperlihatkan tampilan JSON aturan pengumpulan data.

Mengonfigurasi identitas terkelola yang ditetapkan pengguna (opsional)

Untuk mengonfigurasi aturan pengumpulan data Anda untuk mendukung identitas yang ditetapkan pengguna, dalam contoh di atas, ganti:

    "identity": {
                        "type": "systemAssigned"
        },

dengan:

    "identity": {
            "type": "userAssigned",
            "userAssignedIdentities": {
                "<identity_resource_Id>": {
                }
            }
        },

Untuk menemukan nilainya<identity_resource_Id>, navigasikan ke sumber daya identitas terkelola yang ditetapkan pengguna Anda di portal Azure, pilih JSON untuk membuka layar JSON Sumber Daya dan salin ID Sumber Daya identitas terkelola.

Cuplikan layar memperlihatkan layar Resource JSON dengan ID sumber daya identitas terkelola disorot.

Menyerap data log ke dalam tabel Azure (opsional)

Untuk menyerap data ke dalam tabel Azure yang didukung:

  1. Dalam aturan pengumpulan data, ubah outputStream:

    Dari: "outputStream": "[concat('Custom-', parameters('tableName'))]"

    Kepada: "outputStream": "outputStream": "[concat(Microsoft-', parameters('tableName'))]"

  2. Di transformKql, tentukan transformasi yang mengirim data yang diserap ke dalam kolom target di tabel Azure tujuan.

Memberikan izin pusat aktivitas ke aturan pengumpulan data

Dengan identitas terkelola, Anda dapat memberikan pusat aktivitas, atau namespace Layanan Pusat Aktivitas, izin untuk mengirim peristiwa ke aturan pengumpulan data dan titik akhir pengumpulan data yang Anda buat. Saat Anda memberikan izin ke namespace Layanan Pusat Aktivitas, semua hub peristiwa dalam namespace mewarisi izin.

  1. Dari pusat aktivitas atau namespace Layanan Pusat Aktivitas di portal Azure, pilih Kontrol Akses (IAM)>Tambahkan penetapan peran.

    Cuplikan layar yang memperlihatkan layar Kontrol akses untuk aturan pengumpulan data.

  2. Pilih Penerima Data Azure Event Hubs dan pilih Berikutnya.

    Cuplikan layar yang memperlihatkan layar Tambahkan Penetapan Peran untuk pusat aktivitas dengan peran Penerima Data Azure Event Hubs disorot.

  3. Pilih Identitas terkelola untuk Menetapkan akses ke dan klik Pilih anggota. Pilih Aturan pengumpulan data, cari aturan pengumpulan data Anda berdasarkan nama, dan klik Pilih.

    Cuplikan layar yang memperlihatkan cara menetapkan akses ke identitas terkelola.

  4. Pilih Tinjau + tetapkan dan verifikasi detail sebelum menyimpan penetapan peran Anda.

    Cuplikan layar yang memperlihatkan tab Tinjau dan Tetapkan di layar Tambahkan Penetapan Peran.

Mengaitkan aturan pengumpulan data dengan pusat aktivitas

Langkah terakhir adalah mengaitkan aturan pengumpulan data ke pusat aktivitas tempat Anda ingin mengumpulkan peristiwa.

Anda dapat mengaitkan aturan pengumpulan data tunggal dengan beberapa hub peristiwa yang berbagi grup konsumen yang sama dan menyerap data ke aliran yang sama. Atau, Anda dapat mengaitkan aturan pengumpulan data unik ke setiap hub peristiwa.

Penting

Anda harus mengaitkan setidaknya satu aturan pengumpulan data ke pusat aktivitas untuk menyerap data dari pusat aktivitas. Saat Menghapus semua asosiasi aturan pengumpulan data yang terkait dengan pusat aktivitas, Anda akan berhenti menyerap data dari pusat aktivitas.

Untuk membuat asosiasi aturan pengumpulan data di portal Azure:

  1. Di kotak pencarian portal Azure, ketik templat lalu pilih Sebarkan templat kustom.

  2. Pilih Buat template Anda sendiri di editor.

  3. Tempelkan templat Resource Manager di bawah ini ke editor lalu pilih Simpan.

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "eventHubResourceID": {
          "type": "string",
          "metadata": {
            "description": "Specifies the Azure resource ID of the event hub to use."
          }
        },
        "associationName": {
          "type": "string",
          "metadata": {
            "description": "The name of the association."
          }
        },
        "dataCollectionRuleID": {
          "type": "string",
          "metadata": {
            "description": "The resource ID of the data collection rule."
          }
        }
      },
      "resources": [
        {
          "type": "Microsoft.Insights/dataCollectionRuleAssociations",
          "apiVersion": "2021-09-01-preview",
          "scope": "[parameters('eventHubResourceId')]",
          "name": "[parameters('associationName')]",
          "properties": {
            "description": "Association of data collection rule. Deleting this association will break the data collection for this event hub.",
            "dataCollectionRuleId": "[parameters('dataCollectionRuleId')]"
          }
        }
      ]
    }
    
  4. Pada layar Penyebaran kustom, tentukan Grup langganan dan Sumber Daya untuk menyimpan asosiasi aturan pengumpulan data lalu berikan nilai untuk parameter yang ditentukan dalam templat, termasuk:

    • Wilayah - Diisi secara otomatis berdasarkan grup sumber daya yang Anda pilih.
    • ID Sumber Daya Instans Pusat Aktivitas - Lihat Mengumpulkan informasi yang diperlukan.
    • Nama Asosiasi - Beri nama asosiasi.
    • ID Aturan Pengumpulan Data - Dihasilkan saat Anda membuat aturan pengumpulan data.

    Cuplikan layar memperlihatkan layar Penyebaran Templat Kustom dengan nilai penyebaran untuk asosiasi aturan pengumpulan data yang disiapkan dalam tutorial ini.

  5. Pilih Tinjau + buat lalu Buat saat Anda meninjau detailnya.

Periksa tabel tujuan Anda untuk peristiwa yang diserap

Log Azure Monitor menyerap semua peristiwa yang ada di Pusat Aktivitas pada saat pembuatan DCRA, asalkan periode retensinya belum kedaluwarsa, dan semua peristiwa baru.

Untuk memeriksa tabel tujuan Anda untuk peristiwa yang diserap:

  1. Navigasi ke ruang kerja Anda dan pilih Log.

  2. Tulis kueri sederhana di editor kueri dan pilih Jalankan:

    <table_name>
    

    Anda akan melihat peristiwa dari pusat aktivitas Anda.

Cuplikan layar memperlihatkan hasil kueri sederhana pada tabel kustom. Hasilnya terdiri dari peristiwa yang diserap dari pusat aktivitas.

Membersihkan sumber daya

Dalam tutorial ini, Anda membuat sumber daya berikut:

  • Tabel kustom
  • Titik akhir pengumpulan data
  • Aturan pengumpulan data
  • Asosiasi aturan pengumpulan data

Evaluasi apakah Anda masih memerlukan sumber daya ini. Hapus sumber daya yang tidak Anda perlukan satu per satu, atau hapus semua sumber daya ini sekaligus dengan menghapus grup sumber daya. Sumber daya yang Anda biarkan berjalan dapat dikenakan biaya.

Untuk berhenti menyerap data dari pusat aktivitas, hapus semua asosiasi aturan pengumpulan data yang terkait dengan hub peristiwa, atau hapus aturan pengumpulan data itu sendiri. Tindakan ini juga mengatur ulang titik pemeriksaan hub peristiwa.

Masalah dan batasan yang diketahui

Langkah berikutnya

Pelajari selengkapnya tentang untuk: