Share via


Erfassen von Daten mit Fluent Bit in Azure Data Explorer

Fluent Bit ist ein Open-Source-Agent, der Protokolle, Metriken und Ablaufverfolgungen aus verschiedenen Quellen sammelt. Damit können Sie Ereignisdaten filtern, ändern und aggregieren, bevor sie an den Speicher gesendet werden. Azure-Daten-Explorer ist ein schneller und hochgradig skalierbarer Dienst zur Untersuchung von Daten (Protokoll- und Telemetriedaten). Dieser Artikel führt Sie durch die Verwendung von Fluent Bit zum Senden von Daten an Azure Data Explorer.

In diesem Artikel lernen Sie Folgendes:

Eine vollständige Liste der Datenconnectors finden Sie unter Übersicht über Datenconnectors.

Voraussetzungen

Erstellen einer Azure Data Explorer-Tabelle zum Speichern Ihrer Protokolle

Fluent Bit leitet Protokolle im JSON-Format mit drei Eigenschaften an Azure Data Explorer weiter: log (dynamisch), tag (Zeichenfolge) und timestamp (datetime).

Sie können eine Tabelle mit Spalten für jede dieser Eigenschaften erstellen. Wenn Sie über strukturierte Protokolle verfügen, können Sie alternativ eine Tabelle mit Protokolleigenschaften erstellen, die benutzerdefinierten Spalten zugeordnet sind. Um mehr zu erfahren, wählen Sie die relevante Registerkarte aus.

So erstellen Sie eine Tabelle für eingehende Protokolle aus Fluent Bit:

  1. Wählen Sie die Datenbank aus, in der Sie die Tabelle erstellen möchten.

  2. Führen Sie den folgenden .create table-Befehl aus:

    .create table FluentBitLogs (log:dynamic, tag:string, timestamp:datetime)
    

    Azure Data Explorer ordnet eingehende JSON-Eigenschaften automatisch der richtigen Spalte zu.

Registrieren einer Azure AD-App mit Berechtigungen zum Erfassen von Daten

Die Azure Active Directory-Anwendungsauthentifizierung (Azure AD) wird für Anwendungen verwendet, die auf Azure Data Explorer zugreifen müssen, ohne dass ein Benutzer anwesend ist. Um Daten mit Fluent Bit zu erfassen, müssen Sie einen Azure AD-Dienstprinzipal erstellen und registrieren und diesen Prinzipal dann autorisieren, um Daten in Ihrer Azure Data Explorer-Tabelle zu erfassen.

  1. Erstellen Sie eine Azure AD-Anwendungsregistrierung.

  2. Speichern Sie die Anwendungs-ID (Client-ID),die Verzeichnis-ID (Mandanten-ID) und den geheimen Clientschlüsselwert , um sie in den folgenden Schritten zu verwenden.

  3. Führen Sie den folgenden Befehl aus, und <MyDatabase> ersetzen Sie dabei durch den Namen der Datenbank:

    .add database MyDatabase ingestors ('aadapp=<Application (client) ID>;<Directory (tenant) ID>' 'Fluent Bit application)
    

    Dieser Befehl gewährt der Anwendung Berechtigungen zum Erfassen von Daten in Ihrer Tabelle. Weitere Informationen finden Sie unter Rollenbasierte Zugriffssteuerung.

Konfigurieren von Fluent Bit zum Senden von Protokollen an Ihre Tabelle

Um Fluent Bit so zu konfigurieren, dass Protokolle an Ihre Azure Data Explorer-Tabelle gesendet werden, erstellen Sie eine Konfigurationsdatei im klassischen Modus oder im YAML-Modus mit den folgenden Ausgabeeigenschaften:

Feld BESCHREIBUNG
Name azure_kusto
Match Ein Muster, das mit den Tags der eingehenden Datensätze abgeglichen werden soll. Dabei wird die Groß-/Kleinschreibung beachtet und das star Zeichen (*) als Wildcard unterstützt.
Tenant_Id Verzeichnis-ID (Mandant) aus Registrieren einer Azure AD-App mit Berechtigungen zum Erfassen von Daten.
Client_Id Anwendungs-ID (Client) aus Registrieren einer Azure AD-App mit Berechtigungen zum Erfassen von Daten.
Client_Secret Der Wert des geheimen Clientschlüssels Registrieren einer Azure AD-App mit Berechtigungen zum Erfassen von Daten.
Ingestion_Endpoint Verwenden Sie den Datenerfassungs-URI im Azure-Portal unter Ihrem Clusterübersicht.
Database_name Der Name der Datenbank, die Ihre Protokolltabelle enthält.
Table_Name Der Name der Tabelle aus Erstellen einer Azure Data Explorer-Tabelle.
Ingestion_Mapping_Reference Der Name der Erfassungszuordnung aus Erstellen einer Azure Data Explorer-Tabelle. Wenn Sie keine Erfassungszuordnung erstellt haben, entfernen Sie die -Eigenschaft aus der Konfigurationsdatei.

Um eine Beispielkonfigurationsdatei anzuzeigen, wählen Sie die entsprechende Registerkarte aus:

[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

Überprüfen, ob Daten in Azure Data Explorer erfasst werden

Sobald die Konfiguration abgeschlossen ist, sollten Protokolle in Ihrer Azure Data Explorer-Tabelle eingehen.

  1. Führen Sie die folgende Abfrage aus, um zu überprüfen, ob Protokolle erfasst wurden:

    FluentBitLogs
    | count
    
  2. Führen Sie die folgende Abfrage aus, um ein Beispiel für Protokolldaten anzuzeigen:

    FluentBitLogs
    | take 100