Pozyskiwanie danych za pomocą rozwiązania Fluent Bit do usługi Azure Data Explorer

Fluent Bit to agent typu open source, który zbiera dzienniki, metryki i ślady z różnych źródeł. Umożliwia filtrowanie, modyfikowanie i agregowanie danych zdarzeń przed wysłaniem ich do magazynu. Azure Data Explorer to szybka i wysoce skalowalna usługa eksploracji danych na potrzeby danych dziennika i telemetrycznych. Ten artykuł przeprowadzi Cię przez proces wysyłania danych do usługi Azure Data Explorer przy użyciu biblioteki Fluent Bit.

Ten artykuł obejmuje następujące zagadnienia:

Aby uzyskać pełną listę łączników danych, zobacz Omówienie łączników danych.

Wymagania wstępne

Tworzenie tabeli usługi Azure Data Explorer do przechowywania dzienników

Fluent Bit przekazuje dzienniki do usługi Azure Data Explorer w formacie JSON z trzema właściwościami: log (dynamicznym), tag (ciągiem) i timestamp (datetime).

Dla każdej z tych właściwości można utworzyć tabelę z kolumnami. Alternatywnie, jeśli masz dzienniki strukturalne, możesz utworzyć tabelę z właściwościami dziennika zamapowanymi na kolumny niestandardowe. Aby dowiedzieć się więcej, wybierz odpowiednią kartę.

Aby utworzyć tabelę dla dzienników przychodzących z biblioteki Fluent Bit:

  1. Wybierz bazę danych, w której chcesz utworzyć tabelę.

  2. Uruchom następujące polecenie .create table:

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

    Usługa Azure Data Explorer automatycznie mapuje przychodzące właściwości JSON na poprawną kolumnę.

Rejestrowanie aplikacji Azure AD z uprawnieniami do pozyskiwania danych

Uwierzytelnianie aplikacji usługi Azure Active Directory (Azure AD) jest używane w przypadku aplikacji, które muszą uzyskiwać dostęp do usługi Azure Data Explorer bez obecności użytkownika. Aby pozyskiwać dane przy użyciu usługi Fluent Bit, musisz utworzyć i zarejestrować Azure AD jednostkę usługi, a następnie autoryzować tę jednostkę do pozyskiwania danych do tabeli usługi Azure Data Explorer.

  1. Utwórz rejestrację aplikacji Azure AD.

  2. Zapisz identyfikator aplikacji (klienta),identyfikator katalogu (dzierżawy) i wartość klucza tajnego klienta do użycia w poniższych krokach.

  3. Uruchom następujące polecenie, zastępując <MyDatabase> ciąg nazwą bazy danych:

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

    To polecenie przyznaje aplikacji uprawnienia do pozyskiwania danych do tabeli. Aby uzyskać więcej informacji, zobacz kontrola dostępu oparta na rolach.

Konfigurowanie usługi Fluent Bit w celu wysyłania dzienników do tabeli

Aby skonfigurować usługę Fluent Bit do wysyłania dzienników do tabeli usługi Azure Data Explorer, utwórz plik konfiguracji trybu klasycznego lub trybu YAML z następującymi właściwościami wyjściowymi:

Pole Opis
Nazwa azure_kusto
Dopasowanie Wzorzec zgodny z tagami rekordów przychodzących. Uwzględnia wielkość liter i obsługuje znak star (*) jako symbol wieloznaczny.
Tenant_Id Identyfikator katalogu (dzierżawy) z rejestru aplikacji Azure AD z uprawnieniami do pozyskiwania danych.
Client_Id Identyfikator aplikacji (klienta) z rejestru aplikacji Azure AD z uprawnieniami do pozyskiwania danych.
Client_Secret Wartość klucza tajnego klienta Zarejestruj aplikację Azure AD z uprawnieniami do pozyskiwania danych.
Ingestion_Endpoint Użyj identyfikatora URI pozyskiwania danych znalezionego w Azure Portal w obszarze przeglądu klastra.
Nazwa_bazy_danych Nazwa bazy danych zawierającej tabelę dzienników.
Nazwa_tabeli Nazwa tabeli z tabeli Create an Azure Data Explorer table (Tworzenie tabeli usługi Azure Data Explorer).
Ingestion_Mapping_Reference Nazwa mapowania pozyskiwania z tabeli Create an Azure Data Explorer table (Tworzenie tabeli usługi Azure Data Explorer). Jeśli nie utworzono mapowania pozyskiwania, usuń właściwość z pliku konfiguracji.

Aby wyświetlić przykładowy plik konfiguracji, wybierz odpowiednią kartę:

[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

Sprawdź, czy dane są pozyskiwane do usługi Azure Data Explorer

Po zakończeniu konfiguracji dzienniki powinny pojawić się w tabeli usługi Azure Data Explorer.

  1. Aby sprawdzić, czy dzienniki zostały pozyskane, uruchom następujące zapytanie:

    FluentBitLogs
    | count
    
  2. Aby wyświetlić przykład danych dziennika, uruchom następujące zapytanie:

    FluentBitLogs
    | take 100