Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fluent Bit adalah agen sumber terbuka yang mengumpulkan log, metrik, dan jejak dari berbagai sumber. Ini memungkinkan Anda untuk memfilter, memodifikasi, dan mengagregasi data peristiwa sebelum mengirimkannya ke penyimpanan. Artikel ini memandu Anda melalui proses penggunaan Fluent Bit untuk mengirim data ke database KQL Anda.
Artikel ini memperlihatkan cara menyerap data dengan Fluent Bit.
Untuk daftar lengkap konektor data, lihat gambaran umum konektor data .
Prasyarat
- Sedikit fasih.
- Ruang kerja dengan kapasitas yang didukung Microsoft Fabric.
- Database KQL dengan izin ingestsi.
- Kumpulan kueri KQL , yang akan disebut nanti sebagai lingkungan kueri Anda.
- URI pemasukan database Anda untuk digunakan sebagai nilai TargetURI. Untuk informasi selengkapnya, lihat Menyalin URI.
Membuat perwakilan layanan Microsoft Entra
Prinsipal layanan Microsoft Entra dapat dibuat melalui portal Microsoft Azure atau melalui pemrograman, seperti dalam contoh berikut.
Prinsipal 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
Fluent Bit meneruskan log dalam format JSON dengan tiga properti: log
(dinamis), tag
(string), dan timestamp
(tanggalwaktu).
Anda dapat membuat tabel dengan kolom untuk setiap properti ini. Atau, jika Anda memiliki log terstruktur, Anda dapat membuat tabel dengan properti log yang dipetakan ke kolom kustom. Untuk mempelajari lebih lanjut, pilih tab yang relevan.
Untuk membuat tabel untuk log masuk dari Fluent Bit:
Memberikan izin kepada perwakilan layanan
Berikan perwakilan layanan dari Membuat perwakilan layanan Microsoft Entradatabase ingestor izin peran untuk bekerja dengan database. Untuk informasi selengkapnya, lihat contoh . Ganti placeholder DatabaseName dengan nama database target dan ApplicationID dengan nilai AppId
yang Anda simpan saat membuat principal layanan Microsoft Entra.
.add database <DatabaseName> ingestors ('aadapp=<ApplicationID>;<TenantID>')
Mengonfigurasi Fluent Bit untuk mengirim log ke tabel Anda
Untuk mengonfigurasi Fluent Bit untuk mengirim log ke tabel Anda di Kusto, buat file konfigurasi mode klasik atau mode YAML dengan properti output berikut:
Bidang | KETERANGAN | Diperlukan | Bawaan |
---|---|---|---|
Nama | Nama alur. | azure_kusto |
|
ID Penyewa | ID penyewa dari Membuat perwakilan layanan Microsoft Entra. | ✔️ | |
ID klien | ID aplikasi dari Membuat perwakilan layanan Microsoft Entra. | ✔️ | |
client_secret (kunci rahasia klien) | Nilai kunci rahasia klien (kata sandi) dari Membuat perwakilan layanan Microsoft Entra. | ✔️ | |
managed_identity_client_id | ID klien identitas terkelola yang akan digunakan untuk autentikasi. | ✔️ | |
titik penerimaan | Masukkan nilai seperti yang dijelaskan untuk Ingestion_Endpoint. | ✔️ | |
nama_basis_data | Nama database yang berisi tabel log Anda. | ✔️ | |
nama_tabel | Nama tabel dari Buat tabel target. | ✔️ | |
referensi_pemetaan_pemasukan | Nama pemetaan penyerapan dari Buat tabel target. Jika Anda tidak membuat pemetaan penyerapan, hapus properti dari file konfigurasi. | ||
log_key | Nama kunci konten log. Misalnya, log . |
log |
|
include_tag_key | Jika diaktifkan, tag ditambahkan ke output. | On |
|
tag_key | Nama kunci dari tag. Diabaikan jika include_tag_key salah. |
tag |
|
sertakan_kunci_waktu | Tanda waktu ditambahkan ke output, jika diaktifkan. Menggunakan properti time_key . |
On |
|
kunci_waktu | Nama kunci untuk tanda waktu dalam rekaman log. Diabaikan jika include_time_key false. |
timestamp |
|
batas_waktu_koneksi_titik_akhir_ingestion | Batas waktu koneksi berbagai titik akhir Kusto dalam hitungan detik. | 60 |
|
kompresi_dihidupkan | Mengirim payload HTTP terkompresi (gzip) ke Kusto, jika diaktifkan. | true |
|
interval_penyegaran_sumber_daya_ingesti | Selang penyegaran sumber daya ingesti dari titik akhir Kusto dalam hitungan detik. | ||
Pekerja | Jumlah pekerja yang bertugas melakukan operasi flush pada output ini. | 0 |
|
pengaktifan_penyanggaan | Jika diaktifkan, menyimpan data dalam buffer ke dalam disk sebelum dimasukkan ke dalam Kusto. | Off |
|
jalur penyangga | Menentukan lokasi direktori tempat data yang di-buffer akan disimpan jika buffering_enabled adalah On . |
/tmp/fluent-bit/azure-kusto/ |
|
batas_waktu_unggah | Menentukan batas waktu untuk unggahan jika buffering_enabled adalah On . File yang lebih lama dari ini diserap bahkan jika di bawah batas ukuran. |
30m |
|
ukuran_file_unggahan | Menentukan ukuran maksimum file yang akan diunggah jika buffering_enabled adalah On . |
200MB |
|
azure_kusto_buffer_key | Kunci buffer Azure Kusto untuk mengidentifikasi instans plugin ketika buffering_enabled adalah On . Diperlukan untuk beberapa output Azure Kusto dengan buffering. |
key |
|
batas ukuran direktori penyimpanan | Ukuran maksimum direktori tempat data buffer disimpan jika buffering_enabled adalah On . |
8GB |
|
hapus_berkas_buffer_dini | Kapan buffering_enabled adalah On , apakah akan menghapus file yang di-buffer lebih awal setelah pembuatan blob berhasil. |
Off |
|
unify_tag | Membuat satu file buffer saat buffering_enabled adalah On . |
On |
|
blob_uri_length | Atur panjang URI blob yang dihasilkan sebelum menyerap ke Kusto. | 64 |
|
penjadwal_maks_coba_ulang | Ketika buffering_enabled adalah On , atur jumlah maksimum percobaan ulang untuk penyerapan menggunakan penjadwal. |
3 |
|
hapus_saat_gagal_unggah_maks | Ketika buffering_enabled adalah On , apakah akan menghapus file buffer pada kesalahan unggahan maksimum? |
Off |
|
IO_timeout | Konfigurasikan batas waktu HTTP IO untuk unggahan. | 60s |
Untuk melihat contoh file konfigurasi, pilih tab yang relevan:
[SERVICE]
Daemon Off
Flush 1
Log_Level trace
HTTP_Server On
HTTP_Listen 0.0.0.0
HTTP_Port 2020
Health_Check On
[INPUT]
Name tail
Path /var/log/containers/*.log
Tag kube.*
Mem_Buf_Limit 1MB
Skip_Long_Lines On
Refresh_Interval 10
[OUTPUT]
[OUTPUT]
Match *
Name azure_kusto
Tenant_Id <app_tenant_id>
Client_Id <app_client_id>
Client_Secret <app_secret>
Ingestion_Endpoint https://ingest-<cluster>.<region>.kusto.windows.net
Database_Name <database_name>
Table_Name <table_name>
Ingestion_Mapping_Reference <mapping_name>
ingestion_endpoint_connect_timeout <ingestion_endpoint_connect_timeout>
compression_enabled <compression_enabled>
ingestion_resources_refresh_interval <ingestion_resources_refresh_interval>
buffering_enabled On
upload_timeout 2m
upload_file_size 125M
azure_kusto_buffer_key kusto1
buffer_file_delete_early Off
unify_tag On
buffer_dir /var/log/
store_dir_limit_size 16GB
blob_uri_length 128
scheduler_max_retries 3
delete_on_max_upload_error Off
io_timeout 60s
Mengonfirmasi penyerapan data
Setelah data tiba dalam tabel, konfirmasikan transfer data, dengan memeriksa jumlah baris:
FluentBitLogs | count
Untuk menampilkan sampel data log, jalankan kueri berikut:
FluentBitLogs | take 100