Fluentd ile günlük verilerini Azure Veri Gezgini'ne 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 makalede, fluentd'den Azure Veri Gezgini'ne (Kusto) yükleme, yapılandırma ve doğrulama adımları gibi günlüklerin nasıl gönderilip gönderilmeyenleri açıklanmaktadı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.

Azure Veri Gezgini nedir?

Azure Veri Gezgini (ADX), büyük hacimli yapılandırılmış, yarı yapılandırılmış ve yapılandırılmamış verilerin gerçek zamanlı analizi için iyileştirilmiş hızlı, tam olarak yönetilen bir analiz hizmetidir. ADX, Kusto Sorgu Dili (KQL) kullanır ve telemetri, izleme, tanılama ve etkileşimli veri keşfi için yaygın olarak kullanılır.

Ö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
  • Azure Veri Gezgini kümesine ve veritabanına erişim.
  • Verileri alma izinlerine sahip Azure Active Directory uygulaması.

Fluentd ve Azure Veri Gezgini ile çalışmaya 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ı Azure ve eklenti değerlerinizle 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. Azure Veri Gezgini için veri alımı hazırlığı yap:

    1. BIR ADX kümesi ve veritabanı oluşturun. Bkz. Azure Veri Gezgini kümesi ve veritabanı oluşturma.

    2. Bir Azure Active Directory uygulaması oluşturun ve ADX veritabanına veri alma izinleri verin. Bkz. Azure Veri Gezgini'nde Microsoft Entra uygulama kaydı oluşturma.

      Uyarı

      Uygulama anahtarını ve uygulama kimliğini gelecekte kullanmak üzere kaydedin.

    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. Logların doğru şekilde getirildiğinden emin olmak için ADX tablosunu sorgulama:

    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.