Fluentd'den veri alma

Günlük alımı, uygulamalardan, sunuculardan, kapsayıcılardan ve bulut hizmetlerinden günlük verilerini toplamak, dönüştürmek ve hazırlamak suretiyle bu verilerin depolanmasını, analiz edilmesini ve izlenmesini sağlayan bir süreçtir. Günlükler hatalar, uyarılar, kullanım desenleri ve sistem performansı gibi bilgileri yakalar. Güvenilir günlük alımı, işlem ve güvenlik verilerinin sorun giderme ve içgörüler için neredeyse gerçek zamanlı olarak kullanılabilir olmasını sağlar.

Bu makale, yükleme, yapılandırma ve doğrulama adımları dahil olmak üzere Fluentd'den Eventhouse tablosuna log gönderme sürecini açıklamaktadır.

Genel Bakış

Fluentd nedir?

Fluentd, birden çok sistem arasında günlük toplama ve yönlendirmeyi birleştirmek için kullanabileceğiniz bir açık kaynak veri toplayıcıdır. 1.000'den fazla eklentiyi destekler ve verileri filtreleme, arabelleğe alma ve dönüştürme için esnek seçenekler sağlar. Merkezi günlük toplama ve iletme için Fluentd'i bulutta yerel ve kurumsal ortamlarda kullanabilirsiniz.

Önkoşullar

  • Ruby, logların alınması gereken düğüme yüklenmiştir. Gem paket yöneticisini kullanarak fluentd bağımlılıklarını yüklemek için Ruby yükleme yönergelerine bakın.
  • kapasitesine sahip Microsoft Fabric özellikli bir çalışma alanı.
  • Yükleme izinlerine sahip bir KQL veritabanı.

Fluentd ve Eventhouse tablosunu kullanmaya başlama

  1. Fluentd'i RubyGems kullanarak yükleyin:

    gem install fluentd
    
  2. Fluentd Kusto eklentisini yükleyin:

    gem install fluent-plugin-kusto
    
  3. Fluentd'i , aşağıdaki içeriğe sahip bir yapılandırma dosyası (örneğin, fluent.conf) oluşturarak yapılandırın. Yer tutucuları ayrıntılarınızla değiştirin:

    <match <tag-from-source-logs>>
      @type kusto
      endpoint https://<your-cluster>.<region>.kusto.windows.net
      database_name <your-database>
      table_name <your-table>
      logger_path <your-fluentd-log-file-path>
    
      # Authentication options
      auth_type <your-authentication-type>
    
      # AAD authentication
      tenant_id <your-tenant-id>
      client_id <your-client-id>
      client_secret <your-client-secret>
    
      # Managed identity authentication (optional)
      managed_identity_client_id <your-managed-identity-client-id>
    
      # Workload identity authentication (optional)
      workload_identity_tenant_id <your-workload-identity-tenant-id>
      workload_identity_client_id <your-workload-identity-client-id>
    
      # Non-buffered mode
      buffered false
      delayed false
    
      # Buffered mode
      # buffered true
      # delayed <true/false>
    
      <buffer>
        @type memory
        timekey 1m
        flush_interval 10s
      </buffer>
    </match>
    

Daha fazla yapılandırma ve kimlik doğrulaması ayrıntıları için Fluentd Kusto eklentisi belgelerine bakın.

  1. Eventhouse tablosunu veri alımı için hazırlama:

    1. Sorgu ortamınıza göz atın.
    2. Hedef tabloyu oluşturmak istediğiniz veritabanını seçin.
    3. Günlük alımı için bir tablo oluşturun. Örneğin:
    .create table LogTable (
      tag:string,
      timestamp:datetime,
      record:dynamic
    )
    
  2. Fluentd'i yapılandırma dosyasıyla çalıştırın:

    fluentd -c fluent.conf
    
  3. Günlük alımını doğrulayın ile:

    1. Fluentd günlük dosyası denetleniyor, hata olmadığını ve alım isteklerinin başarıyla gönderildiğini onaylıyor.

      Başarılı alım isteklerini gösteren Fluentd günlük dosyasının ekran görüntüsü

    2. Günlüklerin doğru alındığını kontrol etmek için tabloyu sorgulayın:

    LogTable
    | take 10
    
  4. Alım eşlemesi: Kusto'da önceden tanımlanmış alım eşlemelerini kullanarak verileri varsayılan 3 sütun biçiminde istediğiniz şemaya dönüştürün. Daha fazla bilgi için bkz. Alım eşlemeleri desteği.