Tutorial: Menyerap dan mengkueri data pemantauan di Azure Data Explorer

Tutorial ini menunjukkan kepada Anda cara menyerap data dari log diagnostik dan aktivitas ke kluster Azure Data Explorer tanpa menulis kode. Dengan menggunakan metode penyerapan sederhana ini, Anda dapat dengan cepat mulai mengkueri Azure Data Explorer untuk analisis data.

Dalam tutorial ini, Anda akan belajar cara:

  • Membuat tabel dan pemetaan penyerapan dalam database Azure Data Explorer.
  • Format data yang diserap dengan menggunakan kebijakan pembaruan.
  • Buat pusat aktivitas dan sambungkan ke Azure Data Explorer.
  • Streaming data ke hub acara dari metrik diagnostik dan log Azure Monitor serta log aktivitas.
  • Kueri data yang diserap dengan menggunakan Azure Data Explorer.

Catatan

Buat semua sumber daya di lokasi atau wilayah Azure yang sama.

Prasyarat

Penyedia data Azure Monitor: metrik diagnostik, log diagnostik, dan log aktivitas

Lihat dan pahami data yang disediakan oleh metrik dan log diagnostik Azure Monitor dan log aktivitas di bagian berikut. Anda membuat alur penyerapan berdasarkan skema data ini. Setiap peristiwa dalam log memiliki array rekaman. Anda akan membagi array catatan ini nanti di tutorial.

Contoh metrik diagnostik serta log dan log aktivitas

Layanan Azure menghasilkan metrik dan log diagnostik Azure serta log aktivitas. Log ini menyediakan data tentang pengoperasian layanan tersebut.

Contoh metrik diagnostik

Metrik diagnostik mengagregasi data dengan interval waktu satu menit. Contoh berikut menunjukkan skema peristiwa metrik Azure Data Explorer pada durasi kueri:

{
    "records": [
    {
        "count": 14,
        "total": 0,
        "minimum": 0,
        "maximum": 0,
        "average": 0,
        "resourceId": "/SUBSCRIPTIONS/<subscriptionID>/RESOURCEGROUPS/<resource-group>/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/<cluster-name>",
        "time": "2018-12-20T17:00:00.0000000Z",
        "metricName": "QueryDuration",
        "timeGrain": "PT1M"
    },
    {
        "count": 12,
        "total": 0,
        "minimum": 0,
        "maximum": 0,
        "average": 0,
        "resourceId": "/SUBSCRIPTIONS/<subscriptionID>/RESOURCEGROUPS/<resource-group>/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/<cluster-name>",
        "time": "2018-12-21T17:00:00.0000000Z",
        "metricName": "QueryDuration",
        "timeGrain": "PT1M"
    }
    ]
}

Menyiapkan alur penyerapan di Azure Data Explorer

Menyiapkan alur Azure Data Explorer melibatkan beberapa langkah, seperti pembuatan tabel dan penyerapan data. Anda juga dapat memanipulasi, memetakan, dan memperbarui data.

Menyambungkan ke antarmuka pengguna web Azure Data Explorer

Di database Azure Data Explorer TestDatabase Anda, pilih Kueri untuk membuka antarmuka pengguna web Azure Data Explorer.

Halaman kueri.

Menciptakan tabel sasaran

Struktur log Azure Monitor tidak berbentuk tabel. Anda perlu memanipulasi data dan memperluas setiap peristiwa ke satu atau beberapa rekaman. Menyerap data mentah ke tabel perantara bernama ActivityLogsRawRecords untuk log aktivitas dan DiagnosticRawRecords untuk metrik dan log diagnostik. Pada saat itu, Anda memanipulasi dan memperluas data. Dengan menggunakan kebijakan pembaruan, serap data yang diperluas ke dalam tabel ActivityLogs untuk log aktivitas, DiagnosticMetrics untuk metrik diagnostik, dan DiagnosticLogs untuk log diagnostik. Proses ini berarti Anda perlu membuat dua tabel terpisah untuk menyerap log aktivitas dan tiga tabel terpisah untuk menyerap metrik dan log diagnostik.

Gunakan UI web Azure Data Explorer untuk membuat tabel target di database Azure Data Explorer.

Membuat tabel untuk metrik diagnostik

  1. Di database TestDatabase, buat tabel bernama DiagnosticMetrics untuk menyimpan rekaman metrik diagnostik. Gunakan perintah manajemen berikut .create table :

    .create table DiagnosticMetrics (Timestamp:datetime, ResourceId:string, MetricName:string, Count:int, Total:double, Minimum:double, Maximum:double, Average:double, TimeGrain:string)
    
  2. Pilih Jalankan untuk membuat tabel.

    Jalankan kueri.

  3. Buat tabel data perantara bernama DiagnosticRawRecords di database TestDatabase untuk manipulasi data dengan menggunakan kueri berikut. Pilih Jalankan untuk membuat tabel.

    .create table DiagnosticRawRecords (Records:dynamic)
    
  4. Tetapkan kebijakan retensi nol untuk tabel perantara:

    .alter-merge table DiagnosticRawRecords policy retention softdelete = 0d
    

