Distribuzione del Agent di registrazione per Linux

È possibile distribuire il Agent di registrazione per raccogliere e instradare i log dell'infrastruttura e delle applicazioni da ambienti Linux come RHEL8, RHEL9, Debian e Ubuntu a un'istanza IBM Cloud Logs. Per ulteriori informazioni sugli ambienti Linux supportati, vedere Agent di registrazione per gli ambienti non avviati.

Queste istruzioni si riferiscono ai sistemi Red Hat Linux, ma possono essere utilizzate per altri server basati su Linux RPM.

Completare i seguenti passaggi per distribuire un agente in un ambiente Linux supportato.

Definire il metodo di autenticazione per l'agente

Scegliere il tipo di identità e il metodo di autenticazione per l'agente. Quindi, creare un profilo di fiducia o una chiave API. Il ruolo richiesto per l'invio dei registri a IBM Cloud Logs è Sender.

È possibile utilizzare un ID di servizio o un profilo attendibile come identità utilizzata dall'agente per autenticarsi con il servizio IBM® Cloud Logs. Per ulteriori informazioni, vedere Concessione di autorizzazioni IAM per l'ingestione.

Scegli una delle seguenti opzioni:

Opzione 1: Autenticazione tramite un profilo di fiducia

Creare un profilo di fiducia. Per ulteriori informazioni, vedere Generazione di un profilo attendibile per l'ingestione.

Opzione 2: Autenticazione tramite chiave API dell'ID del servizio

Generare una chiave API per l'autenticazione dell'ID del servizio. Per ulteriori informazioni, vedere Generazione di una chiave API per l'ingestione.

Scaricare i pacchetti RPM o DEB necessari

Completa i seguenti passi:

  1. Scaricare i pacchetti RPM o DEB necessari.

    Per informazioni sulla versione corrente di Agent di registrazione, consultare le note di rilascio dell'agente.

  2. Convalidare il checksum eseguendo il seguente comando:

    sha256sum -c <sha256_filename>
    

    Dove <sha256_filename> è il nome del file da scaricare *.sha256.

  3. Se si sta installando l'ultima versione dell'agente, il file post-config.sh fa parte del pacchetto RPM o DEB e si trova all'indirizzo /opt/fluent-bit/bin/post-config.sh. Se si utilizza una versione precedente a 1.6.2, è necessario scaricare il file post-config.sh utilizzando questo passaggio.

    Questo passaggio è necessario solo se si utilizza il sito Agent di registrazione 1.6.1 o precedenti. Non si applica al sito Agent di registrazione 1.6.2 o alle versioni successive.

    wget https://logs-router-agent-config.s3.us.cloud-object-storage.appdomain.cloud/post-config.sh
    
    chmod +x post-config.sh
    

Impostare e distribuire la configurazione di Agent di registrazione

