Despliegue del Agente de registro para Linux

Puede desplegar ' Agente de registro ' para recoger y enrutar los logs de infraestructura y aplicaciones desde entornos ' Linux ' como ' RHEL8, ' RHEL9, ' Debian y ' Ubuntu a una instancia ' IBM Cloud Logs '. Para obtener más información sobre los entornos Linux compatibles, consulte Agente de registro para entornos sin arranque.

Estas instrucciones son para sistemas Red Hat Linux pero pueden utilizarse para otros servidores basados en Linux RPM.

Complete los siguientes pasos para desplegar un agente en un entorno Linux compatible.

Definir el método de autenticación para el agente

Elija el tipo de identidad y el método de autenticación para el agente. A continuación, cree un perfil de confianza o una clave API. El rol que se requiere para enviar logs a IBM Cloud Logs es Sender.

Puede utilizar un ID de servicio o un perfil de confianza como la identidad que utiliza el agente para autenticarse con el servicio IBM® Cloud Logs. Para obtener más información, consulte Concesión de permisos IAM para la ingestión.

Elija una de estas opciones:

Opción 1: Autenticación mediante un perfil de confianza

Cree un perfil de confianza. Para obtener más información, consulte Generación de un perfil de confianza para la ingestión.

Opción 2: Autenticación mediante una clave API de ID de servicio

Generar una clave de API para la autenticación de ID de servicio. Para obtener más información, consulte Generación de una clave de API para la ingestión.

Descargar los paquetes RPM o DEB necesarios

Complete los pasossiguientes:

  1. Descargue los paquetes RPM o DEB necesarios.

    Para obtener información sobre la versión actual de Agente de registro, consulte las notas de la versión del agente.

  2. Valide la suma de comprobación ejecutando el siguiente comando :

    sha256sum -c <sha256_filename>
    

    Donde <sha256_filename> es el nombre del archivo de descarga *.sha256.

  3. Si está instalando la última versión del agente, el archivo post-config.sh forma parte del paquete RPM o DEB y se encuentra en /opt/fluent-bit/bin/post-config.sh. Si utiliza una versión anterior a 1.6.2, deberá descargar el archivo post-config.sh en este paso.

    Este paso sólo es necesario si se utiliza Agente de registro 1.6.1 o una versión anterior. No se aplica a Agente de registro 1.6.2 ni a versiones posteriores.

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

Configurar y desplegar la configuración Agente de registro

Complete los pasossiguientes:

  1. Inicie sesión en su entorno Linux.

  2. Instale el agente.

    • Para RHEL ejecutar:

      rpm -ivh <rpm_filename>
      
    • Para Debian y Ubuntu ejecutar:

      dpkg -i <deb_filename>
      

    Donde <rpm_filename> o <deb_filename> es el nombre del archivo *.rpm o *.deb descargado.

  3. Ejecute el script de configuración.

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

    Donde

    -t <target_path>

    Especifique la ruta para enviar datos a una instancia de IBM Cloud Logs. Si no se proporciona, el valor por defecto es /logs/v1/singles.

    -a <auth_mode>

    Especifique IAMAPIKey o VSITrustedProfile.

    -k <iam_api_key>

    Especifique la clave de API Cloud Identity and Access Management (necesaria para el modo IAMAPIKey). Asegúrate de seguir las instrucciones de Generar una clave API.

    Para obtener más información sobre Cloud Identity and Access Management Claves API, consulte Gestión de claves API.

    -d <trusted_profile_id>

    Especifique el ID del perfil de confianza (necesario para el modo " VSITrustedProfile "). Si utiliza perfiles de confianza, establezca el ID configurado en Configuración de permisos para la ingestión. Debe crear la instancia con el servicio de metadatos activado y vincular el perfil de confianza a su instancia especificando el ID al crearla. Para más información, consulte Creación de instancias de servidor virtual.

    Para más información sobre los perfiles de confianza, véase " Crear un perfil de confianza.

    --send-directly-to-icl Obsoleto

    Establezca este parámetro para enviar los registros directamente a IBM Cloud Logs.

    -h <target_host>

    El host para la ingestión de IBM Cloud Logs, que se encuentra en la sección Endpoints de su instancia IBM Cloud Logs Overview. Utilice el punto final de entrada. Para obtener más información, consulte Puntos finales de entrada

    -i <IAM_environment>

    Especifica si se utiliza un endpoint público o privado para la autenticación IAM. Production indica que se utilice el endpoint público. PrivateProduction indica que se utilice el endpoint privado. Production ' es el valor por defecto.

    Si su sistema no tiene acceso a la Internet pública, debe utilizar " PrivateProduction " para utilizar el punto final privado.

    -p <target_port>

    Utilice 443 para enviar los registros directamente a IBM Cloud Logs.

    -s <vsi_secure_access_enabled>

    (Opcional) Establézcalo en true si tiene activado el acceso seguro en su VSI. Se configurará por defecto en false. Por ejemplo, -s true.

    --application-name <name>

    El nombre de la aplicación define el entorno que produce y envía los registros a IBM Cloud Logs. Si no se proporciona, el valor por defecto es ${HOSTNAME}.

    --subsystem-name <name>

    El nombre del subsistema es el servicio o la aplicación que produce y envía los registros a IBM Cloud Logs. Si no se proporciona, el valor por defecto es not-found.

    Ejecute el script para actualizar la configuración con sus cambios de parámetros.

