Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Collect container logs from ACK clusters (DaemonSet)

Última actualización: Sep 14, 2026

ACK se integra estrechamente con Simple Log Service y proporciona un componente de recopilación de registros que simplifica la recolección y gestión de los registros de contenedores. En este tema se explica cómo instalar el componente de recopilación de registros y configurar la recopilación para recopilar, consultar y analizar sus registros automáticamente. Estas funciones mejoran la eficiencia operativa y reducen los costos de gestión.

Casos de uso

El componente de recopilación de registros recopila los registros de contenedores de dos maneras:

  • DaemonSet: Este método es adecuado para clústeres con cargas de trabajo de propósito único y registros claramente categorizados. Para obtener más información, consulte este tema.

  • Sidecar: Más indicado para clústeres heterogéneos y a gran escala. Para obtener más información, consulte Collect container text logs from a Kubernetes cluster by using a sidecar.

Para comparar ambos métodos de recopilación, consulte Collection methods. Para conocer los detalles sobre la facturación de Log Service, consulte Billing overview.

Índice

Pasos

Detalles

Paso 1: Instalar un componente de recopilación de registros

Instale uno de los siguientes componentes de recopilación de registros.

  • Install LoongCollector (recommended)

    LoongCollector es el agente de recopilación de nueva generación de SLS y representa una actualización de Logtail.
  • Install Logtail

    Logtail es un agente que recopila registros de Kubernetes. Puede recopilar diversos tipos de registros de contenedores estándar y clústeres de Kubernetes.

Paso 2: Crear una configuración de recopilación

Según sus necesidades, puede recopilar registros de texto o la salida estándar.

  • Collect text logs

    Los registros de texto son archivos de registro generados por programas dentro de un contenedor y guardados en un directorio específico. Este método es ideal para análisis a largo plazo o solución de problemas.
  • Collect standard output

    La salida estándar (stdout) proporciona registros en tiempo real de una aplicación que se ejecuta en un contenedor. Este método es ideal para depurar programas e identificar problemas rápidamente.

Paso 3: Consultar y analizar registros

Consulte y analice los registros en la consola.

Paso 1: Instalar un componente de recopilación de registros

LoongCollector (recomendado)

LoongCollector (formerly Logtail): El agente de recopilación de registros de nueva generación de Simple Log Service. Despliéguelo en servidores, nodos de Kubernetes o hosts de Docker para recopilar registros de archivos sin modificar el código de la aplicación. Es retrocompatible con Logtail y ofrece un rendimiento mejorado.

Instalación en un clúster administrado de ACK existente

  1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

  2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Components and Add-ons .

  3. En la pestaña Logs and Monitoring, busque loongcollector y haga clic en Install.

  4. Después de la instalación, Simple Log Service (SLS) crea automáticamente los siguientes recursos en la región del clúster de ACK. Puede consultarlos en la consola de Simple Log Service (SLS).

    Tipo de recurso

    Nombre del recurso

    Propósito

    Project

    k8s-log-${cluster_id}

    Aísla los registros de distintos servicios.

    Machine group

    k8s-group-${cluster_id}

    El grupo de máquinas para loongcollector-ds, utilizado para la recopilación de registros.

    k8s-group-${cluster_id}-cluster

    El grupo de máquinas para loongcollector-cluster, utilizado para la recopilación de métricas.

    k8s-group-${cluster_id}-singleton

    Un grupo de máquinas para configuraciones específicas de recopilación de instancia única.

    Importante

    El componente LoongCollector no crea un logstore llamado config-operation-log. Si este logstore ya existe, LoongCollector no escribirá registros en él.

Logtail

Logtail-based data collection: Logtail es un agente de recopilación de registros proporcionado por Simple Log Service. Con Logtail puede recopilar registros de múltiples fuentes de datos, como instancias de Alibaba Cloud Elastic Compute Service (ECS), servidores en centros de datos y servidores de proveedores de servicios en la nube de terceros. Logtail admite la recopilación de registros no intrusiva basada en archivos de registro. No necesita modificar el código de su aplicación y la recopilación de registros no afecta el funcionamiento de sus aplicaciones.

Instalación de componentes de Logtail en un clúster de ACK existente

  1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

  2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Components and Add-ons .

  3. En la pestaña Logs and Monitoring de la página de complementos, busque el componente logtail-ds y haga clic en Install.

Instalación de componentes de Logtail al crear un clúster de ACK

  1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

  2. En la página de clústeres, haga clic en Create Kubernetes Cluster. En el paso Component Configurations del asistente, seleccione Enable Log Service.

    Este tema describe únicamente los ajustes relacionados con Simple Log Service. Para obtener más información sobre otros ajustes, consulte Create an ACK managed cluster.

    Después de seleccionar Enable Log Service, el sistema le solicitará crear un proyecto de Simple Log Service. Puede usar uno de los siguientes métodos para crear un proyecto:

    • Select Project

      Seleccione un proyecto existente para gestionar los registros de contenedores recopilados.

      Install Logtail components

    • Create Project

      Simple Log Service crea automáticamente un proyecto para gestionar los registros de contenedores recopilados. ClusterID indica el identificador único del clúster de Kubernetes creado.

      Install Logtail components

Importante

En el paso Component Configurations del asistente, Enable está seleccionado de forma predeterminada para el parámetro Control Plane Component Logs. Si Enable está seleccionado, el sistema configura automáticamente los ajustes de recopilación y recopila los registros de los componentes del plano de control de un clúster. Los registros recopilados se facturan según el método de facturación pay-as-you-go. Puede decidir si selecciona Enable según sus requisitos empresariales. Para obtener más información, consulte Collect logs of control plane components in ACK managed clusters.image

Una vez instalados los componentes de Logtail, Simple Log Service genera automáticamente un proyecto llamado k8s-log-<YOUR_CLUSTER_ID> y los recursos correspondientes dentro de ese proyecto. Inicie sesión en la consola de Simple Log Service para consultar los recursos.

Tipo de recurso

Nombre del recurso

Descripción

Ejemplo

Machine group

k8s-group-<YOUR_CLUSTER_ID>

El grupo de máquinas de logtail-daemonset, que se utiliza en escenarios de recopilación de registros.

k8s-group-my-cluster-123

k8s-group-<YOUR_CLUSTER_ID>-statefulset

El grupo de máquinas de logtail-statefulset, que se utiliza en escenarios de recopilación de métricas.

k8s-group-my-cluster-123-statefulset

k8s-group-<YOUR_CLUSTER_ID>-singleton

El grupo de máquinas de una sola instancia, que se utiliza para crear una configuración de Logtail para dicha instancia.

k8s-group-my-cluster-123-singleton

Logstore

config-operation-log

El logstore se utiliza para almacenar los registros del componente alibaba-log-controller. Se recomienda no crear una configuración de Logtail para este logstore. Puede eliminar el logstore. Una vez eliminado, el sistema dejará de recopilar los registros operativos del componente alibaba-log-controller. La facturación de este logstore se realiza de la misma manera que para los logstores normales. Para obtener más información, consulte Billable items for the pay-by-ingested-data model.

Ninguna

Paso 2: Crear la configuración de recopilación

Recopilar registros de texto

Existen cuatro métodos para crear una configuración de LoongCollector. Se recomienda usar un solo método para gestionar sus configuraciones.

Método de configuración

Descripción de la configuración

Escenario