Completa i seguenti passi:

  1. Accedere all'ambiente Linux.

  2. Installare l'agent.

    • Per RHEL eseguire:

      rpm -ivh <rpm_filename>
      
    • Per Debian e Ubuntu eseguire:

      dpkg -i <deb_filename>
      

    Dove <rpm_filename> o <deb_filename> è il nome del file *.rpm o *.deb scaricato.

  3. Esegui lo script di configurazione.

    /opt/fluent-bit/bin/post-config.sh -h <target_host> -p <target_port> [-t <target_path>] -a <auth_mode> -k <iam_api_key> [-s <vsi_secure_access_enabled>] [-i <IAM_environment>] [--subsystem-name <name>] [--application-name <name>]
    

    Dove

    -t <target_path>

    Specificare il percorso per inviare i dati a un'istanza di IBM Cloud Logs. Se non viene fornito, il valore predefinito è /logs/v1/singles.

    -a <auth_mode>

    Specificare IAMAPIKey o VSITrustedProfile.

    -k <iam_api_key>

    Specificare la chiave API Cloud Identity and Access Management (necessaria per la modalità IAMAPIKey). Assicurarsi di seguire le istruzioni riportate in Generazione di una chiave API.

    Per ulteriori informazioni sulle Cloud Identity and Access Management chiavi API, vedere Gestione delle chiavi API.

    -d <trusted_profile_id>

    Specificare l'ID del profilo attendibile (richiesto per la modalità " VSITrustedProfile ). Quando si usano profili affidabili, impostare l'ID configurato in Impostazione delle autorizzazioni per l'ingestion. È necessario creare l'istanza con il servizio di metadati abilitato e collegare il profilo di fiducia all'istanza specificando l'ID al momento della creazione. Per ulteriori informazioni, vedere Creazione di istanze di server virtuali.

    Per ulteriori informazioni sui profili di fiducia, vedere Creazione di un profilo di fiducia.

    --send-directly-to-icl Deprecato

    Impostare questo parametro per inviare i registri direttamente a IBM Cloud Logs.

    -h <target_host>

    L'host per l'ingestione di IBM Cloud Logs, che si trova nella sezione Endpoints dell'istanza IBM Cloud Logs Overview. Utilizzare l'endpoint di ingresso. Per ulteriori informazioni, vedere Endpoint di ingresso

    -i <IAM_environment>

    Specifica se per l'autenticazione IAM viene utilizzato un endpoint pubblico o privato. Production indica l'utilizzo dell'endpoint pubblico. PrivateProduction indica l'uso dell'endpoint privato. Production è il valore predefinito.

    Se il vostro sistema non ha accesso a Internet pubblico, dovete usare 'PrivateProduction per usare l'endpoint privato.

    -p <target_port>

    Usare 443 per inviare i registri direttamente a IBM Cloud Logs.

    -s <vsi_secure_access_enabled>

    (Facoltativo) Impostare questo valore su true se si è abilitato l'accesso sicuro nel VSI. L'impostazione predefinita è false. Ad esempio, -s true.

    --application-name <name>

    Il nome dell'applicazione definisce l'ambiente che produce e invia i log a IBM Cloud Logs. Se non viene fornito, il valore predefinito è ${HOSTNAME}.

    --subsystem-name <name>

    Il nome del sottosistema è il servizio o l'applicazione che produce e invia i log a IBM Cloud Logs. Se non viene fornito, il valore predefinito è not-found.

    Eseguire lo script per aggiornare la configurazione con le modifiche dei parametri.

Agent di registrazione configurazione predefinita

Agent di registrazione viene fornito con una configurazione predefinita che include una sorgente di ingresso e filtri predefiniti. Questa configurazione predefinita è configurata per raccogliere i log da posizioni comuni e arricchirli con metadati di base.

Sorgente di ingresso predefinita

Agent di registrazione è preconfigurato per monitorare i file di log nella directory /var/log/ e nelle sue sottodirectory. Di seguito è riportato un esempio del sito predefinito inputs.conf:

[INPUT]
  Name              tail
  Tag               host.*
  Path              /var/log/**/*.log
  Path_Key          file
  Exclude_Path      /var/log/at/**
  DB                /var/lib/fluent-bit/fluent-bit.DB
  Buffer_Chunk_Size 32KB
  Buffer_Max_Size   256KB
  Mem_Buf_Limit     30MB
  Skip_Long_Lines   On
  Refresh_Interval  10
  storage.type      filesystem
  storage.pause_on_chunks_overlimit on

Filtri predefiniti

La configurazione predefinita include due filtri che arricchiscono i record di log con metadati e li organizzano per facilitarne l'elaborazione:

  • Modifica filtro: Aggiunge campi di metadati come il nome del sottosistema, il nome dell'applicazione, il nome dell'host e la piattaforma.

  • Filtro nido: Raggruppa i campi dei metadati sotto un'unica chiave meta.

Di seguito è riportato un esempio del sito predefinito filters.conf:

[FILTER]
  Name modify
  Match *
  Add subsystemName    ${SUBSYSTEM_NAME}
  Add applicationName  ${APPLICATION_NAME}
  Add meta.hostname    ${HOSTNAME}
  Add meta.environment prod   # Sample values: prod, staging, dev, qa
  Add meta.platform    linux

[FILTER]
  Name nest
  Match *
  Operation nest
  Wildcard meta.*
  Nest_under meta
  Remove_prefix meta.

Agent di registrazione personalizzazione della configurazione

Queste impostazioni predefinite forniscono una base per la raccolta e l'arricchimento dei registri. Per configurare l'agente in base alle proprie esigenze, è possibile modificare i file inputs.conf, filters.conf e outputs.conf che si trovano nella directory /etc/fluent-bit/.

Aggiungere ulteriori campi di metadati

È possibile aggiungere ulteriori campi di metadati ai registri instradati.

Completa i seguenti passi:

  1. Modificare il file fluent-bit.conf nella cartella /etc/fluent-bit/.

  2. Aggiungere i metadati personalizzati utilizzando la struttura: 'Add <meta.key_name> <your_custom_value>

    [FILTER]
      Name modify
      Match *
      Add subsystemName    ${SUBSYSTEM_NAME}
      Add applicationName  ${APPLICATION_NAME}
      Add meta.hostname    ${HOSTNAME}
      Add meta.env         prod   # Sample values: prod, staging, dev, qa
      Add meta.platform    linux
    

    Dove

    • <meta.key_name> è il nome del campo di metadati da aggiungere (ad esempio, 'meta.env) e '<your_custom_value> è il valore da assegnare al campo (ad esempio, il nome dell'ambiente).

    Ad esempio, se si vuole aggiungere region come metadato o la versione come nuovo campo, la configurazione sarà simile a questa:

    [FILTER]
      Name modify
      Match *
      Add subsystemName    ${SUBSYSTEM_NAME}
      Add applicationName  ${APPLICATION_NAME}
      Add meta.hostname    ${HOSTNAME}
      Add meta.env         prod
      Add meta.platform    linux
      Add meta.region      us-east
      Add version          my-version
    
  3. Salva il file di configurazione.

  4. Riavviare l'agente per applicare le modifiche.

    systemctl daemon-reload && systemctl restart fluent-bit
    

Includere o escludere i file

È necessario configurare i file di log che il Agent di registrazione monitora.

Completa i seguenti passi:

  1. Modificare il file fluent-bit.conf nella cartella /etc/fluent-bit/.

  2. Modificare la sezione INPUT.

    Impostare il percorso con le directory e i file che si desidera monitorare.

    Impostare il Percorso_Escluso con le directory e i file che si desidera escludere dal monitoraggio.

    [INPUT]
      Name              tail
      Tag               *
      Path              /var/log/*.log
      Path_Key          file
      Exclude_Path      /var/log/audit.log
      DB                /var/lib/fluent-bit/fluent-bit.DB
      Buffer_Chunk_Size 32KB
      Buffer_Max_Size   256KB
      Skip_Long_Lines   On
      Refresh_Interval  10
      storage.type      filesystem
      storage.pause_on_chunks_overlimit on
    
  3. Modificare la sezione SERVICE.

    Impostare storage.path in una posizione del file system per memorizzare flussi e dati.

  4. Salva il file di configurazione.

  5. Riavviare l'agente per applicare le modifiche.

    systemctl daemon-reload && systemctl restart fluent-bit
    

Verificare che i registri vengano consegnati alla destinazione di destinazione

Completa i seguenti passi:

  1. Andare all'interfaccia web della propria istanza IBM Cloud Logs.

  2. Quando l'agente è configurato correttamente, è possibile visualizzare i registri attraverso la vista predefinita del dashboard.

    Ad esempio, se si imposta applicationName sul nome dell'host nell'agente, è possibile impostare il filtro Applicationname in una vista sul nome dell'host.

Aggiornamento dell'agente

È possibile aggiornare l'agente scaricando i pacchetti desiderati ed eseguendo il comando appropriato per il proprio ambiente. Per informazioni sulla versione corrente di Agent di registrazione, consultare le note di rilascio dell'agente.

  • Per RHEL eseguire:

    rpm -Uvh <rpm_filename>
    
  • Per Debian e Ubuntu eseguire:

    dpkg -i <deb_filename>
    

Dove <rpm_filename> o <deb_filename> è il nome del file *.rpm o *.deb scaricato.

Quando si reinstalla o si aggiorna l'agente, i file di configurazione esistenti rimangono invariati.

Riavviare il servizio dopo l'aggiornamento:

systemctl daemon-reload && systemctl restart fluent-bit

Disinstallazione dell'agent

È possibile rimuovere un agente installato eseguendo il comando appropriato da un terminale come utente sudo.

  • Per RHEL, CentOS, e Fedora Linux:

    sudo yum erase draios-agent
    
  • Per Debian e Ubuntu eseguire:

    sudo apt-get remove draios-agent