Bagikan melalui


Menyerap data dari aliran Cribl ke Azure Data Explorer

Cribl Stream adalah mesin pemrosesan yang mengumpulkan, memproses, dan mengalirkan data peristiwa mesin dengan aman dari sumber apa pun. Ini memungkinkan Anda untuk mengurai dan memproses data tersebut untuk tujuan apa pun untuk analisis dan manajemen dengan cara yang aman.

Artikel ini memperlihatkan cara menyerap data dengan Cribl Stream.

Untuk daftar lengkap konektor data, lihat Gambaran umum integrasi data.

Prasyarat

  • Akun Cribl Stream
  • Kluster dan database Azure Data Explorer dengan kebijakan cache dan retensi default.
  • Lingkungan kueri. Untuk informasi selengkapnya, lihat Gambaran umum integrasi kueri.
  • URI kluster Kusto Anda untuk nilai TargetURI dalam kluster> formathttps://ingest-<.<region.kusto.windows.net>. Untuk informasi selengkapnya, lihat Menambahkan koneksi kluster.

Membuat perwakilan layanan Microsoft Entra

Perwakilan layanan Microsoft Entra dapat dibuat melalui portal Azure atau secara terprogram, seperti dalam contoh berikut.

Perwakilan layanan ini adalah identitas yang digunakan oleh konektor untuk menulis data ke tabel Anda di Kusto. Anda memberikan izin bagi perwakilan layanan ini untuk mengakses sumber daya Kusto.

  1. Masuk ke langganan Azure Anda melalui Azure CLI. Kemudian autentikasi di browser.

    az login
    
  2. Pilih langganan untuk menghosting perwakilan. Langkah ini diperlukan saat Anda memiliki beberapa langganan.

    az account set --subscription YOUR_SUBSCRIPTION_GUID
    
  3. Buat perwakilan layanan. Dalam contoh ini, perwakilan layanan disebut my-service-principal.

    az ad sp create-for-rbac -n "my-service-principal" --role Contributor --scopes /subscriptions/{SubID}
    
  4. Dari data JSON yang dikembalikan, salin appId, password, dan tenant untuk penggunaan di masa mendatang.

    {
      "appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "displayName": "my-service-principal",
      "name": "my-service-principal",
      "password": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "tenant": "00001111-aaaa-2222-bbbb-3333cccc4444"
    }
    

Anda telah membuat aplikasi Microsoft Entra dan perwakilan layanan Anda.

Membuat tabel target

Buat tabel target untuk data masuk dan pemetaan penyerapan untuk memetakan kolom data yang diserap ke kolom dalam tabel target.

  1. Jalankan perintah pembuatan tabel berikut di editor kueri Anda, ganti tableName tempat penampung dengan nama tabel target:

    .create table <TableName> (_raw: string, _time: long, cribl_pipe: dynamic)
    
  2. Jalankan perintah buat pemetaan penyerapan berikut, ganti tableName tempat penampung dengan nama tabel target dan TableNameMapping dengan nama pemetaan penyerapan:

    .create table <TableName> ingestion csv mapping '<TableNameMapping>' 'CriblLogMapping' '[{"Name":"_raw","DataType":"string","Ordinal":"0","ConstValue":null},{"Name":"_time","DataType":"long","Ordinal":"1","ConstValue":null},{"Name":"cribl_pipe","DataType":"dynamic","Ordinal":"2","ConstValue":null}]'
    
  3. Berikan perwakilan layanan dari Membuat izin peran ingestor database utama layanan Microsoft Entra untuk bekerja dengan database. Untuk informasi selengkapnya, lihat Contoh. Ganti tempat penampung DatabaseName dengan nama database target dan ApplicationID dengan nilai yang AppId Anda simpan saat membuat perwakilan layanan Microsoft Entra.

    .add database <DatabaseName> ingestors ('aadapp=<ApplicationID>') 'App Registration'
    

Membuat tujuan Cribl Stream

Bagian berikut menjelaskan cara membuat tujuan Cribl Stream yang menulis data ke tabel Anda di Kusto. Setiap tabel memerlukan konektor tujuan Cribl Stream terpisah.