Membuat pemetaan tabel

Karena format data adalah json, Anda perlu membuat pemetaan data. Pemetaan json menghubungkan setiap jalur JSON ke nama kolom tabel. Jika jalur JSON memiliki karakter khusus, loloskan karakter tersebut dengan ['Nama Properti']. Untuk informasi selengkapnya, lihat sintaks JSONPath.

Memetakan metrik dan log diagnostik ke tabel

Gunakan kueri berikut untuk memetakan metrik diagnostik dan data log ke tabel:

.create table DiagnosticRawRecords ingestion json mapping 'DiagnosticRawRecordsMapping' '[{"column":"Records","Properties":{"path":"$.records"}}]'

Membuat kebijakan pembaruan untuk metrik dan data log

Membuat kebijakan pembaruan data untuk metrik diagnostik

  1. Buat fungsi yang memperluas kumpulan rekaman metrik diagnostik sehingga setiap nilai dalam koleksi mendapatkan baris terpisah. mv-expand Gunakan operator:

    .create function DiagnosticMetricsExpand() {
       DiagnosticRawRecords
       | mv-expand events = Records
       | where isnotempty(events.metricName)
       | project
           Timestamp = todatetime(events['time']),
           ResourceId = tostring(events.resourceId),
           MetricName = tostring(events.metricName),
           Count = toint(events['count']),
           Total = todouble(events.total),
           Minimum = todouble(events.minimum),
           Maximum = todouble(events.maximum),
           Average = todouble(events.average),
           TimeGrain = tostring(events.timeGrain)
    }
    
  2. Tambahkan kebijakan pembaruan ke tabel target. Kebijakan ini secara otomatis menjalankan kueri pada data yang baru diserap dalam tabel data menengah DiagnosticRawRecords dan menyerap hasilnya ke dalam tabel DiagnosticMetrics :

    .alter table DiagnosticMetrics policy update @'[{"Source": "DiagnosticRawRecords", "Query": "DiagnosticMetricsExpand()", "IsEnabled": "True", "IsTransactional": true}]'
    

Membuat namespace Azure Event Hubs

Pengaturan diagnostik Azure memungkinkan ekspor metrik dan log ke akun penyimpanan atau ke hub peristiwa. Dalam tutorial ini, Anda merutekan metrik dan log melalui event hub. Anda membuat namespace layanan pusat aktivitas dan pusat aktivitas untuk metrik dan log diagnostik dalam langkah-langkah berikut. Azure Monitor membuat Event Hub insights-operational-logs untuk log aktivitas.

  1. Buat hub peristiwa dengan menggunakan templat Azure Resource Manager di portal Azure. Untuk mengikuti langkah-langkah lainnya dalam artikel ini, klik kanan tombol Sebarkan ke Azure , lalu pilih Buka di jendela baru. Tombol Sebarkan ke Azure akan membawa Anda ke portal Microsoft Azure.

    Tombol Sebarkan ke Azure.

  2. Buat namespace layanan Azure Event Hubs dan pusat aktivitas untuk log diagnostik. Pelajari cara membuat namespace layanan Azure Event Hubs.

  3. Isi formulir dengan informasi berikut. Untuk pengaturan apa pun yang tidak tercantum dalam tabel berikut, gunakan nilai default.

    Pengaturan Nilai yang disarankan Deskripsi
    Langganan Langganan Anda Pilih langganan Azure yang ingin Anda gunakan untuk hub peristiwa Anda.
    Grup sumber daya test-resource-group Membuat grup sumber daya baru.
    Location Pilih wilayah yang paling sesuai dengan kebutuhan Anda. Buat namespace layanan pusat aktivitas di lokasi yang sama dengan sumber daya lain.
    Nama namespace AzureMonitoringData Pilih nama unik yang mengidentifikasi namespace layanan Anda.
    Nama hub peristiwa DiagnosticData Hub acara berada di bawah namespace, yang menyediakan kontainer cakupan unik.
    Nama grup konsumen adxpipeline Buat nama grup konsumen. Grup konsumen memungkinkan beberapa aplikasi yang menggunakan untuk masing-masing memiliki tampilan terpisah dari eventstream.

Menyambungkan metrik dan log Azure Monitor ke pusat aktivitas Anda

Sekarang Anda perlu menyambungkan metrik dan log diagnostik serta log aktivitas Anda ke pusat aktivitas.

Menyambungkan metrik dan log diagnostik ke Event Hub Anda