Agente de registro configuración por defecto

Agente de registro viene con una configuración predeterminada que incluye una fuente de entrada y filtros predefinidos. Esta configuración predeterminada está configurada para recopilar registros de ubicaciones comunes y enriquecerlos con metadatos básicos.

Fuente de entrada por defecto

Agente de registro está preconfigurado para supervisar los archivos de registro del directorio /var/log/ y sus subdirectorios. A continuación se muestra un ejemplo de la página por defecto 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

Filtros predeterminados

La configuración por defecto incluye dos filtros que mejoran los registros con metadatos y los organizan para facilitar su procesamiento:

  • Modificar filtro: Añade campos de metadatos como nombre de subsistema, nombre de aplicación, nombre de host y plataforma.

  • Filtro nido: Agrupa los campos de metadatos bajo una única clave meta.

A continuación se muestra un ejemplo de la página por defecto 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.

Agente de registro personalización de la configuración

Estos valores predeterminados proporcionan una base para la recopilación y el enriquecimiento de registros. Para configurar el agente según sus necesidades, puede modificar los archivos inputs.conf, filters.conf, y outputs.conf ubicados en el directorio /etc/fluent-bit/.

Añadir campos de metadatos adicionales

Puede añadir campos de metadatos adicionales a los registros enrutados.

Complete los pasossiguientes:

  1. Edite el archivo fluent-bit.conf en la carpeta /etc/fluent-bit/.

  2. Añada sus metadatos personalizados utilizando esta estructura: ' 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
    

    Donde

    • '<meta.key_name> ' es el nombre del campo de metadatos que se va a añadir (por ejemplo, ' meta.env) y ' <your_custom_value> es el valor que se va a asignar al campo (por ejemplo, el nombre de su entorno).

    Por ejemplo, si desea añadir la dirección region como metadatos, o la versión como nuevo campo, la configuración sería similar a ésta:

    [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. Guarde el archivo de configuración.

  4. Reinicie el agente para aplicar los cambios.

    systemctl daemon-reload && systemctl restart fluent-bit
    

Incluir o excluir archivos

Debe configurar los archivos de registro que supervisa el Agente de registro.

Complete los pasossiguientes:

  1. Edite el archivo fluent-bit.conf en la carpeta /etc/fluent-bit/.

  2. Modifica la sección ENTRADA.

    Establezca la Ruta con los directorios y archivos que desea supervisar.

    Establezca Exclude_Path con los directorios y archivos que desea excluir de la supervisión.

    [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. Modificar la sección SERVICIO.

    Establezca la storage.path en una ubicación del sistema de archivos para almacenar transmisiones y datos.

  4. Guarde el archivo de configuración.

  5. Reinicie el agente para aplicar los cambios.

    systemctl daemon-reload && systemctl restart fluent-bit
    

Compruebe que los registros se envían al destino deseado

Complete los pasossiguientes:

  1. Vaya a la interfaz de usuario web de su instancia IBM Cloud Logs..

  2. Cuando su agente está correctamente configurado, puede ver los registros a través de la vista predeterminada del panel de control.

    Por ejemplo, si establece el nombre de applicationName como el nombre del host en su agente, puede establecer el filtro de nombre de la aplicación en una vista como el nombre de su host.

Actualización del agente

Puede actualizar el agente descargando los paquetes de agente deseados y ejecutando el comando apropiado para su entorno. Para obtener información sobre la versión actual de Agente de registro, consulte las notas de la versión del agente.

  • Para RHEL ejecutar:

    rpm -Uvh <rpm_filename>
    
  • Para Debian y Ubuntu ejecutar:

    dpkg -i <deb_filename>
    

Donde <rpm_filename> o <deb_filename> es el nombre del archivo *.rpm o *.deb descargado.

Al reinstalar o actualizar el agente, los archivos de configuración existentes no se modifican.

Reinicie el servicio después de la actualización:

systemctl daemon-reload && systemctl restart fluent-bit

Desinstalación del agente

Puede eliminar un agente instalado ejecutando el comando correspondiente desde un terminal como usuario sudo.

  • Para RHEL, CentOS, y Fedora Linux ejecutar:

    sudo yum erase draios-agent
    
  • Para Debian y Ubuntu ejecutar:

    sudo apt-get remove draios-agent