Pilih tujuan

Untuk menyambungkan Cribl Stream ke tabel Anda:

  1. Dari navigasi atas di Cribl, pilih Kelola lalu pilih Grup Pekerja.

  2. Pilih Perutean>QuickConnect (Stream)>Tambahkan Tujuan.

  3. Di jendela Siapkan Tujuan QuickConnect baru, pilih Azure Data Explorer, lalu Tambahkan sekarang.

Menyiapkan pengaturan umum

Di jendela Data Explorer Baru, di Pengaturan Umum atur pengaturan berikut:

Pengaturan Nilai Deskripsi
Output ID <OutputID>, misalnya, KustoDestination Nama yang digunakan untuk mengidentifikasi tujuan Anda.
Mode Penyerapan Batching (default) atau Streaming Pengaturan untuk mode penyerapan. Batching memungkinkan tabel Anda untuk menarik batch data dari kontainer penyimpanan Cribl saat menyerap data dalam jumlah besar dalam waktu singkat. Streaming mengirimkan data langsung ke tabel KQL target. Streaming berguna untuk menyerap data dalam jumlah yang lebih kecil, atau misalnya, mengirim pemberitahuan penting secara real time. Streaming dapat mencapai latensi yang lebih rendah daripada batching. Jika mode penyerapan diatur ke Streaming, Anda harus mengaktifkan kebijakan streaming. Untuk informasi selengkapnya, lihat Kebijakan penyerapan streaming.
URI dasar kluster URI dasar URI dasar.
URI layanan penyerapan URI penyerapan Menampilkan ketika mode Batching dipilih. URI penyerapan.
Nama database <DatabaseName> Nama database target Anda.
Nama tabel <TableName> Nama tabel target Anda.
Memvalidasi pengaturan database Ya (default) atau Tidak. Memvalidasi kredensial aplikasi perwakilan layanan yang Anda masukkan saat menyimpan atau memulai tujuan Anda. Ini memvalidasi nama tabel, kecuali ketika Tambahkan objek pemetaan aktif. Pengaturan ini harus dinonaktifkan jika aplikasi Anda tidak memiliki peran Penampil Database dan Penampil Tabel.
Tambahkan objek pemetaan Ya atau Tidak (default.) Ditampilkan hanya ketika mode Batching dipilih alih-alih bidang teks pemetaan Data default. Memilih Ya membuka jendela untuk memasukkan pemetaan data sebagai objek JSON.
Pemetaan data Nama skema pemetaan seperti yang didefinisikan dalam langkah Buat tabel target. Nama skema pemetaan. Tampilan default saat Tambahkan objek pemetaan diatur ke Tidak.
Kompres gzip (default) Saat Format data diatur ke Parquet, Kompres tidak tersedia.
Format data JSON (default), Raw, atau Parquet. Format data. Parquet hanya tersedia dalam mode Batching dan hanya didukung di Linux.
Perilaku backpressure Blokir (default) atau Jatuhkan Pilih apakah akan memblokir atau menghilangkan peristiwa saat penerima mengerahkan backpressure.
Tag Nilai opsional Tag opsional untuk memfilter dan mengelompokkan tujuan di halaman Kelola Tujuan Cribl Stream. Gunakan tab atau pengembalian keras di antara nama tag. Tag ini tidak ditambahkan ke peristiwa yang diproses.

Setelah selesai, pilih Berikutnya.

Pengaturan autentikasi

Pilih Pengaturan Autentikasi di bilah samping. Gunakan nilai yang Anda simpan di Membuat perwakilan layanan Microsoft Entra bersama dengan URI dasar Anda sebagai berikut:

Pengaturan Nilai Deskripsi
ID Penyewa <TenantID> Gunakan nilai yang tenant Anda simpan di Membuat perwakilan layanan Microsoft Entra.
ID klien <ClientID> Gunakan nilai yang appId Anda simpan di Membuat perwakilan layanan Microsoft Entra.
Cakupan <baseuri>/.default Gunakan nilai dari URI dasar untuk baseuri.
Metode autentikasi Rahasia klien, Rahasia klien (rahasia teks), atau Sertifikat Opsi adalah Rahasia klien Gunakan rahasia klien aplikasi Microsoft Entra yang Anda buat di Membuat perwakilan layanan Microsoft Entra untuk rahasia Klien. Untuk Sertifikat, sertifikat Anda menggunakan kunci publik yang Anda daftarkan/akan mendaftar untuk aplikasi Microsoft Entra yang Anda buat di Membuat perwakilan layanan Microsoft Entra.

Kemudian pilih Berikutnya.

Antrean Persisten

Ditampilkan ketika mode Penyerapan diatur ke Streaming, dan Perilaku backpressure diatur ke Antrean Persisten.

Pengaturan Nilai Deskripsi
Ukuran file maks 1 MB (default) Ukuran file antrean maksimum untuk dicapai sebelum menutup file. Sertakan unit seperti KB atau MB, saat memasukkan angka.
Ukuran antrean maks 5 GB (default) Jumlah maksimum ruang disk yang dapat dikonsumsi antrean pada setiap Proses Pekerja sebelum Tujuan berhenti mengantre data. Nilai angka positif yang diperlukan dengan unit seperti KB, MB, atau GB. Nilai maksimum adalah 1 TB.
Jalur file antrean $CRIBL_HOME/state/queues (default) Lokasi file antrean persisten. Cribl Stream menambahkan /<worker‑id>/<output‑id> ke nilai ini.
Kompresi Tidak ada (default), gzip Metode kompresi yang digunakan untuk mengompresi data yang bertahan, setelah ditutup.
Perilaku penuh antrean Blokir atau Jatuhkan Pilih untuk memblokir atau menghilangkan peristiwa ketika antrean memberikan backpressure karena disk rendah atau kapasitas disk penuh.
Pengurutan yang ketat Ya (default) atau Tidak Saat diatur ke Ya peristiwa diteruskan berdasarkan urutan pertama, pertama keluar. Atur ke Tidak untuk mengirim peristiwa baru sebelum kejadian antrean sebelumnya.
Batas laju kuras (EPS) 0 (default) Opsi ini ditampilkan saat Pengurutan ketat diatur ke Tidak, untuk memungkinkan Anda mengatur laju pembatasan (dalam peristiwa per detik) saat menulis dari antrean ke penerima. Pembatasan laju pengurasan peristiwa antrean meningkatkan throughput koneksi baru atau aktif. Nol menonaktifkan pembatasan.
Hapus Antrean Persisten NA Pilih untuk menghapus file yang saat ini diantrekan untuk pengiriman ke Tujuan Anda. Anda harus mengonfirmasi tindakan ini karena data yang diantrekan dihapus secara permanen tanpa dikirimkan.

Setelah selesai, pilih Berikutnya.

Pengaturan pemrosesan

Pengaturan Nilai Deskripsi
Pipa <\defined_pipeline> Alur opsional untuk memproses data sebelum mengirimkannya menggunakan output ini.
Bidang sistem cribl_pipe (default), cribl_host, cribl_input, cribl_output, cribl_route, atau cribl_wp Daftar bidang yang secara otomatis ditambahkan ke peristiwa sebelum dikirim ke tujuannya. Penggunaan wildcard didukung.

Setelah selesai, pilih Berikutnya.

Pengaturan parquet

Menampilkan ketika Parquet dipilih untuk Format Data.

Memilih Parquet membuka tab Pengaturan Parquet, untuk memilih skema Parquet.