Pilih sumber daya untuk mengekspor metrik. Beberapa jenis sumber daya mendukung ekspor data diagnostik, termasuk namespace layanan pusat aktivitas, Azure Key Vault, Azure IoT Hub, dan kluster Azure Data Explorer. Dalam tutorial ini, gunakan kluster Azure Data Explorer sebagai sumber daya Anda. Anda dapat meninjau metrik performa untuk permintaan dan log hasil pemasukan data.

  1. Pilih kluster Kusto Anda di portal Azure.

  2. Pilih Pengaturan diagnostik, lalu pilih tautan Aktifkan diagnostik .

    Pengaturan diagnostik.

  3. Panel Pengaturan diagnostik akan terbuka. Lakukan langkah-langkah berikut:

    1. Beri data log diagnostik Anda nama ADXExportedData.

    2. Di bawah LOG, pilih kotak centang IngestiBerhasil dan IngestiGagal.

    3. Di bawah METRIK, pilih kotak centang Performa Kueri.

    4. Centang kotak Streaming ke pusat acara.

    5. Pilih Konfigurasikan.

      Panel pengaturan diagnostik.

  4. Di panel Pilih hub kejadian, konfigurasikan cara mengekspor data dari log diagnostik ke hub kejadian yang Anda buat.

    1. Di daftar Pilih namespace pusat peristiwa, pilih AzureMonitoringData.
    2. Di daftar Pilih nama hub peristiwa, pilih DiagnosticData.
    3. Di daftar Pilih nama kebijakan hub acara, pilih RootManagerSharedAccessKey.
    4. Pilih OK.
  5. Pilih Simpan.

Lihat data yang mengalir ke pusat aktivitas Anda

  1. Tunggu beberapa menit hingga koneksi ditentukan, dan ekspor log aktivitas ke hub peristiwa selesai. Buka namespace event hubs Anda untuk melihat event hubs yang Anda buat.

    Event hub dibuat.

  2. Lihat data yang mengalir ke pusat aktivitas Anda:

    Data pusat aktivitas.

Menyambungkan pusat aktivitas ke Azure Data Explorer

Sekarang Anda perlu membuat koneksi data untuk metrik dan log diagnostik dan log aktivitas Anda.

Membuat koneksi data untuk metrik diagnostik dan log serta log aktivitas

  1. Di kluster Azure Data Explorer bernama kustodocs, pilih Database di menu sebelah kiri.

  2. Di jendela Database, pilih database TestDatabase Anda.

  3. Di menu sebelah kiri, pilih Penyerapan data.

  4. Di jendela Pengambilan Data, pilih + Tambahkan Koneksi Data.

  5. Di jendela Koneksi data, masukkan informasi berikut ini:

    Koneksi data pusat aktivitas.

  1. Gunakan pengaturan berikut di jendela Data Koneksi:

    Sumber data:

    Pengaturan Nilai yang disarankan Deskripsi bidang
    Nama koneksi data DiagnosticsLogsConnection Nama koneksi yang ingin Anda buat di Azure Data Explorer.
    Namespace pusat aktivitas AzureMonitoringData Nama yang Anda pilih sebelumnya yang mengidentifikasi namespace Anda.
    Pusat Acara DiagnosticData Pusat aktivitas yang Anda buat.
    Grup konsumen adxpipeline Grup konsumen yang ditentukan di pusat aktivitas yang Anda buat.

    Tabel sasaran

    Ada dua opsi untuk perutean: statis dan dinamis. Untuk tutorial ini, Anda menggunakan perutean statis (default), tempat Anda menentukan nama tabel, format data, dan pemetaan. Biarkan Data saya menyertakan info perutean tidak dipilih.

    Pengaturan Nilai yang disarankan Deskripsi bidang
    Table DiagnosticRawRecords Tabel yang Anda buat di database TestDatabase.
    Format data JSON Format yang digunakan dalam tabel.
    Pemetaan kolom DiagnosticRawRecordsMapping Pemetaan yang Anda buat di database TestDatabase, yang memetakan data JSON masuk ke nama kolom dan tipe data dari tabel DiagnosticRawRecords.
  2. Pilih Buat.

Mengkueri tabel baru

Anda sekarang memiliki alur dengan data yang mengalir. Penyerapan melalui kluster membutuhkan waktu lima menit secara default, jadi tunggu beberapa menit sebelum Anda mulai mengkueri.

Melakukan query pada tabel metrik diagnostik

Kueri berikut menganalisis data durasi kueri dari rekaman metrik diagnostik di Azure Data Explorer:

DiagnosticMetrics
| where Timestamp > ago(15m) and MetricName == 'QueryDuration'
| summarize avg(Average)

Hasil kueri:

avg_Average
00:06.156