CRD - AliyunPipelineConfig (recomendado)

La definición de recurso personalizado (CRD) AliyunPipelineConfig es un CRD de Kubernetes que le permite gestionar una configuración de LoongCollector.

Este método es adecuado para escenarios que requieren una recopilación y un procesamiento complejos. También garantiza la coherencia de versiones entre la configuración de LoongCollector y el contenedor de LoongCollector en un clúster ACK.

CRD - AliyunLogConfig

El CRD AliyunLogConfig es una versión anterior del CRD que sirve para gestionar una configuración de LoongCollector.

Utilice este método en escenarios conocidos donde las configuraciones de LoongCollector se puedan gestionar con el CRD de la versión anterior.

Sustituya gradualmente el CRD AliyunLogConfig por el CRD AliyunPipelineConfig para obtener mejor extensibilidad y estabilidad. Para más información sobre las diferencias entre los métodos CRD - AliyunPipelineConfig y CRD - AliyunLogConfig, consulte CRDs.

Consola de Simple Log Service

Gestione una configuración de LoongCollector desde la interfaz gráfica mediante un despliegue y una configuración rápidos.

Más indicado para escenarios que solo requieren ajustes sencillos al gestionar una configuración de LoongCollector. Si usa este método, no podrá utilizar ciertas funciones avanzadas ni configuraciones personalizadas.

Variable de entorno

Las variables de entorno permiten configurar de manera eficiente los parámetros necesarios para gestionar una configuración de LoongCollector.

Las variables de entorno solo sirven para establecer ajustes sencillos, ya que no admiten lógica de procesamiento compleja. Únicamente son compatibles con registros de texto de una sola línea. Con ellas puede crear una configuración de LoongCollector que cumpla los siguientes requisitos:

  • Recopilar datos de varias aplicaciones en un mismo logstore.

  • Recopilar datos de varias aplicaciones en distintos proyectos.

Nota

Si utiliza el método (Recomendado) CRD-AliyunPipelineConfig, la versión del componente logtail-ds debe ser la 1.8.10 o posterior. Para conocer los detalles de la actualización, consulte Upgrade Logtail to the latest version. Este requisito de versión no aplica al componente LoongCollector.

CRD - AliyunPipelineConfig (recomendado)

Para crear una configuración de LoongCollector, basta con crear un recurso personalizado (CR) a partir del CRD AliyunPipelineConfig. Una vez creado el CR, la configuración de LoongCollector entra en vigor.

Importante

Si crea una configuración de LoongCollector mediante un CR y desea modificarla, únicamente puede hacerlo editando dicho CR. Los cambios que aplique en la consola de Simple Log Service no se sincronizarán con el CR.

  1. Inicie sesión en la consola de ACK.

  2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, seleccione Workloads > Custom Resources.

  3. En la página Custom Resources, haga clic en la pestaña CRDs y luego en Create from YAML.

  4. Modifique los parámetros del siguiente ejemplo de YAML según sus necesidades, copie y pegue el contenido en la plantilla, y haga clic en Create.

    El archivo YAML recopila los registros del archivo test.LOG, ubicado en el directorio /data/logs/app_1 de los pods etiquetados con app: ^(.*test.*)$. Estos registros se envían al logstore k8s-file, que se crea automáticamente en el proyecto k8s-log-<YOUR_CLUSTER_ID>. Modifique los siguientes parámetros del archivo YAML según sea necesario:

    • project: por ejemplo, k8s-log-<YOUR_CLUSTER_ID>.

      Inicie sesión en la consola de Simple Log Service. Compruebe el nombre del proyecto generado tras instalar LoongCollector.

    • IncludeK8sLabel: etiqueta que filtra los pods. Por ejemplo, app: ^(.*test.*)$. En este caso, se recopilan los pods cuya clave de etiqueta es app y cuyo valor contiene test.

      Nota

      Si desea recopilar todos los pods del clúster cuyo nombre contenga test, sustituya el parámetro IncludeK8sLabel por K8sContainerRegex y use comodines para especificar su valor. Por ejemplo: K8sContainerRegex: ^(. test.) $.

    • FilePaths: por ejemplo, /data/logs/app_1/**/test.LOG. Para más información, consulte File path mapping for containers.

    • Endpoint y Region (ID de región): como ejemplo del parámetro Endpoint tenemos cn-hangzhou.log.aliyuncs.com. Para el parámetro Region, un ejemplo sería cn-hangzhou.

    El valor del parámetro config incluye los tipos de complementos de entrada, salida y procesamiento, así como los métodos de filtrado de contenedores. Para más información, consulte PipelineConfig. Si necesita conocer todos los parámetros del archivo YAML, consulte CR parameters.

    apiVersion: telemetry.alibabacloud.com/v1alpha1
    kind: ClusterAliyunPipelineConfig
    metadata:
      # Specify the name of the resource. The name must be unique in the current Kubernetes cluster. The name is the same as the name of the created LoongCollector configuration. If the resource name already exists, the name does not take effect. 
      name: example-k8s-file
    spec:
      # Specify the name of the project.
      project:
        name: k8s-log-<YOUR_CLUSTER_ID>
      logstores:
        # Create a Logstore named k8s-file.
        - name: k8s-file
      # Create a LoongCollector configuration.
      config:
        # Enter a sample log. You can leave this parameter empty.
        sample: |
          2024-06-19 16:35:00 INFO test log
          line-1
          line-2
          end
        # Specify the input plug-in.
        inputs:
          # Use the input_file plug-in to collect multi-line text logs from containers.
          - Type: input_file
            # Specify the file path in the containers.
            FilePaths:
              - /data/logs/app_1/**/test.LOG
            # Enable the container discovery feature. 
            EnableContainerDiscovery: true
            # Add conditions to filter containers. Multiple conditions are evaluated by using a logical AND. 
            CollectingContainersMeta: true
            ContainerFilters:
              # Specify the namespace of the pods to which the required containers belong. Regular expression matching is supported. 
              K8sNamespaceRegex: default
              # Specify the name of the required containers. Regular expression matching is supported. 
              IncludeK8sLabel:
                app: ^(.*app.*)$
            # Enable multi-line log collection. If you want to collect single-line logs, delete this parameter.
            Multiline:
              # Specify the custom mode to match the beginning of the first line of a log based on a regular expression.
              Mode: custom
              # Specify the regular expression that is used to match the beginning of the first line of a log.
              StartPattern: '\d+-\d+-\d+\s\d+:\d+:\d+'
        # Specify the processing plug-in.
        processors:
          # Use the processor_parse_regex_native plug-in to parse logs based on the specified regular expression.
          - Type: processor_parse_regex_native
            # Specify the name of the original field.
            SourceKey: content
            # Specify the regular expression that is used for parsing. Use capturing groups to extract fields.
            Regex: (\d+-\d+-\d+\s\S+)(.*)
            # Specify the fields that you want to extract.
            Keys: ["time", "detail"]
        # Specify the output plug-in.
        flushers:
          # Use the flusher_sls plug-in to deliver logs to a specific Logstore. 
          - Type: flusher_sls
            # Make sure that the logstore exists.
            Logstore: k8s-file
            # Make sure that the endpoint is valid.
            Endpoint: cn-beijing.log.aliyuncs.com
            Region: cn-beijing
            TelemetryType: logs

CRD - AliyunLogConfig