Pengaturan Nilai Deskripsi
Skema otomatis Aktif atau Nonaktif Pilih Aktif untuk menghasilkan skema Parquet berdasarkan peristiwa setiap file Parquet yang ditulis Cribl Stream.
Skema parquet drop-down Menampilkan ketika Skema otomatis diatur ke Nonaktif untuk memungkinkan Anda memilih skema parket Anda.
Versi parquet 1.0, 2.4, 2.6 (default) Versi menentukan jenis data yang didukung dan bagaimana mereka diwakili.
Versi halaman data V1, V2 (default) Format serialisasi halaman data. Jika pembaca Parquet Anda tidak mendukung Parquet V2, gunakan V1.
Batas baris grup 1000 (default) Jumlah maksimum baris yang dapat dimuat oleh setiap grup.
Ukuran halaman 1 MB (default) Ukuran memori target untuk segmen halaman. Nilai yang lebih rendah dapat meningkatkan kecepatan membaca, sementara nilai yang lebih tinggi dapat meningkatkan pemadatan.
Mencatat baris yang tidak valid Ya atau Tidak Saat Ya dipilih, dan Tingkat log diatur ke debug, menghasilkan hingga 20 baris unik yang dilewati karena ketidakcocokan format data.
Menulis statistik Aktif (default) atau Nonaktif Pilih Aktif jika Anda memiliki alat tampilan statistik Parquet yang dikonfigurasi.
Menulis indeks halaman Aktif (default) atau Nonaktif Pilih Aktif jika pembaca Parquet Anda menggunakan statistik indeks halaman Parquet untuk mengaktifkan lompati halaman.
Menulis checksum halaman Aktif atau Nonaktif Pilih Aktif jika Anda menggunakan alat Parquet untuk memeriksa integritas data menggunakan checksum halaman Parquet.
Metadata (opsional)* Properti metadata file tujuan yang dapat disertakan sebagai pasangan kunci-nilai.

Percobaan kembali

Ditampilkan ketika mode Penyerapan diatur ke Streaming.

Pengaturan Nilai Deskripsi
Header Honor Retry-After Ya atau Tidak Apakah akan menghormati Retry-After header. Saat diaktifkan, header yang diterima Retry-After lebih diutamakan digunakan sebelum opsi lain yang dikonfigurasi di bagian Coba Lagi, selama header menentukan penundaan 180 detik atau kurang. Jika tidak, Retry-After header diabaikan.
Pengaturan untuk permintaan HTTP yang gagal Kode status HTTP Daftar kode status HTTP untuk mencoba kembali secara otomatis jika gagal tersambung. Cribl Stream secara otomatis mencoba kembali 429 permintaan yang gagal.
Coba lagi permintaan HTTP kehabisan waktu Aktif atau Nonaktif Saat diatur, pengaturan perilaku percobaan kembali lainnya akan tersedia.
Interval pra-backoff (ms) 1000 ms (default) Waktu tunggu sebelum mencoba kembali.
Pengali backoff 2 d (default) Digunakan sebagai dasar untuk algoritma backoff eksponensial untuk menentukan interval antara percobaan ulang.
Batas backoff (ms) 10.000 md (default) Interval backoff maksimum untuk coba lagi streaming akhir. Nilai yang mungkin berkisar dari 10.000 milidetik (10 detik) hingga 180.000 milidetik (3 menit.)

Setelah selesai, pilih Berikutnya.

Pengaturan tingkat lanjut

Pilih Pengaturan Tingkat Lanjut dari bilah samping. Berikut ini menjelaskan pengaturan tingkat lanjut saat Batching dipilih:

Pengaturan Nilai Deskripsi
Segera siram Ya atau Tidak (default.) Atur ke Ya untuk mengambil alih agregasi data di Kusto. Untuk informasi selengkapnya, lihat Praktik terbaik untuk pustaka Kusto Ingest.
Pertahankan blob pada keberhasilan Ya atau Tidak (default.) Atur ke Ya untuk menyimpan blob data setelah penyelesaian penyerapan.
Tag tingkat <\ExtentTag, ET2,...> Atur tag, jika diinginkan, ke tingkat yang dipartisi dari tabel target.
Menerapkan keunikan melalui nilai tag Pilih Tambahkan nilai untuk menentukan daftar nilai yang ingest-by akan digunakan untuk memfilter tingkat masuk dan membuang tingkat yang cocok dengan nilai yang tercantum. Untuk informasi selengkapnya, lihat Tingkatan (shard data)
Tingkat laporan DoNotReport, FailuresOnly (default), dan FailuresAndSuccesses. Tingkat pelaporan status penyerapan.
Metode laporan Antrean (default), Tabel, dan QueueAndTable (Disarankan.) Target untuk pelaporan status penyerapan.
Bidang tambahan Tambahkan lebih banyak properti konfigurasi, jika diinginkan, untuk dikirim ke layanan penyerapan.
Lokasi penahapan /tmp (default) Lokasi sistem file lokal untuk menyangga file sebelum memadatkan dan memindahkannya ke tujuan akhir. Cribl merekomendasikan lokasi yang stabil dan berkinerja tinggi.
Ekspresi akhiran nama file .${C.env["CRIBL_WORKER_ID"]}.${__format}${__compression === "gzip" ? ".gz" : ""}(default) Ekspresi JavaScript diapit dalam tanda kutip atau backtick yang digunakan sebagai akhiran nama file output. formatbisa JSON atau mentah, dan __compression bisa tidak ada atau gzip. Urutan acak enam karakter ditambahkan ke akhir nama file untuk mencegahnya ditimpa.
Ukuran file maks (MB) 32 MB (default) Ukuran file output maksimum yang tidak dikompresi yang dapat dijangkau file sebelum ditutup dan dipindahkan ke kontainer penyimpanan.
Waktu buka file maks (dtk) 300 detik (default) Jumlah waktu maksimum, dalam detik, untuk menulis ke file sebelum ditutup dan dipindahkan ke kontainer penyimpanan.
Waktu menganggur file maks (dtk) 30 detik (default) Jumlah waktu maksimum, dalam detik, untuk menjaga file tidak aktif tetap terbuka sebelum ditutup dan dipindahkan ke kontainer penyimpanan.
File buka maks 100 (default) Jumlah maksimum file untuk tetap terbuka pada saat yang sama sebelum file terbuka terlama ditutup dan dipindahkan ke kontainer penyimpanan.
Bagian file serentak maks 1 (default) Jumlah maksimum bagian file yang akan diunggah secara bersamaan. Defaultnya adalah 1 dan tertinggi adalah 10. Mengatur nilai ke satu memungkinkan pengiriman satu bagian pada satu waktu, secara berurutan.
Menghapus dir penahapan kosong Ya (default) atau Tidak Saat beralih pada Cribl Stream akan menghapus direktori penahapan kosong setelah memindahkan file. Ini mencegah proliferasi direktori kosong tanpa yatim piatu. Saat diaktifkan, mengekspos periode pembersihan Penahapan.
Periode pembersihan penahapan 300 (default) Jumlah waktu dalam detik hingga direktori kosong dihapus saat Hapus dir penahapan diaktifkan. Ditampilkan ketika Hapus dir penahapan kosong diatur ke Ya. Nilai minimum adalah 10 detik, dan maksimum adalah 86.400 detik (setiap 24 jam.)
Lingkungan Ketika kosong (default) konfigurasi diaktifkan di mana-mana. Jika Anda menggunakan GitOps, Anda dapat menentukan cabang Git tempat Anda ingin mengaktifkan konfigurasi.

Setelah selesai, pilih Simpan.

Konfigurasi koneksi

Dari jendela Konfigurasi Koneksi yang terbuka, pilih Koneksi Passthru lalu Simpan. Konektor mulai mengantrekan data.

Mengonfirmasi penyerapan data

  1. Setelah data tiba dalam tabel, konfirmasikan transfer data, dengan memeriksa jumlah baris:

    <Tablename> 
    | count
    
  2. Konfirmasikan penyerapan yang diantrekan dalam lima menit terakhir:

    .show commands-and-queries 
    | where Database == "" and CommandType == "DataIngestPull" 
    | where LastUpdatedOn >= ago(5m)
    
  3. Konfirmasikan bahwa tidak ada kegagalan dalam proses penyerapan:

    • Untuk batching:
    .show ingestion failures
    
    • Untuk streaming:
    .show streamingingestion failures 
    | order by LastFailureOn desc
    
  4. Verifikasi data dalam tabel Anda:

    <TableName>
    | take 10
    

Untuk contoh dan panduan kueri, lihat Menulis kueri dalam dokumentasi KQL dan Bahasa Kueri Kusto.