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.
Masuk ke langganan Azure Anda melalui Azure CLI. Kemudian autentikasi di browser.
az login
Pilih langganan untuk menghosting perwakilan. Langkah ini diperlukan saat Anda memiliki beberapa langganan.
az account set --subscription YOUR_SUBSCRIPTION_GUID
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}
Dari data JSON yang dikembalikan, salin
appId
,password
, dantenant
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.
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)
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}]'
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:
Dari navigasi atas di Cribl, pilih Kelola lalu pilih Grup Pekerja.
Pilih Perutean>QuickConnect (Stream)>Tambahkan Tujuan.
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. format bisa 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
Setelah data tiba dalam tabel, konfirmasikan transfer data, dengan memeriksa jumlah baris:
<Tablename> | count
Konfirmasikan penyerapan yang diantrekan dalam lima menit terakhir:
.show commands-and-queries | where Database == "" and CommandType == "DataIngestPull" | where LastUpdatedOn >= ago(5m)
Konfirmasikan bahwa tidak ada kegagalan dalam proses penyerapan:
- Untuk batching:
.show ingestion failures
- Untuk streaming:
.show streamingingestion failures | order by LastFailureOn desc
Verifikasi data dalam tabel Anda:
<TableName> | take 10
Untuk contoh dan panduan kueri, lihat Menulis kueri dalam dokumentasi KQL dan Bahasa Kueri Kusto.