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.
Jalankan perintah berikut ini di jendela kueri database Anda untuk membuat tabel:
.create table logs (timestamp: datetime, message: string)
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.
Edit file teks baru yang akan berisi pengaturan alur yang diperlukan (menggunakan vi):
vi test.conf
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.
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.
Setelah beberapa menit, jalankan kueri Data Explorer berikut untuk melihat pesan dalam tabel yang Anda tentukan:
logs | order by timestamp desc
Pilih Ctrl+C untuk keluar dari Logstash
Membersihkan sumber daya
Jalankan perintah berikut dalam database Anda untuk membersihkan logs
tabel:
.drop table logs