Para crear una configuración de LoongCollector, basta con crear un CR a partir del CRD AliyunLogConfig. Una vez creado el CR, la configuración de LoongCollector entra en vigor.

Importante

Si crea una configuración de LoongCollector mediante un CR y desea modificarla, únicamente puede hacerlo editando dicho CR. Los cambios que aplique en la consola de Simple Log Service no se sincronizarán con el CR.

  1. Inicie sesión en la consola de ACK.

  2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, seleccione Workloads > Custom Resources.

  3. En la página Custom Resources, haga clic en la pestaña CRDs y luego en Create from YAML.

  4. Modifique los parámetros del siguiente ejemplo de YAML según sus necesidades, copie y pegue el contenido en la plantilla, y haga clic en Create.

    El archivo YAML crea una configuración de LoongCollector llamada example-k8s-file. Esta configuración recopila en modo simple el contenido de test.LOG desde la ruta /data/logs/app_1 para todos los contenedores del clúster cuyo nombre comience con app. Los datos recopilados se envían al logstore k8s-file, creado automáticamente en el proyecto k8s-log-<YOUR_CLUSTER_ID>.

    Modifique la ruta del archivo de registro del ejemplo según sea necesario. Para más información, consulte File path mapping for containers.

    • logPath: ruta del archivo de registro. Por ejemplo, /data/logs/app_1.

    • filePattern: nombre del archivo del cual desea recopilar registros. Por ejemplo, test.LOG.

    El parámetro Config define los detalles de LoongCollector, como los tipos de complementos de entrada, salida y procesamiento, además de los métodos de filtrado de contenedores. Para más información, consulte Use AliyunLogConfig to manage a Logtail configuration. Si necesita conocer todos los parámetros del archivo YAML, consulte Use AliyunLogConfig to manage a Logtail configuration.

    apiVersion: log.alibabacloud.com/v1alpha1
    kind: AliyunLogConfig
    metadata:
      # Specify the name of the resource. The name must be unique in the current Kubernetes cluster. 
      name: example-k8s-file
      # Specify the namespace to which the resource belongs. 
      namespace: kube-system
    spec:
      # Specify the name of the project. If you leave this parameter empty, the project named k8s-log-<your_cluster_id> is used.
      # project: k8s-log-test
      # Specify the name of the logstore. If the specified logstore does not exist, Simple Log Service automatically creates a logstore. 
      logstore: k8s-file
      # Create a LoongCollector configuration. 
      logtailConfig:
        # Specify the type of the data source. If you want to collect text logs, set the value to file. 
        inputType: file
        # Specify the name of the LoongCollector configuration. The name must be the same as the resource name that is specified by metadata.name. 
        configName: example-k8s-file
        inputDetail:
          # Specify the settings that allow LoongCollector to collect text logs in simple mode. 
          logType: common_reg_log
          # Specify the log file path. 
          logPath: /data/logs/app_1
          # Specify the log file name. You can use wildcard characters such as asterisks (*) and question marks (?) when you specify the log file name. Example: log_*.log. 
          filePattern: test.LOG
          # If you want to collect text logs from containers, set the value to true. 
          dockerFile: true
          # Enable multi-line log collection. If you want to collect single-line logs, delete this parameter.
          # Specify the regular expression to match the beginning of the first line of a log. 
          logBeginRegex: \d+-\d+-\d+.*
          # Specify the conditions to filter containers. 
          advanced:
            k8s:
              K8sPodRegex: '^(app.*)$'

Consola de Simple Log Service

Nota

Este método es ideal cuando necesita gestionar una configuración de LoongCollector con ajustes sencillos sin iniciar sesión en un clúster de Kubernetes. No permite crear configuraciones de LoongCollector por lotes.

  1. Inicie sesión en la consola de Simple Log Service.

  2. En la sección Projects, haga clic en el proyecto que utilizó para instalar los componentes de LoongCollector. Por ejemplo, k8s-log-<YOUR_CLUSTER_ID>. En la página que aparece, haga clic en el icono > del logstore deseado y luego en Logtail Configurations. En la página Logtail Configuration, haga clic en Add Logtail Configuration. En el cuadro de diálogo Quick Data Import, busque la tarjeta Kubernetes - File y haga clic en Integrate Now.image

  3. En el paso Machine Group Configurations del asistente Import Data, establezca el parámetro Scenario en Kubernetes Clusters y Deployment Method en ACK Daemonset. Seleccione el grupo de máquinas k8s-group-${your_k8s_cluster_id} y haga clic en el icono > para moverlo de la sección Source Machine Group a la sección Applied Server Groups. A continuación, haga clic en Next.image

  4. Cree una configuración de LoongCollector. En el paso Logtail Configuration del asistente Import Data, configure los parámetros obligatorios y haga clic en Next. La creación tarda aproximadamente 1 minuto. A continuación se describen los ajustes principales de los parámetros. Para más información, consulte Create a Logtail configuration.

    • Global Configurations

      En la sección Global Configurations, configure el parámetro Configuration Name.

      image

    • Input Configurations

      • Logtail Deployment Mode: modo de despliegue de LoongCollector. Seleccione Daemonset.

      • File Path Type: tipo de ruta de archivo que usará para recopilar registros. Valores válidos: Path in Container y Host Path. Si montó un volumen hostPath en un contenedor y desea recopilar registros usando la ruta mapeada en el host, establezca este parámetro en Host Path. En los demás casos, establézcalo en Path in Container.

      • File Path: directorio donde se almacenan los registros que desea recopilar. La ruta debe comenzar con una barra diagonal (/). En este ejemplo, establezca el parámetro File Path en /data/wwwlogs/main/**/*.Log. Esto indica que los registros se recopilarán de archivos con extensión .Log dentro del directorio /data/wwwlogs/main. Configure el parámetro Maximum Directory Monitoring Depth para indicar el número máximo de niveles de subdirectorios que desea monitorear dentro del directorio de registros especificado. Este parámetro define cuántos niveles de subdirectorios abarcan los comodines ** en el valor de File Path. El valor 0 indica que solo se monitorea el directorio de registros especificado.image

  5. Create indexes y preview data. De forma predeterminada, Simple Log Service tiene habilitada la indexación de texto completo, por lo que se crean índices de este tipo. Con ellos puede consultar todos los campos de los registros. También puede crear índices de campo manualmente a partir de los registros recopilados. Otra opción es hacer clic en Automatic Index Generation para que Simple Log Service genere los índices automáticamente. Los índices de campo permiten consultar datos con mayor precisión, reducen los costos de indexación y mejoran la eficiencia de las consultas. Para más información, consulte Create indexes.image

Variable de entorno

Nota

