Bagikan melalui


Menyerap data dari Logstash ke Azure Data Explorer

Penting

Konektor ini dapat digunakan dalam Real-Time Intelligence di Microsoft Fabric. Gunakan instruksi dalam artikel ini dengan pengecualian berikut:

  • Jika diperlukan, buat database menggunakan instruksi di Membuat database KQL.
  • Jika diperlukan, buat tabel menggunakan instruksi di Membuat tabel kosong.
  • Dapatkan URI kueri atau penyerapan menggunakan instruksi di Salin URI.
  • Jalankan kueri dalam set kueri KQL.

Logstash adalah alur pemrosesan data sumber terbuka pada sisi server yang menyerap data dari banyak sumber secara bersamaan, mengubah data, lalu mengirimkan data ke "stash" favorit Anda. Dalam artikel ini, Anda akan mengirim data tersebut ke Azure Data Explorer, yang merupakan layanan eksplorasi data yang cepat dan sangat dapat diskalakan untuk data log dan telemetri. Anda awalnya akan membuat tabel dan pemetaan data dalam kluster pengujian, lalu mengarahkan Logstash untuk mengirim data ke dalam tabel dan memvalidasi hasilnya.

Catatan

Konektor ini saat ini hanya mendukung format data json.

Prasyarat

  • Akun Microsoft atau identitas pengguna Microsoft Entra. Langganan Azure tidak diperlukan.
  • Kluster dan database Azure Data Explorer. Membuat kluster dan database.
  • Instruksi Penginstalan Logstash versi 6+.

Buat tabel

Setelah Anda memiliki kluster dan database, saatnya untuk membuat tabel.

  1. Jalankan perintah berikut ini di jendela kueri database Anda untuk membuat tabel:

    .create table logs (timestamp: datetime, message: string)
    
  2. Jalankan perintah berikut untuk mengonfirmasi bahwa tabel logs baru telah dibuat dan kosong:

    logs
    | count
    

Membuat pemetaan

Pemetaan digunakan oleh Azure Data Explorer untuk mengubah data masuk menjadi skema tabel target. Perintah berikut membuat pemetaan baru bernama basicmsg yang mengekstrak properti dari json masuk seperti yang dicatat oleh path dan mengeluarkannya ke column.

Jalankan perintah berikut ini di jendela kueri:

.create table logs ingestion json mapping 'basicmsg' '[{"column":"timestamp","path":"$.@timestamp"},{"column":"message","path":"$.message"}]'

Menginstal plugin output Logstash

Plugin output Logstash berkomunikasi dengan Azure Data Explorer dan mengirim data ke layanan. Untuk informasi selengkapnya, lihat Plugin logstash.

Dalam shell perintah, navigasikan ke direktori akar Logstash, lalu jalankan perintah berikut untuk menginstal plugin:

bin/logstash-plugin install logstash-output-kusto

Mengonfigurasi Logstash untuk menghasilkan himpunan data sampel

Logstash dapat menghasilkan sampel peristiwa yang dapat digunakan untuk menguji alur end-to-end. Jika Anda sudah menggunakan Logstash dan memiliki akses ke aliran acara Anda sendiri, lewati ke bagian berikutnya.

Catatan

Jika Anda menggunakan data Anda sendiri, ubah tabel dan objek pemetaan yang ditentukan dalam langkah-langkah sebelumnya.

  1. Edit file teks baru yang akan berisi pengaturan alur yang diperlukan (menggunakan vi):

    vi test.conf
    
  2. Tempelkan pengaturan berikut yang akan memberi tahu Logstash untuk menghasilkan 1000 peristiwa pengujian:

    input {
        stdin { }
        generator {
            message => "Test Message 123"
            count => 1000
        }
    }
    

Konfigurasi ini juga mencakup stdin plugin input yang akan memungkinkan Anda menulis lebih banyak pesan sendiri (pastikan untuk menggunakan Enter untuk mengirimkannya ke dalam alur).

Mengonfigurasi Logstash untuk mengirim data ke Azure Data Explorer

Tempelkan pengaturan berikut ke dalam file konfigurasi yang sama yang digunakan di langkah sebelumnya. Ganti semua tempat penampung dengan nilai yang relevan untuk penyiapan Anda. Untuk informasi selengkapnya, lihat Membuat Aplikasi Microsoft Entra.

output {
    kusto {
            path => "/tmp/kusto/%{+YYYY-MM-dd-HH-mm-ss}.txt"
            ingest_url => "https://ingest-<cluster name>.kusto.windows.net/"
            app_id => "<application id>"
            app_key => "<application key/secret>"
            app_tenant => "<tenant id>"
            database => "<database name>"
            table => "<target table>" # logs as defined above
            json_mapping => "<mapping name>" # basicmsg as defined above
    }
}
Nama Parameter Deskripsi
jalan Plugin Logstash menulis peristiwa ke file sementara sebelum mengirimkannya ke Azure Data Explorer. Parameter ini mencakup jalur di mana file harus ditulis dan ekspresi waktu untuk rotasi file untuk memicu unggahan ke layanan Azure Data Explorer.
ingest_url Titik akhir Kusto untuk komunikasi terkait penyerapan.
app_id, app_key, dan app_tenant Kredensial diperlukan untuk menyambungkan ke Azure Data Explorer. Pastikan untuk menggunakan aplikasi dengan hak istimewa penyerapan.
database Nama database untuk menempatkan peristiwa.
tabel Menargetkan nama tabel untuk menempatkan peristiwa.
json_mapping Pemetaan digunakan untuk memetakan string json peristiwa masuk ke dalam format baris yang benar (menentukan properti mana yang masuk ke kolom mana).

Jalankan Logstash

Kami sekarang siap untuk menjalankan Logstash dan menguji pengaturan kami.

  1. Di shell perintah, navigasikan ke direktori akar Logstash, lalu jalankan perintah berikut:

    bin/logstash -f test.conf
    

    Anda akan melihat informasi yang dicetak ke layar, lalu 1000 pesan yang dihasilkan oleh konfigurasi sampel kami. Pada titik ini, Anda juga dapat memasukkan lebih banyak pesan secara manual.

  2. Setelah beberapa menit, jalankan kueri Data Explorer berikut untuk melihat pesan dalam tabel yang Anda tentukan:

    logs
    | order by timestamp desc
    
  3. Pilih Ctrl+C untuk keluar dari Logstash

Membersihkan sumber daya

Jalankan perintah berikut dalam database Anda untuk membersihkan logs tabel:

.drop table logs