Inserire dati di log con Fluentd in Esplora dati di Azure

L'inserimento dei log è il processo di raccolta, trasformazione e preparazione dei dati di log da applicazioni, server, contenitori e servizi cloud, in modo da poter archiviare, analizzare e monitorare i dati di log. I log catturano informazioni, ad esempio errori, avvisi, modelli di utilizzo e prestazioni del sistema. L'inserimento affidabile dei log garantisce che i dati operativi e di sicurezza siano disponibili quasi in tempo reale per la risoluzione dei problemi e le informazioni dettagliate. Questo articolo illustra come inviare i log da Fluentd a Esplora dati di Azure (Kusto), inclusi i passaggi di installazione, configurazione e convalida.

Informazioni generali

Che cos'è Fluentd?

Fluentd è un agente di raccolta dati open source che è possibile usare per unificare la raccolta e il routing dei log in più sistemi. Supporta più di 1.000 plug-in e offre opzioni flessibili per filtrare, memorizzare nel buffer e trasformare i dati. È possibile usare Fluentd in ambienti cloud nativi e aziendali per l'aggregazione e l'inoltro centralizzati dei log.

Che cos'è Esplora dati di Azure?

Esplora dati di Azure (ADX) è un servizio di analisi veloce e completamente gestito ottimizzato per l'analisi in tempo reale di grandi volumi di dati strutturati, semistrutturati e non strutturati. ADX usa KQL (Kusto Query Language) ed è ampiamente usato per la telemetria, il monitoraggio, la diagnostica e l'esplorazione interattiva dei dati.

Prerequisiti

  • Ruby installato nel nodo in cui devono essere inseriti i log. Per installare le dipendenze fluentd tramite gestione pacchetti gem, vedere le istruzioni di installazione di Ruby
  • Accesso a un cluster e a un database di Azure Data Explorer.
  • Applicazione Azure Active Directory con autorizzazioni per l'inserimento dei dati.

Come iniziare a usare Fluentd e Esplora dati di Azure

  1. Installare Fluentd con RubyGems:

    gem install fluentd
    
  2. Installare il plug-in Fluentd Kusto:

    gem install fluent-plugin-kusto
    
  3. Configurare Fluentd creando un file di configurazione ,ad esempio , fluent.confcon il contenuto seguente. Sostituisci i segnaposto con i valori di Azure e plugin.

    <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>
    

Per altre informazioni sulla configurazione e sull'autenticazione, vedere la documentazione del plug-in Fluentd Kusto

  1. Preparare Azure Data Explorer per l’ingestione:

    1. Creare un cluster e un database ADX. Consultare Creare un cluster e un database di Azure Data Explorer.

    2. Creare un'applicazione Azure Active Directory e concedere le autorizzazioni per inserire i dati nel database ADX. Vedere Creare una registrazione dell'applicazione Microsoft Entra in Esplora dati di Azure.

      Annotazioni

      Salvare la chiave dell'app e l'ID applicazione per un uso futuro.

    3. Creare una tabella per l'inserimento dei log. Per esempio:

    .create table LogTable (
      tag:string,
      timestamp:datetime,
      record:dynamic
    )
    
  2. Eseguire Fluentd con il file di configurazione:

    fluentd -c fluent.conf
    
  3. Convalidare l'inserimento dei log in base a:

    1. Controllo del file di log Fluentd, confermando che non sono presenti errori e che le richieste di inserimento vengono inviate correttamente.

      Screenshot del file di log Fluentd che mostra le richieste di inserimento riuscite

    2. Esecuzione di query sulla tabella ADX per assicurarsi che i log vengano inseriti correttamente:

    LogTable
    | take 10
    
  4. Mapping di inserimento: usare i mapping di inserimento predefiniti in Kusto per trasformare i dati nel formato predefinito a 3 colonne nello schema desiderato. Per altre informazioni, vedere Supporto dei mapping di inserimento.