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. Azure Veri Gezgini, günlük ve telemetri verileri için hızlı ve yüksek oranda ölçeklenebilir veri keşfetme hizmetidir. Bu makale, Azure Veri Gezgini'a veri göndermek için Fluent Bit kullanma işleminde size yol gösterir.
Bu makalede şunları yapmayı öğreneceksiniz:
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ınız için kullanılabilir Sorgu araçlarından herhangi birini kullanabilirsiniz.
Günlüklerinizi depolamak için 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 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.
Verileri alma izinlerine sahip bir Microsoft Entra uygulaması kaydetme
Microsoft Entra hizmet sorumlusu, aşağıdaki örnekte olduğu gibi Azure portalı aracılığıyla veya program aracılığıyla oluşturulabilir.
Bu hizmet sorumlusu, kusto'da tablonuza veri yazmak için bağlayıcı tarafından kullanılan kimliktir. Daha sonra bu hizmet sorumlusu için Kusto kaynaklarına erişim izinleri verirsiniz.
Azure CLI aracılığıyla Azure aboneliğinizde oturum açın. Ardından tarayıcıda kimlik doğrulaması yapın.
az login
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
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}
Döndürülen JSON verilerinden, gelecekte kullanmak üzere ,
password
vetenant
değerini kopyalayınappId
.{ "appId": "1234abcd-e5f6-g7h8-i9j0-1234kl5678mn", "displayName": "my-service-principal", "name": "my-service-principal", "password": "1234abcd-e5f6-g7h8-i9j0-1234kl5678mn", "tenant": "1234abcd-e5f6-g7h8-i9j0-1234kl5678mn" }
Microsoft Entra uygulamanızı ve hizmet sorumlunuzu oluşturdunuz.
Hizmet sorumlusuna izin verme
öğesini veritabanının adıyla değiştirerek <MyDatabase>
aşağıdaki komutu çalıştırın:
.add database MyDatabase ingestors ('aadapp=<Application (client) ID>;<Directory (tenant) ID>')
Bu komut, uygulamanıza tablonuza veri alma izinleri verir. Daha fazla bilgi için bkz . rol tabanlı erişim denetimi.
Fluent Bit'i tablonuza günlük gönderecek şekilde yapılandırma
Fluent Bit'i Azure Veri Gezgini 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ı |
---|---|
Ad | azure_kusto |
Eşleştir | Gelen kayıtların etiketleriyle eşleşmesi için bir desen. Büyük/küçük harfe duyarlıdır ve joker karakter olarak yıldız (* ) karakterini destekler. |
Tenant_Id | Veri alma izinlerine sahip bir Microsoft Entra uygulamasını kaydetme bölümünden dizin (kiracı) kimliği. |
Client_Id | Verileri alma izinlerine sahip bir Microsoft Entra uygulamasını kaydetme bölümünden uygulama (istemci) kimliği. |
Client_Secret | İstemci gizli anahtarı değeri Verileri alma izinlerine sahip bir Microsoft Entra uygulamasını kaydedin. |
Ingestion_Endpoint | Azure portalında kümenize genel bakış altında bulunan Veri Alımı URI'sinikullanın. |
Database_Name | Günlükler tablonuzu içeren veritabanının adı. |
Table_Name | Günlüklerinizi depolamak için Tablo oluşturma bölümünden tablonun adı. |
Ingestion_Mapping_Reference | Tablo oluştur'dan alma eşlemesinin adı. Alma eşlemesi oluşturmadıysanız, özelliğini yapılandırma dosyasından kaldırın. |
Ö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]
Name azure_kusto
Match *
Tenant_Id azure-tenant-id
Client_Id azure-client-id
Client_Secret azure-client-secret
Ingestion_Endpoint azure-data-explorer-ingestion-endpoint
Database_Name azure-data-explorer-database-name
Table_Name azure-data-explorer-table-name
Verilerin tablonuza geldiğini doğrulayın
Yapılandırma tamamlandıktan sonra günlükler tablonuza ulaşmalıdır.
Günlüklerin alındığını doğrulamak için aşağıdaki sorguyu çalıştırın:
FluentBitLogs | count
Günlük verilerinin bir örneğini görüntülemek için aşağıdaki sorguyu çalıştırın:
FluentBitLogs | take 100
İlgili içerik
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin