Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Fluent Bit , çeşitli kaynaklardan günlükleri, ölçümleri ve izlemeleri toplayan bir açık kaynak aracıdır. Olay verilerini depolama alanına göndermeden önce filtrelemenize, değiştirmenize ve toplamanıza olanak tanır. Bu makale, KQL veritabanınıza veri göndermek için Fluent Bit kullanma işleminde size yol gösterir.
Bu makalede Fluent Bit ile veri alma işlemi gösterilmektedir.
Veri bağlayıcılarının tam listesi için bkz . Veri bağlayıcılarına genel bakış.
Önkoşullar
- Fluent Bit.
- Azure Veri Gezgini kümesi ve veritabanı. Küme ve veritabanı oluşturma.
- Sorgu ortamı. Daha fazla bilgi için bkz. Sorgu tümleştirmelerine genel bakış.
- küme biçimindeki https://ingest-< değeri için Kusto küme URI'niz ><>bölge. Daha fazla bilgi için bkz. Küme bağlantısı ekleme.
Microsoft Entra hizmet sorumlusu oluşturma
Microsoft Entra hizmet sorumlusu, aşağıdaki örnekte olduğu gibi Azure portalı veya program aracılığıyla oluşturulabilir.
Bu hizmet sorumlusu, Kusto'daki tablonuza veri yazmak için bağlayıcı tarafından kullanılan kimliktir. Bu hizmet sorumlusuna Kusto kaynaklarına erişmek için izinler verirsiniz.
Azure CLI aracılığıyla Azure aboneliğinizde oturum açın. Ardından tarayıcıda kimlik doğrulaması yapın.
az loginSorumluyu barındırmak için aboneliği seçin. Bu adım, birden çok aboneliğiniz olduğunda gereklidir.
az account set --subscription YOUR_SUBSCRIPTION_GUIDHizmet sorumlusunu oluşturun. Bu örnekte hizmet sorumlusu olarak adlandırılır
my-service-principal.az ad sp create-for-rbac -n "my-service-principal" --role Contributor --scopes /subscriptions/{SubID}Döndürülen JSON verilerinden, gelecekte kullanmak üzere ,
appIdvepassworddeğerini kopyalayıntenant.{ "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" }
Microsoft Entra uygulamanızı ve hizmet sorumlunuzu oluşturdunuz.
Hedef tablo oluşturma
Fluent Bit, günlükleri JSON biçiminde üç özellik ile iletir: log (dinamik), tag (dize) ve timestamp (datetime).
Bu özelliklerin her biri için sütunlar içeren bir tablo oluşturabilirsiniz. Alternatif olarak, yapılandırılmış günlükleriniz varsa, özel sütunlara eşlenmiş günlük özelliklerine sahip bir tablo oluşturabilirsiniz. Daha fazla bilgi edinmek için ilgili sekmeyi seçin.
Fluent Bit'ten gelen günlükler için bir tablo oluşturmak için:
Sorgu ortamınıza göz atın.
Tabloyu oluşturmak istediğiniz veritabanını seçin.
Aşağıdaki
.create tablekomutu çalıştırın:.create table FluentBitLogs (log:dynamic, tag:string, timestamp:datetime)Gelen JSON özellikleri otomatik olarak doğru sütuna eşlenir.
Hizmet sorumlusuna izin verme
hizmet sorumlusuna Microsoft Entra hizmet sorumlusu oluşturmaveritabanı alma veritabanıyla çalışmak için rol izinleri verin. Daha fazla bilgi için bkz. Örnekler.
DatabaseName yer tutucusunu hedef veritabanının adıyla ve ApplicationID'u, Microsoft Entra hizmet sorumlusu oluştururken kaydettiğiniz AppId değeriyle değiştirin.
.add database <DatabaseName> ingestors ('aadapp=<ApplicationID>;<TenantID>')
Fluent Bit'i tablonuza günlük gönderecek şekilde yapılandırma
Fluent Bit'i Kusto'daki tablonuza günlük gönderecek şekilde yapılandırmak için, aşağıdaki çıkış özelliklerine sahip bir
| Alan | Veri Akışı Açıklaması | Gerekli | Varsayılan |
|---|---|---|---|
| Ad | İşlem hattı adı. | azure_kusto |
|
| kiracı_kimlik_numarası | Microsoft Entra hizmet sorumlusu oluşturma işlemiyle ilişkili kiracı kimliği. | ✔️ | |
| müşteri_kimliği | Microsoft Entra hizmet sorumlusu oluşturma işlemiiçin uygulama kimliği. | ✔️ | |
| istemci_sırrı | İstemci gizli anahtarı değeri (parola), Microsoft Entra hizmet sorumlusu oluşturma. | ✔️ | |
| yönetilen_kimlik_müşteri_kimliği | Kimlik doğrulaması için kullanılacak yönetilen kimliğin istemci kimliği. | ✔️ | |
| veri_giriş_noktası | değerini Ingestion_Endpointiçin açıklandığı gibi girin. | ✔️ | |
| veritabanı_adı | Günlükler tablonuzu içeren veritabanının adı. | ✔️ | |
| tablo_adı | tablosunun adınahedef tablo oluşturma. | ✔️ | |
| veri alımı eşleme referansı | Oluşturulacak hedef tabloiçin gelen alma eşlemesinin adı. Alma eşlemesi oluşturmadıysanız, özelliğini yapılandırma dosyasından kaldırın. | ||
| log anahtarı | Günlük içeriğinin anahtar adı. Örneğin, log. |
log |
|
| etiket_anahtar_dahil | Etkinleştirilirse, çıkışa bir etiket eklenir. | On |
|
| Etiket_anahtarı | Etiketin anahtar adı. Eğer include_tag_key yanlışsa yoksayılır. |
tag |
|
| zaman_anahtarını_dahil_et | Etkinleştirilmişse çıkışa bir zaman damgası eklenir.
time_key özelliğini kullanır. |
On |
|
| zaman_anahtarı | Günlük kayıtlarındaki zaman damgasının anahtar adı. Eğer include_time_key yanlışsa yoksayılır. |
timestamp |
|
| veri_alma_bağlantı_noktası_bağlanma_zaman_aşımı | Çeşitli Kusto uç noktalarının bağlantı zaman aşımı süreleri, saniye cinsindendir. | 60 |
|
| sıkıştırma_aktif | Etkinse sıkıştırılmış HTTP yükünü (gzip) Kusto'ya gönderir. | true |
|
| alma_kaynakları_yenileme_aralığı | Alım kaynaklarının Kusto uç noktasındaki yenileme aralığı saniye cinsindendir. | ||
| Işçi | Bu çıktı için temizleme işlemleri gerçekleştirmeye |
0 |
|
| arayüze yükleme etkinleştirildi | Açık olduğunda, verileri Kusto'ya işlenmeden önce diske arabelleğe alır. | Off |
|
| ara bellek yolu | olduğunda buffering_enabledOnarabelleğe alınan verilerin depolanacağı dizinin konumunu belirtir. |
/tmp/fluent-bit/azure-kusto/ |
|
| yükleme_zaman_aşımı | ise buffering_enabled karşıya yüklemeler için zaman aşımını Onbelirtir. Bundan eski dosyalar, boyut sınırının altında olsa bile işlenir. |
30m |
|
| yükleme_dosya_boyutu |
buffering_enabled
On ise yüklenecek dosyanın maksimum boyutunu belirtir. |
200MB |
|
| azure_kusto_buffer_key | Azure Kusto arabellek anahtarı, buffering_enabledOn olduğunda eklenti örneklerini tanımlamak için kullanılır. Arabelleğe alma için birden çok Azure Kusto çıktısı gereklidir. |
key |
|
| Depolama_dizin_limit_boyutu | Eğer buffering_enabled ise, arabelleğe alınan verilerin depolandığı dizinin maksimum boyutu On. |
8GB |
|
| Arabellek_dosya_önceden_silme |
buffering_enabled
On olduğunda, başarılı blob oluşturmanın ardından arabelleğe alınmış dosyanın erkenden silinip silinmeyeceği. |
Off |
|
| unify_tag |
buffering_enabled
On olduğunda tek bir arabellek dosyası oluşturur. |
On |
|
| blob_uri_uzunluğu | Kusto'ya almadan önce oluşturulan blob URI'sinin uzunluğunu belirleyin. | 64 |
|
| Maksimum Deneme Sayısı Ayarlayıcısı (scheduler_max_retries) |
buffering_enabled
On olduğunda, zamanlayıcıyı kullanarak veri alımı için en fazla yeniden deneme sayısını ayarlayın. |
3 |
|
| maks yükleme hatasında sil | olduğunda buffering_enabledOn, en yüksek karşıya yükleme hatalarında arabellek dosyasının silinip silinmeyeceği. |
Off |
|
| IO zaman aşımı | Karşıya yüklemeler için HTTP IO zaman aşımını yapılandırın. | 60s |
Örnek bir yapılandırma dosyası görmek için ilgili sekmeyi seçin:
[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
Veri alımını onaylama
Veriler tabloya ulaştığında, satır sayısını denetleyerek veri aktarımını onaylayın:
FluentBitLogs | countGünlük verilerinin bir örneğini görüntülemek için aşağıdaki sorguyu çalıştırın:
FluentBitLogs | take 100