Aracılığıyla paylaş


Fluent Bit ile azure Veri Gezgini veri alma

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

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.

  1. Azure CLI aracılığıyla Azure aboneliğinizde oturum açın. Ardından tarayıcıda kimlik doğrulaması yapın.

    az login
    
  2. Sorumluyu 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_GUID
    
  3. Hizmet 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}
    
  4. Döndürülen JSON verilerinden, gelecekte kullanmak üzere , appIdve password değ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:

  1. Sorgu ortamınıza göz atın.

  2. Tabloyu oluşturmak istediğiniz veritabanını seçin.

  3. Aşağıdaki .create table komutu ç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 klasik mod veya YAML modu yapılandırma dosyası oluşturun:

Alan Veri Akışı Açıklaması Gerekli Varsayılan
Ad İşlem hattı adı. azure_kusto
tenant_id 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. ✔️
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_key Günlük içeriğinin anahtar adı. Örneğin, log. log
Etiket_anahtarı Etiketin anahtar adı. Eğer include_tag_key yanlışsa yoksayılır. tag
include_time_key Etkinleştirilmişse çıkışa bir zaman damgası eklenir. time_key özelliğini kullanır. true
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. 60s
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. 3600
Işçi Bu çıktı için temizleme işlemleri gerçekleştirmeye çalışan sayısı. 0

Ö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]
    match *
    name azure_kusto
    tenant_id <TenantId>
    client_id <ClientId>
    client_secret <AppSecret>
    ingestion_endpoint <IngestionEndpoint>
    database_name <DatabaseName>
    table_name <TableName>
    ingestion_mapping_reference <MappingName>
    ingestion_endpoint_connect_timeout <IngestionEndpointConnectTimeout>
    compression_enabled <CompressionEnabled>
    ingestion_resources_refresh_interval <IngestionResourcesRefreshInterval>

Veri alımını onaylama

  1. Veriler tabloya ulaştığında, satır sayısını denetleyerek veri aktarımını onaylayın:

    FluentBitLogs
    | count
    
  2. Günlük verilerinin bir örneğini görüntülemek için aşağıdaki sorguyu çalıştırın:

    FluentBitLogs
    | take 100