Este método solo admite registros de texto de una sola línea. Si necesita recopilar registros de texto de varias líneas o de otros formatos, utilice los métodos anteriores.

  1. Cree una aplicación y configure Simple Log Service.

    Configurar Simple Log Service en la consola de ACK

    1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

    2. En la página Clusters, haga clic en el nombre del clúster deseado. En el panel de navegación izquierdo, seleccione Workloads > Deployments.

    3. En la página Deployments, haga clic en Create From Image.

    4. En la pestaña Application Basic Information, establezca el parámetro Application Name, haga clic en Next y, en la página Container Configuration, defina el nombre de la imagen.

      A continuación solo se describen los ajustes relacionados con Simple Log Service. Para más información sobre el resto de los parámetros, consulte Create a stateless workload (Deployment).

    5. En la sección Log, configure la información de los registros.

      1. Cree una configuración de Logtail.

        Haga clic en Collection Configuration para crear una configuración de Logtail. Cada configuración de Logtail consta de los parámetros Logstore y Log Path In Container.

        • Logstore: nombre del logstore donde se almacenarán los registros recopilados. Si no existe, ACK crea uno automáticamente en el proyecto de Simple Log Service asociado a su clúster.

          Nota

          El periodo de retención predeterminado de los registros en un logstore es de 90 días.

        • Log Path In Container: ruta desde la cual desea recopilar registros. Un valor como /usr/local/tomcat/logs/catalina.*.log indica que Logtail recopila registros de texto de la aplicación Tomcat.image

          De forma predeterminada, cada logstore corresponde a una configuración de Logtail que permite recopilar registros por línea en modo simple.

      2. Cree etiquetas personalizadas.

        Haga clic en Custom Tag para crear etiquetas personalizadas. Cada etiqueta es un par clave-valor que se añade a los registros recopilados y le ayuda a identificar los registros de los contenedores. Por ejemplo, especifique un número de versión en el parámetro Tag Value.image

    Configurar Simple Log Service mediante una plantilla YAML

    1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

    2. En la página Clusters, haga clic en el nombre del clúster que desea gestionar. En el panel de navegación izquierdo, seleccione Workloads > Deployments.

    3. En la página Deployments, seleccione un namespace en la lista desplegable Namespace ubicada en la parte superior. Luego, haga clic en Create From YAML en la esquina superior derecha.

    4. Configure una plantilla YAML.

      La sintaxis de la plantilla YAML es idéntica a la de Kubernetes. Sin embargo, para definir una configuración de recopilación en un contenedor, debe usar env y añadirle Collection Configurations y Custom Tags. Además, cree los elementos volumeMounts y volumes correspondientes según dicha configuración. A continuación se muestra un ejemplo:

      apiVersion: v1
      kind: Pod
      metadata:
        name: my-demo
      spec:
        containers:
        - name: my-demo-app
          image: 'registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest'
          env:
          # Configure environment variables
          - name: aliyun_logs_log-varlog
            value: /var/log/*.log
          - name: aliyun_logs_mytag1_tags
            value: tag1=v1
          # Configure volume mounting
          volumeMounts:
          - name: volumn-sls-mydemo
            mountPath: /var/log
          # If the pod is repetitively restarted, you can add a sleep command to the startup parameters of the pod.
          command: ["sh", "-c"]  # Run commands in the shell.
          args: ["sleep 3600"]   # Make the pod sleep 3,600 seconds (1 hour).
        volumes:
        - name: volumn-sls-mydemo
          emptyDir: {}
      1. Use variables de entorno para crear Collection Configurations y Custom Tags. Todas las variables de entorno relacionadas con configuraciones utilizan aliyun_logs_ como prefijo.

        • Cree configuraciones de recopilación con el siguiente formato:

          - name: aliyun_logs_log-varlog
            value: /var/log/*.log                        

          En el ejemplo se crea una configuración de recopilación con el formato aliyun_logs_{key}. El valor de {key} es log-varlog.

          • aliyun_logs_log-varlog: esta variable de entorno crea una configuración para recopilar el contenido de los archivos /var/log/*.log del contenedor y almacenarlo en un Logstore llamado log-varlog. La configuración de recopilación correspondiente en Simple Log Service también se llama log-varlog. Su objetivo es enviar el contenido de los archivos /var/log/*.log del contenedor al Logstore log-varlog.

        • Cree Custom Tags con el siguiente formato:

          - name: aliyun_logs_mytag1_tags
            value: tag1=v1                       

          Una vez añadida, la etiqueta se anexa automáticamente a los datos de registro recopilados del contenedor. mytag1 es un nombre que no contiene guiones bajos (_).

      2. Si su configuración de recopilación especifica una ruta distinta de stdout, debe crear los elementos volumeMounts correspondientes en esta sección.

        En el ejemplo, la configuración de recopilación añade la ruta /var/log/*.log. Por ello, se agrega el elemento volumeMounts correspondiente para /var/log.

    5. Cuando termine de editar la plantilla YAML, haga clic en Create. El clúster de Kubernetes ejecutará la configuración.

  2. Use variables de entorno para configurar los ajustes avanzados.

    La configuración de LoongCollector mediante variables de entorno admite diversos parámetros. Estas variables le permiten configurar ajustes avanzados para cumplir con sus requisitos de recolección de registros.

    Importante

    No es posible usar variables de entorno para configurar la recolección de registros en escenarios de edge computing.

    Variable

    Descripción

    Ejemplo

    Nota de uso

    aliyun_logs_{key}

    • Obligatorio. {key} solo puede contener letras minúsculas, dígitos y guiones (-).

    • Si no existe la variable aliyun_logs_{key}_logstore especificada, se crea automáticamente un logstore llamado {key} para almacenar los registros recopilados.

    • Para recopilar la salida estándar (stdout) de un contenedor, establezca el valor en stdout. También puede establecer como valor la ruta de un archivo de registro dentro de los contenedores.

    • - name: aliyun_logs_catalina
      
        value: stdout
    • - name: aliyun_logs_access-log
      
            value: /var/log/nginx/access.log
    • De forma predeterminada, los registros se recopilan en modo simple. Si desea analizar sintácticamente los registros recopilados, se recomienda configurar los ajustes correspondientes en la consola de Simple Log Service o mediante CRD.

    • {key} define el nombre de la configuración de LoongCollector. Este nombre debe ser único dentro del clúster de Kubernetes.

    aliyun_logs_{key}_tags

    Opcional. Esta variable sirve para agregar etiquetas a los registros. El valor debe tener el formato {tag-key}={tag-value}.

    - name: aliyun_logs_catalina_tags
    
      value: app=catalina

    No aplica.

    aliyun_logs_{key}_project

    Opcional. Esta variable indica un proyecto de Simple Log Service. El proyecto predeterminado es el que se genera tras instalar LoongCollector.

    - name: aliyun_logs_catalina_project
    
      value: my-k8s-project

    El proyecto debe implementarse en la misma región que LoongCollector.

    aliyun_logs_{key}_logstore

    Opcional. Esta variable indica un logstore. Valor predeterminado: {key}.

    - name: aliyun_logs_catalina_logstore
    
      value: my-logstore

    No aplica.

    aliyun_logs_{key}_shard

    Opcional. Esta variable define la cantidad de shards del logstore. Valores válidos: de 1 a 10. Valor predeterminado: 2.

    Nota

    Si el logstore especificado ya existe, esta variable no surte efecto.

    - name: aliyun_logs_catalina_shard
    
      value: '4'

    No aplica.

    aliyun_logs_{key}_ttl

    Opcional. Esta variable define el periodo de retención de los registros. Valores válidos: de 1 a 3650.

    • Si establece el valor en 3650, los registros se almacenan de forma permanente.

    • El periodo de retención predeterminado es de 90 días.

    Nota

    Si el logstore especificado ya existe, esta variable no surte efecto.

    - name: aliyun_logs_catalina_ttl
    
      value: '3650'

    No aplica.

    aliyun_logs_{key}_machinegroup

    Opcional. Esta variable indica el grupo de máquinas donde se implementa la aplicación. El grupo de máquinas predeterminado es aquel en el que se implementó LoongCollector. Para obtener más información sobre cómo usar esta variable, consulte Collect container logs from ACK clusters.

    - name: aliyun_logs_catalina_machinegroup
    
      value: my-machine-group

    No aplica.

    aliyun_logs_{key}_logstoremode

    Opcional. Esta variable define el tipo de logstore. Valor predeterminado: standard. Valores válidos: standard y query.

    Nota

    Si el logstore especificado ya existe, esta variable no surte efecto.

    • standard: logstore estándar. Este tipo de logstore es compatible con la función de análisis de registros y resulta adecuado para escenarios como el monitoreo en tiempo real y el análisis interactivo. Con este tipo de logstore es posible construir un sistema integral de observability.

    • query: logstore de consultas. Este tipo de logstore admite consultas de alto rendimiento. La tarifa de tráfico de índice de un logstore de consultas equivale aproximadamente a la mitad de la de un logstore Standard. Los logstores de consultas no admiten análisis SQL y son ideales cuando el volumen de datos es grande, el periodo de retención es prolongado o no se requiere análisis de registros. Se considera prolongado un periodo de retención de varias semanas o meses.

    • - name: aliyun_logs_catalina_logstoremode
        value: standard 
    • - name: aliyun_logs_catalina_logstoremode
            value: query 

    No aplica.

    • Custom Requirement 1: Collect Data From Multiple Applications To The Same Logstore

      En este escenario, configure el parámetro aliyun_logs_{key}_logstore. A continuación se muestra un ejemplo de cómo recopilar la salida estándar (stdout) de dos aplicaciones en el logstore stdout-logstore.

      El valor {key} de la aplicación 1 se establece en app1-stdout, mientras que el de la aplicación 2 se establece en {key} con el valor app2-stdout.

      Configure las siguientes variables de entorno para la aplicación 1:

      # Configure environment variables
          - name: aliyun_logs_app1-stdout
            value: stdout
          - name: aliyun_logs_app1-stdout_logstore
            value: stdout-logstore

      Configure las siguientes variables de entorno para la aplicación 2:

      # Configure environment variables
          - name: aliyun_logs_app2-stdout
            value: stdout
          - name: aliyun_logs_app2-stdout_logstore
            value: stdout-logstore
    • Custom Requirement 2: Collect Data From Multiple Applications To Different Projects

      Para este caso, siga estos pasos:

      1. Cree un grupo de máquinas en cada proyecto y establezca su identificador personalizado con el siguiente formato: k8s-group-{cluster-id}, donde {cluster-id} es el ID del clúster. Puede especificar un nombre personalizado para el grupo de máquinas.

      2. Especifique el proyecto, el logstore y el grupo de máquinas en las variables de entorno de cada aplicación. El nombre del grupo de máquinas debe coincidir con el creado en el paso anterior.

        En el siguiente ejemplo, el valor {key} de la aplicación 1 se establece en app1-stdout, y el de la aplicación 2 en {key} con el valor app2-stdout. Si ambas aplicaciones se implementan en el mismo clúster de ACK, pueden compartir el mismo grupo de máquinas.

        Configure las siguientes variables de entorno para la aplicación 1:

        # Configure environment variables
            - name: aliyun_logs_app1-stdout
              value: stdout
            - name: aliyun_logs_app1-stdout_project
              value: app1-project
            - name: aliyun_logs_app1-stdout_logstore
              value: app1-logstore
            - name: aliyun_logs_app1-stdout_machinegroup
              value: app1-machine-group

        Configure las siguientes variables de entorno para la Aplicación 2:

        # Configure environment variables
            - name: aliyun_logs_app2-stdout
              value: stdout
            - name: aliyun_logs_app2-stdout_project
              value: app2-project
            - name: aliyun_logs_app2-stdout_logstore
              value: app2-logstore
            - name: aliyun_logs_app2-stdout_machinegroup
              value: app1-machine-group

Recopilar stdout

Existen cuatro métodos para crear una configuración de recopilación. Se recomienda utilizar un solo método para gestionar sus configuraciones de recopilación:

Método de configuración

Descripción de la configuración

Escenario

CRD - AliyunPipelineConfig (recomendado)

Utilice la definición de recurso personalizado (CRD) AliyunPipelineConfig, que es una CRD de Kubernetes, para gestionar una configuración de LoongCollector.

Este método es adecuado para escenarios que requieren una recopilación y un procesamiento complejos. También garantiza la coherencia de versiones entre la configuración de LoongCollector y el contenedor de LoongCollector en un clúster de ACK.

CRD - AliyunLogConfig

Utilice la CRD AliyunLogConfig, que corresponde a una versión anterior, para gestionar una configuración de LoongCollector.

Más indicado para escenarios conocidos donde las configuraciones de LoongCollector se gestionan mediante la CRD de la versión anterior.

Reemplace gradualmente la CRD AliyunLogConfig por la CRD AliyunPipelineConfig para obtener mejor extensibilidad y estabilidad. Para más información sobre las diferencias entre los métodos CRD - AliyunPipelineConfig y CRD - AliyunLogConfig, consulte CRDs.

Consola de Simple Log Service

Gestione una configuración de LoongCollector en la interfaz gráfica mediante un despliegue y una configuración rápidos.

Diseñado para escenarios que requieren ajustes simples para gestionar una configuración de LoongCollector. Si utiliza este método, no podrá usar ciertas funciones avanzadas ni configuraciones personalizadas.

Variable de entorno

Utilice variables de entorno para configurar de manera eficiente los parámetros con los que se gestiona una configuración de LoongCollector.

Las variables de entorno solo permiten configurar ajustes simples. No admiten lógica de procesamiento compleja y únicamente son compatibles con registros de texto de una sola línea. Con ellas puede crear una configuración de LoongCollector que cumpla los siguientes requisitos:

  • Recopilar datos de varias aplicaciones en un mismo logstore.

  • Recopilar datos de varias aplicaciones en distintos proyectos.

Nota

El uso del método (Recomendado) CRD-AliyunPipelineConfig requiere que el componente logtail-ds sea de la versión 1.8.10 o posterior. Para conocer los detalles sobre cómo actualizar el componente, consulte Upgrade Logtail to the latest version. Este requisito de versión no aplica al componente LoongCollector.

Crd-AliyunPipelineConfig (recomendado)

Para crear configuraciones de Logtail, cree los recursos personalizados AliyunPipelineConfig. Estos entrarán en vigor automáticamente.

Importante

Si creó las configuraciones mediante recursos personalizados, modifíquelas actualizando el recurso personalizado correspondiente. Los cambios realizados en la consola de Simple Log Service no se sincronizarán con el recurso personalizado.

  1. Inicie sesión en la consola de ACK.

  2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Workloads > Custom Resources.

  3. En la página Custom Resources, haga clic en la pestaña CRDs y luego en Create from YAML.

  4. Modifique los parámetros del siguiente ejemplo de YAML según sea necesario, cópielo y péguelo en la plantilla, y luego haga clic en Create.

    Nota

    Utilice Logtail configuration generator para generar un script YAML del escenario deseado. Esta herramienta le ayuda a completar la configuración rápidamente y reduce las operaciones manuales.

    El siguiente archivo YAML de ejemplo captura la salida estándar de los pods etiquetados con app: ^(.*test.*)$ dentro del namespace predeterminado, mediante el modo de texto multilínea. Luego, reenvía los datos a un logstore llamado k8s-stdout, que se crea automáticamente dentro de un proyecto denominado k8s-log-<YOUR_CLUSTER_ID>. Ajuste los parámetros del YAML según sus necesidades:

    • project: Inicie sesión en la consola de Simple Log Service, e identifique el nombre del proyecto creado por el Logtail que instaló. Por lo general, sigue el formato k8s-log-<YOUR_CLUSTER_ID>.

    • IncludeK8sLabel: Sirve para filtrar las etiquetas del pod de destino. Por ejemplo, app: ^(.*test.*)$ indica que la clave de la etiqueta es app y que se recopilarán los pods cuyos valores incluyan test.

    • Endpoint y Region: Por ejemplo, ap-southeast-1.log.aliyuncs.com y ap-southeast-1.

    Para más información sobre config en el archivo YAML, como las entradas y salidas compatibles, los tipos de plugin de procesamiento y los métodos de filtrado de contenedores, consulte PipelineConfig. Para ver la lista completa de parámetros YAML, consulte CR parameters.

    apiVersion: telemetry.alibabacloud.com/v1alpha1
    # Create a ClusterAliyunPipelineConfig.
    kind: ClusterAliyunPipelineConfig
    metadata:
      # Specify the name of the resource. The name must be unique in the current Kubernetes cluster. This name is also the name of the Logtail configuration created. 
      name: example-k8s-stdout
    spec:
      # Specify the target project.
      project:
        name: k8s-log-<YOUR_CLUSTER_ID>
      # Create a logstore for storing logs.
      logstores:
        - name: k8s-stdout
      # Define the Logtail configuration.
      config:
        # Sample log (optional)
        sample: |
          2024-06-19 16:35:00 INFO test log
          line-1
          line-2
          end
        # Define input plug-ins.
        inputs:
              # Use the service_docker_stdout plug-in to collect text logs inside the container.
          - Type: service_docker_stdout
            Stdout: true
            Stderr: true
            # Configure container information filter conditions. Multiple options are in an "and" relationship.
            # Specify the namespace to which the pod containing the container to be collected belongs. Supports regular expression matching.
            K8sNamespaceRegex: "^(default)$"
            # Enable container metadata preview.
            CollectContainersFlag: true
            # Collect containers that meet the Pod label conditions. Multiple entries are in an "or" relationship.
            IncludeK8sLabel:
              app: ^(.*test.*)$
            # Configure multi-line chunk configuration. Invalid configuration for single-line log collection.
            # Configure the regular expression for the beginning of the line.
            BeginLineRegex: \d+-\d+-\d+.*
        # Define output plug-ins
        flushers:
          # Use the flusher_sls plug-in to send logs to the specified logstore.
          - Type: flusher_sls
            # Make sure that the logstore exists.
            Logstore: k8s-stdout
            # Make sure that the endpoint is valid.
            Endpoint: ap-southeast-1.log.aliyuncs.com
            Region: ap-southeast-1
            TelemetryType: logs

CRD-AliyunLogConfig

Para crear configuraciones de Logtail, cree los recursos personalizados AliyunLogConfig. Estos entrarán en vigor automáticamente.

Importante

Si creó las configuraciones mediante recursos personalizados, modifíquelas actualizando el recurso personalizado correspondiente. Los cambios realizados en la consola de Simple Log Service no se sincronizarán con el recurso personalizado.

  1. Inicie sesión en la consola de ACK.

  2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Workloads > Custom Resources.

  3. En la página Custom Resources, haga clic en la pestaña CRDs y luego en Create from YAML.

  4. Modifique los parámetros del siguiente ejemplo de YAML según sea necesario, cópielo y péguelo en la plantilla, y luego haga clic en Create.

    Este script YAML establecerá una configuración de Logtail llamada simple-stdout-example. Recopilará la salida estándar de todos los contenedores del clúster cuyo nombre comience con app, mediante el modo multilínea. Posteriormente, los datos recopilados se enviarán a un logstore llamado k8s-stdout dentro de un proyecto denominado k8s-log-<YOUR_CLUSTER_ID>.

    Para más información sobre el elemento logtailConfig en el archivo YAML, incluidas las entradas y salidas compatibles, los tipos de plugin de procesamiento y los métodos de filtrado de contenedores, consulte Use AliyunLogConfig to manage a Logtail configuration. Para ver la lista completa de parámetros YAML, consulte Use AliyunLogConfig to manage a Logtail configuration.

    # Standard output configuration
    apiVersion: log.alibabacloud.com/v1alpha1
    kind: AliyunLogConfig
    metadata:
      # Specify the name of the resource. The name must be unique in the current Kubernetes cluster.
      name: simple-stdout-example
    spec:
      # Specify the target project name (optional, default is k8s-log-<your_cluster_id>)
      # project: k8s-log-test
      # Specify the name of the logstore. If the specified logstore does not exist, Simple Log Service automatically creates a Logstore.
      logstore: k8s-stdout
      # Specify the Logtail configuration.
      logtailConfig:
        # Specify the type of the data source. To collect standard output, set the value to plugin.
        inputType: plugin
        # Specify the name of the Logtail collection configuration. The name must be the same as the resource name that is specified in metadata.name.
        configName: simple-stdout-example
        inputDetail:
          plugin:
            inputs:
              - type: service_docker_stdout
                detail:
                  # Specify the collection of stdout and stderr.
                  Stdout: true
                  Stderr: true
                  # Specify the namespace to which the pod containing the container to be collected belongs. Supports regular expression matching.
                  K8sNamespaceRegex: "^(default)$"
                  # Specify the name of the container to be collected. Supports regular expression matching.
                  K8sContainerRegex: "^(app.*)$"
                  # Configure multi-line chunk configuration.
                  # Configure the regular expression for the beginning of the line.
                  BeginLineRegex: \d+-\d+-\d+.*
                  

Consola de Simple Log Service

  1. Inicie sesión en la consola de Simple Log Service.

  2. Seleccione su proyecto de la lista, por ejemplo, k8s-log-<YOUR_CLUSTER_ID>. En la página del proyecto, haga clic en Logtail Configurations para el logstore de destino, luego en Add Logtail Configuration y finalmente en Integrate Now bajo K8s - Stdout and Stderr - Old Version.image

  3. Dado que Logtail ya está instalado en el clúster de ACK, seleccione Use Existing Machine Groups.image

  4. En la página Machine Group Configurations, seleccione el grupo de máquinas k8s-group-${your_k8s_cluster_id} bajo el método ACK Daemonset en el escenario Kubernetes Clusters, agréguelo al grupo de máquinas aplicado y luego haga clic en Next.image

  5. Cree una configuración de Logtail, introduzca las configuraciones obligatorias que se describen a continuación y haga clic en Next. La configuración tardará aproximadamente 1 minuto en surtir efecto.

    Esta sección abarca únicamente las configuraciones necesarias. Para consultar la lista completa, consulte Global Configurations.

    • Global Configuration

      Introduzca el nombre de la configuración en Global Configuration.

      image

  6. Create indexes y vista previa de datos: De forma predeterminada, Simple Log Service habilita un índice de texto completo que indexa todos los campos del registro para las consultas. También puede crear un índice de campo manualmente a partir de los registros recopilados, o bien hacer clic en Automatic Index Generation. Esto generará un índice de campo para consultas de términos en campos específicos, lo que reduce los costos de indexación y mejora la eficiencia de las consultas. image

Variables de entorno

  1. Configure Simple Log Service al crear una aplicación.

    Consola

    1. Inicie sesión en la consola de administración de Container Service y haga clic en Clusters en el panel de navegación izquierdo.

    2. En la página Clusters, haga clic en el clúster de destino y luego seleccione Workloads > Deployments en el panel de navegación izquierdo.

    3. En la página Deployments, seleccione un namespace y haga clic en Create from Image.

    4. En la página Basic Information, establezca el nombre de la aplicación y luego haga clic en Next para ir a la página Container.

      Esta sección presenta las configuraciones relacionadas con Simple Log Service. Para más información sobre otras configuraciones de la aplicación, consulte Create a stateless workload (Deployment).

    5. En la sección Log, configure la información relacionada con los registros.

      1. Establezca Collection Configuration.

        Haga clic en Collection Configuration para crear una nueva configuración de recopilación. Cada configuración consta de dos elementos:

        • Logstore: Especifique el logstore donde se almacenarán los registros recopilados. Si el logstore no existe, ACK lo creará automáticamente en el proyecto de Simple Log Service asociado a su clúster.

          Nota

          El periodo de retención de registros predeterminado para los logstores recién creados es de 90 días.

        • Log Path in Container (Can be set to stdout): Especifique stdout para recopilar la salida estándar y la salida de error del contenedor.

          Collection Configuration

          Cada configuración de recopilación se crea automáticamente como una configuración de logstore. De forma predeterminada, los registros se recopilan en modo simple (por fila).

      2. Establezca Custom Tag.

        Haga clic en Custom Tag para crear una etiqueta personalizada. Cada etiqueta es un par clave-valor que se agregará a los registros recopilados. Úsela para identificar los datos de registro del contenedor, como el número de versión.

        Custom tag

    6. Una vez que haya configurado todos los ajustes, haga clic en Next. Para los pasos posteriores, consulte Create a stateless workload (Deployment).

    Plantilla YAML

    1. Inicie sesión en la consola de administración de Container Service o en la , y seleccione Clusters en el panel de navegación izquierdo.

    2. En la página Clusters, haga clic en el nombre del clúster de destino y luego seleccione Workloads > Deployments en el panel de navegación izquierdo.

    3. En la página Deployments, seleccione un namespace y haga clic en Create from YAML.

    4. Configure el archivo YAML.

      La sintaxis de la plantilla YAML es compatible con Kubernetes. Para especificar la configuración de recopilación del contenedor, utilice env para agregar Collection Configuration y Custom Tag al contenedor. Después, cree los elementos volumeMounts y volumes correspondientes según la configuración de recopilación. A continuación se muestra un ejemplo sencillo de pod:

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        annotations:
          deployment.kubernetes.io/revision: '1'
        labels:
          app: deployment-stdout
          cluster_label: CLUSTER-LABEL-A
        name: deployment-stdout
        namespace: default
      spec:
        progressDeadlineSeconds: 600
        replicas: 1
        revisionHistoryLimit: 10
        selector:
          matchLabels:
            app: deployment-stdout
        strategy:
          rollingUpdate:
            maxSurge: 25%
            maxUnavailable: 25%
          type: RollingUpdate
        template:
          metadata:
            labels:
              app: deployment-stdout
              cluster_label: CLUSTER-LABEL-A
          spec:
            containers:
              - args:
                  - >-
                    while true; do date '+%Y-%m-%d %H:%M:%S'; echo 1; echo 2; echo 3;
                    echo 4; echo 5; echo 6; echo 7; echo 8; echo 9; 
                    sleep 10; done
                command:
                  - /bin/sh
                  - '-c'
                  - '--'
                env:
                  - name: cluster_id
                    value: CLUSTER-A
                  - name: aliyun_logs_log-stdout
                    value: stdout
                image: 'mirrors-ssl.aliyuncs.com/busybox:latest'
                imagePullPolicy: IfNotPresent
                name: timestamp-test
                resources: {}
                terminationMessagePath: /dev/termination-log
                terminationMessagePolicy: File
            dnsPolicy: ClusterFirst
            restartPolicy: Always
            schedulerName: default-scheduler
            securityContext: {}
            terminationGracePeriodSeconds: 30
      1. Cree su Collection Configuration y Custom Tag mediante variables de entorno. Todas las variables de entorno relacionadas comienzan con el prefijo aliyun_logs_.

        • Las reglas para crear configuraciones de recopilación son las siguientes:

          - name: aliyun_logs_log-varlog
            value: /var/log/*.log                        

          El ejemplo crea una configuración de recopilación con el formato aliyun_logs_{key}, donde {key} es log-varlog.

          • aliyun_logs_log-varlog: Esta variable indica la creación de un logstore llamado log-varlog. La ruta de recopilación de registros se establece en /var/log/*.log y el nombre de la configuración de recopilación de Simple Log Service correspondiente también es log-varlog. El objetivo es recopilar el contenido de los archivos /var/log/*.log del contenedor en el Logstore log-varlog.

        • Las reglas para Creating Custom Tags son las siguientes:

          - name: aliyun_logs_mytag1_tags
            value: tag1=v1                       

          Después de configurar una etiqueta, el campo correspondiente se agrega automáticamente a los datos de registro recopilados del contenedor. El valor mytag1 debe ser any name that does not contain '_'.

      2. Si su configuración de recopilación especifica una ruta distinta de stdout, debe crear los elementos volumeMounts correspondientes en esta sección.

        En el ejemplo, la configuración de recopilación agrega la recopilación de /var/log/*.log, por lo que se añade el elemento volumeMounts correspondiente para /var/log.

    5. Una vez que termine de editar el YAML, haga clic en Create para enviar la configuración al clúster de Kubernetes y ejecutarla.

  2. Configure los parámetros avanzados de las variables de entorno.

    Las variables de entorno admiten diversos parámetros de configuración para la recopilación de registros. Establezca los parámetros avanzados según sus necesidades.

    Importante

    La configuración de la recopilación de registros mediante variables de entorno no es adecuada para escenarios de edge computing.

    Campo

    Descripción

    Ejemplo

    Notas

    aliyun_logs_{key}

    • Obligatorio. {key} solo puede contener letras minúsculas, dígitos y guiones (-).

    • Si aliyun_logs_{key}_logstore no existe, se crea de forma predeterminada un logstore llamado {key}.

    • Si el valor es stdout, indica la recopilación de la salida estándar del contenedor. Otros valores indican la ruta de los registros dentro del contenedor.

    • - name: aliyun_logs_catalina
      
        value: stdout
    • - name: aliyun_logs_access-log
      
            value: /var/log/nginx/access.log

    aliyun_logs_{key}_tags

    Opcional. El valor debe tener el formato {tag-key}={tag-value} y sirve para etiquetar los registros.

    - name: aliyun_logs_catalina_tags
    
      value: app=catalina

    Ninguna.

    aliyun_logs_{key}_project

    Opcional. El valor especifica un proyecto en Simple Log Service. Si esta variable de entorno no existe, se utiliza el proyecto que seleccionó durante la instalación.

    - name: aliyun_logs_catalina_project
    
      value: my-k8s-project

    El proyecto debe estar desplegado en la misma región que Logtail.

    aliyun_logs_{key}_logstore

    Opcional. El valor especifica un logstore en Simple Log Service. Si esta variable de entorno no existe, el logstore será igual a {key}.

    - name: aliyun_logs_catalina_logstore
    
      value: my-logstore

    Ninguna.

    aliyun_logs_{key}_shard

    Opcional. El valor especifica el número de shards al crear un logstore. Valores válidos: de 1 a 10. Si esta variable de entorno no existe, el valor es 2.

    Nota

    Si el logstore ya existe, este parámetro no surte efecto.

    - name: aliyun_logs_catalina_shard
    
      value: '4'

    Ninguna.

    aliyun_logs_{key}_ttl

    Opcional. El valor especifica el periodo de retención de los registros. Valores válidos: de 1 a 3650.

    • Si el valor es 3650, el periodo de retención de los registros se establece como permanente.

    • Si esta variable de entorno no existe, el periodo de retención predeterminado es de 90 días.

    Nota

    Si el logstore ya existe, este parámetro no surte efecto.

    - name: aliyun_logs_catalina_ttl
    
      value: '3650'

    Ninguna.

    aliyun_logs_{key}_machinegroup

    Opcional. El valor especifica el grupo de máquinas de la aplicación. Si esta variable de entorno no existe, se utiliza el grupo de máquinas predeterminado donde se instaló Logtail. Para conocer el uso detallado de este parámetro, consulte Collect container logs from ACK clusters.

    - name: aliyun_logs_catalina_machinegroup
    
      value: my-machine-group

    Ninguna.

    aliyun_logs_{key}_logstoremode

    Opcional. El valor especifica el tipo de logstore. Valor predeterminado: standard. Valores válidos:

    Nota

    Si el logstore ya existe, este parámetro no surte efecto.

    • standard: Admite las funciones integrales de análisis de datos de Simple Log Service. Adecuado para monitoreo en tiempo real, análisis interactivo y construcción de sistemas completos de observability.

    • query: Admite consultas de alto rendimiento. El costo de tráfico de índices es aproximadamente la mitad que el de standard, pero no admite análisis SQL. Recomendado cuando se manejan grandes volúmenes de datos, periodos de almacenamiento prolongados (semanales o mensuales) y no se requiere análisis de registros.

    • - name: aliyun_logs_catalina_logstoremode
        value: standard 
    • - name: aliyun_logs_catalina_logstoremode
            value: query 

    Este parámetro requiere que la versión de la imagen logtail-ds sea >=1.3.1.

    • Customization requirement 1: Collect data from multiple applications into the same logstore

      Para recopilar datos de varias aplicaciones en un mismo logstore, establezca el parámetro aliyun_logs_{key}_logstore. Por ejemplo, la siguiente configuración recopila la salida estándar de dos aplicaciones en stdout-logstore.

      En el ejemplo, el valor de {key} para la Aplicación 1 es app1-stdout, mientras que para la Aplicación 2 es {key} app2-stdout.

      A continuación se muestran las variables de entorno para la Aplicación 1:

      # Configure environment variables
          - name: aliyun_logs_app1-stdout
            value: stdout
          - name: aliyun_logs_app1-stdout_logstore
            value: stdout-logstore

      A continuación se muestran las variables de entorno para la Aplicación 2:

      # Configure environment variables
          - name: aliyun_logs_app2-stdout
            value: stdout
          - name: aliyun_logs_app2-stdout_logstore
            value: stdout-logstore
    • Customization requirement 2: Collect data from different applications into different projects

      Para recopilar datos de distintas aplicaciones en varios proyectos, siga estos pasos:

      1. Cree un grupo de máquinas en cada proyecto con un ID personalizado llamado k8s-group-{cluster-id}, donde {cluster-id} es el ID de su clúster. El nombre del grupo de máquinas se puede personalizar.

      2. Configure la información del proyecto, el logstore y el grupo de máquinas en las variables de entorno de cada aplicación. Utilice el mismo nombre de grupo de máquinas que creó en el paso anterior.

        En el siguiente ejemplo, la {key} de la Aplicación 1 es app1-stdout, mientras que la {key} de la Aplicación 2 es app2-stdout. Si ambas aplicaciones se despliegan en el mismo clúster de K8s, puede usar el mismo grupo de máquinas para las dos.

        A continuación se muestran las variables de entorno de la Aplicación 1:

        # Configure environment variables
            - name: aliyun_logs_app1-stdout
              value: stdout
            - name: aliyun_logs_app1-stdout_project
              value: app1-project
            - name: aliyun_logs_app1-stdout_logstore
              value: app1-logstore
            - name: aliyun_logs_app1-stdout_machinegroup
              value: app1-machine-group

        A continuación se muestran las variables de entorno de la Aplicación 2:

        # Application 2 Configure environment variables
            - name: aliyun_logs_app2-stdout
              value: stdout
            - name: aliyun_logs_app2-stdout_project
              value: app2-project
            - name: aliyun_logs_app2-stdout_logstore
              value: app2-logstore
            - name: aliyun_logs_app2-stdout_machinegroup
              value: app1-machine-group

Paso 3: Consultar y analizar los registros

  1. Inicie sesión en la consola de Simple Log Service.

  2. En la sección Projects, haga clic en el proyecto cuya página de detalles desea consultar.

    image

  3. En el panel de navegación izquierdo, haga clic en el icono icon del logstore que desee. En la lista desplegable, seleccione Search & Analysis para consultar los registros recopilados de su clúster de Kubernetes.

    image

Campos de registro predeterminados

Registros de texto

Campos de registro de K8s

La siguiente tabla describe los campos predeterminados que incluye cada registro de texto de contenedor en Kubernetes.

Campo

Descripción

__tag__:__hostname__

El nombre del host del contenedor.

__tag__:__path__

La ruta del archivo de registro dentro del contenedor.

__tag__:_container_ip_

La dirección IP del contenedor.

__tag__:_image_name_

El nombre de la imagen que utiliza el contenedor.

Nota

Si existen varias imágenes con el mismo hash pero distintos nombres o etiquetas, la configuración de recopilación seleccionará un nombre basado en el hash. Por lo tanto, no se garantiza que el nombre seleccionado coincida con el definido en el archivo YAML.

__tag__:_pod_name_

El nombre del pod.

__tag__:_namespace_

El namespace al que pertenece el pod.

__tag__:_pod_uid_

El identificador único (UID) del pod.

Salida estándar

La siguiente tabla describe los campos que se cargan de forma predeterminada para cada registro en un clúster de Kubernetes.

Campo

Descripción

_time_

La hora en la que se recopiló el registro.

_source_

El tipo de origen del registro. Valores válidos: stdout y stderr.

_image_name_

El nombre de la imagen.

_container_name_

El nombre del contenedor.

_pod_name_

El nombre del pod.

_namespace_

El namespace del pod.

_pod_uid_

El identificador único del pod.

Referencias

  • Una vez recopilados los registros, utilice la función de consulta y análisis de Simple Log Service para comprenderlos. Para obtener más información, consulte Query and analyze logs.

  • Después de recopilar los registros, aproveche la función de visualización de Simple Log Service para analizarlos y comprenderlos de manera gráfica. Para obtener más información, consulte Quick start: Create a dashboard.

  • Cuando termine la recopilación, configure la función de alertas de Simple Log Service para recibir notificaciones automáticas sobre anomalías en los registros. Para obtener más información, consulte Configure alert rules.

  • De forma predeterminada, Simple Log Service solo recopila registros incrementales. Para recopilar registros históricos, consulte Import historical logs from log files.

  • Solucione los errores de recopilación: