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:
Ruang kerja Analitik Log tempat Anda memiliki setidaknya hak kontributor.
Ruang kerja Analitik Log Anda perlu ditautkan ke kluster khusus atau untuk memiliki tingkat komitmen.
Namespace layanan Azure Event Hubs yang mengizinkan akses jaringan publik. Jika akses jaringan publik dinonaktifkan, pastikan bahwa "Izinkan layanan Microsoft tepercaya untuk melewati firewall ini" diatur ke "Ya."
Pusat aktivitas dengan peristiwa. Anda dapat mengirim peristiwa ke hub peristiwa Anda dengan mengikuti langkah-langkah dalam Mengirim dan menerima peristiwa di tutorial Azure Event Hubs atau dengan mengonfigurasi pengaturan diagnostik sumber daya Azure.
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:
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.
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.
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.
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:
Pilih tombol Cloud Shell dan pastikan lingkungan diatur ke PowerShell.
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>
dalamInvoke-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
, danTitle
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:
Membuat titik akhir kumpulan data.
Penting
Buat titik akhir pengumpulan data di wilayah yang sama dengan ruang kerja Analitik Log Anda.
Dari layar Gambaran Umum titik akhir pengumpulan data, pilih Tampilan JSON.
Salin ID Sumber Daya untuk aturan pengumpulan data. Anda akan menggunakan informasi ini di langkah berikutnya.
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:
Di kotak pencarian portal, ketik templat lalu pilih Sebarkan templat kustom.
Pilih Buat template Anda sendiri di editor.
Tempelkan templat Resource Manager di bawah ini ke editor lalu pilih Simpan.
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 mengaturtransformKql
kesource
, 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'))]" } ] } } ] }
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.
Pilih Tinjau + buat lalu Buat saat Anda meninjau detailnya.
Saat penyebaran selesai, perluas kotak Detail penyebaran, dan pilih aturan pengumpulan data Anda untuk melihat detailnya. Pilih Tampilan JSON.
Salin ID Sumber Daya untuk aturan pengumpulan data. Anda akan menggunakan informasi ini di langkah berikutnya.
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.
Menyerap data log ke dalam tabel Azure (opsional)
Untuk menyerap data ke dalam tabel Azure yang didukung:
Dalam aturan pengumpulan data, ubah
outputStream
:Dari:
"outputStream": "[concat('Custom-', parameters('tableName'))]"
Kepada:
"outputStream": "outputStream": "[concat(Microsoft-', parameters('tableName'))]"
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.
Dari pusat aktivitas atau namespace Layanan Pusat Aktivitas di portal Azure, pilih Kontrol Akses (IAM)>Tambahkan penetapan peran.
Pilih Penerima Data Azure Event Hubs dan pilih Berikutnya.
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.
Pilih Tinjau + tetapkan dan verifikasi detail sebelum menyimpan penetapan peran Anda.
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:
Di kotak pencarian portal Azure, ketik templat lalu pilih Sebarkan templat kustom.
Pilih Buat template Anda sendiri di editor.
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')]" } } ] }
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.
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:
Navigasi ke ruang kerja Anda dan pilih Log.
Tulis kueri sederhana di editor kueri dan pilih Jalankan:
<table_name>
Anda akan melihat peristiwa dari pusat aktivitas Anda.
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
- Jika Anda mentransfer langganan antara direktori Microsoft Entra, Anda perlu mengikuti langkah-langkah yang dijelaskan dalam Masalah yang diketahui dengan identitas terkelola untuk sumber daya Azure untuk terus menyerap data.
- Anda dapat menyerap pesan hingga 64 KB dari Azure Event Hubs ke Log Azure Monitor.
Langkah berikutnya
Pelajari selengkapnya tentang untuk:
- Buat tabel kustom.
- Membuat titik akhir kumpulan data.
- Perbarui aturan pengumpulan data yang sudah ada.