Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Collect application logs with pod environment variables

Última actualización: Sep 21, 2026

Simple Log Service (SLS) es un servicio integral para datos de registros que permite recopilar, consumir, enviar y analizar registros sin necesidad de desarrollo. Un clúster ACK Serverless proporciona funciones administradas de SLS. Utilice las variables de entorno del pod en un clúster ACK Serverless para recopilar la salida estándar (stdout) y los archivos de registro de los contenedores hacia SLS. Utilice primero el método CRD de SLS para la recopilación de registros. Consulte Collect application logs by using CRDs. No combine los métodos de CRD y de variables de entorno, ya que esto puede provocar errores en la recopilación de registros. ## Paso 1: Crear una aplicación y configurar la recopilación de registros Cree una aplicación a partir de una imagen o de una plantilla YAML y configure la recopilación de registros. Consulte What is Simple Log Service?. #### Crear desde una imagen Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters. 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 > Deployments. En la página Deployments, seleccione un namespace en Namespace y haga clic en Create from Image. En la pestaña Basic Information, establezca Application Name, el número de Replicas: y Type; luego, haga clic en Next. En la pestaña Container, configure la sección Log Service. Aquí solo se describen los parámetros de recopilación de registros. Consulte Create a stateless deployment para conocer los demás parámetros. Antes de configurar, asegúrese de que el complemento de registros esté instalado en el clúster.

Parámetro

Descripción

Configuración de recopilación

Cuando cambie la configuración de recopilación, elimine manualmente la configuración anterior para evitar la duplicación de registros.

Haga clic en Collection Configuration y configure Logstore y Log Path in Container (Can be set to stdout).

  • Nombre del logstore. Solo puede contener letras minúsculas, dígitos y guiones (-).

    Si el logstore especificado no existe, ACK Serverless lo crea en el proyecto de SLS asociado al clúster.

  • Ruta de registro en el contenedor: ruta que se va a recopilar. Ejemplo: /usr/local/tomcat/logs/catalina.*.log para los registros de texto de Tomcat.

    Nota

    Si establece la ruta en stdout, se recopilan tanto stdout como stderr del contenedor.

Cada configuración de recopilación genera una configuración de Logtail para el logstore correspondiente. De forma predeterminada, los registros se recopilan en modo simple (línea por línea). Para métodos de recopilación avanzados, inicie sesión en la consola de Simple Log Service y modifique la configuración en el proyecto correspondiente (con el prefijo k8s-log de forma predeterminada) y en el logstore.

Etiqueta personalizada

Haga clic en Custom Tag y configure Tag Key y Tag Value.

Es un par clave-valor que se anexa a las entradas de registro recopiladas. Use etiquetas personalizadas para identificar los datos de registro del contenedor, como un número de versión.

Haga clic en Next. Consulte Create a stateless deployment para ver los pasos siguientes. #### Crear desde un archivo YAML Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters. 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 > Deployments. En la página Deployments, seleccione un namespace en Namespace y haga clic en Create from YAML. En la página Create, seleccione una plantilla de ejemplo, edite Template en el editor YAML y haga clic en Create. La plantilla YAML utiliza la sintaxis estándar de Kubernetes. Para configurar la recopilación de registros, use env con el fin de agregar configuraciones de recopilación y etiquetas personalizadas, y cree los elementos volumeMounts y volumes correspondientes. YAML de pod de ejemplo: ``yaml 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' args: - -c - mkdir -p /log;while true; do echo hello world; date; echo hello sls >> /var/log/test.log; sleep 1;done command: - /bin/sh env: ######### Configure environment variables ########### - name: aliyun_logs_log-stdout value: stdout - name: aliyun_logs_log-varlog value: /var/log/*.log - name: aliyun_logs_mytag1_tags value: tag1=v1 ######### Configure Volume Mounts ########### volumeMounts: - name: volumn-sls-mydemo mountPath: /var/log volumes: - name: volumn-sls-mydemo emptyDir: {} `` Agregue estas configuraciones al YAML del pod según sea necesario: Consulte Step 2: Advanced environment variable parameters para requisitos avanzados. Cree configuraciones de recopilación y etiquetas personalizadas con variables de entorno. Todas usan el prefijo aliyun_logs_. Para crear una configuración de recopilación: ``yaml - name: aliyun_logs_log-stdout value: stdout - name: aliyun_logs_log-varlog value: /var/log/*.log `` Este ejemplo crea dos configuraciones de recopilación mediante aliyun_logs_{key}, donde {key} es log-stdout y log-varlog. aliyun_logs_log-stdout: esta variable env define una configuración de recopilación log-stdout, crea un logstore log-stdout y recopila stdout del contenedor en el logstore log-stdout. aliyun_logs_log-varlog: esta variable env crea un logstore (log-varlog) y una configuración de recopilación (log-varlog) para la ruta /var/log/*.log. Los archivos de /var/log/*.log se envían al logstore log-varlog. Para crear una etiqueta personalizada: ``yaml - name: aliyun_logs_mytag1_tags value: tag1=v1 `` La etiqueta se anexa a los registros recopilados de este contenedor. La clave de la etiqueta (en este caso, mytag1) solo puede contener letras minúsculas, dígitos y guiones (-). Si la ruta de recopilación no es stdout, cree el elemento volumeMounts correspondiente. En este ejemplo, recopilar /var/log/*.log requiere un elemento volumeMounts para /var/log. ## Paso 2: Parámetros avanzados de variables de entorno La configuración de LoongCollector basada en variables de entorno admite diversos parámetros. Puede usar variables de entorno para establecer opciones avanzadas que cumplan con sus requisitos de recopilación de registros. No es posible utilizar variables de entorno para configurar la recopilación de registros en escenarios de edge computing.

Variable

Descripción

Ejemplo

Nota de uso

aliyun_logs_{key}

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

  • Si el aliyun_logs_{key}_logstore especificado no existe, se crea un logstore llamado {key}.

  • Para recopilar stdout de un contenedor, establezca el valor en stdout. También puede definirlo como una ruta dentro del contenedor para recopilar los archivos de registro.

  • - 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 analizarlos, se recomienda establecer los ajustes correspondientes en la consola de Simple Log Service o mediante CRD.

  • {key} indica el nombre de la configuración de Logtail. Este nombre debe ser único en el clúster de Kubernetes.

aliyun_logs_{key}_tags

Opcional. Esta variable sirve para agregar etiquetas a los datos de registro. 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. La variable indica un proyecto de Simple Log Service. El proyecto predeterminado es el que especificó al crear el clúster.

- 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. La variable indica un logstore de Simple Log Service. Valor predeterminado: {key}.

- name: aliyun_logs_catalina_logstore value: my-logstore

No aplica.

aliyun_logs_{key}_shard

Opcional. La variable indica el número de shards del logstore. Valores válidos: de 1 a 10. Valor predeterminado: 2.

Nota

Si el logstore que especificó ya existe, esta variable no surte efecto.

- name: aliyun_logs_catalina_shard value: '4'

No aplica.

aliyun_logs_{key}_ttl

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

  • Para conservar los datos de registro de forma permanente, establezca el valor en 3650.

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

Nota

Si el logstore que especificó ya existe, esta variable no surte efecto.

- name: aliyun_logs_catalina_ttl value: '3650'

No aplica.

aliyun_logs_{key}_machinegroup

Opcional. La variable indica el grupo de nodos donde se despliega la aplicación. El grupo de máquinas predeterminado es aquel en el que se despliega Logtail. Para obtener más información sobre cómo usar esta variable, consulte Collect container logs from an ACK cluster.

- name: aliyun_logs_catalina_machinegroup value: my-machine-group

No aplica.

aliyun_logs_{key}_logstoremode

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

Nota

Si el logstore que especificó ya existe, esta variable no surte efecto.

  • standard: logstore estándar. Este tipo de logstore admite la función de análisis de registros y resulta adecuado para escenarios como monitoreo en tiempo real y análisis interactivo. Permite 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 índices de un logstore de consultas es aproximadamente la mitad que la de un logstore standard. Los logstores de consulta 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 almacenamiento de semanas o meses.

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

Para usar esta variable, asegúrese de que la versión de la imagen logtail-ds sea 1.3.1 o posterior.

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 cómo recopilar 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 valor {key} de la Aplicación 2 se establece en app2-stdout. Configure las siguientes variables de entorno para la Aplicación 1: ``yaml # 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: ``yaml # 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: Cree un grupo de máquinas en cada proyecto y defina 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. Indique 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 que creó en el paso anterior. En el siguiente ejemplo, el valor {key} de la Aplicación 1 se establece en app1-stdout, y el valor {key} de la Aplicación 2 se establece en app2-stdout. Si ambas aplicaciones se despliegan 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: ``yaml # 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: ``yaml # 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 los registros Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Operations > Log Center. En la página Log Center, haga clic en la pestaña Application Logs y seleccione un logstore para consultar los registros del contenedor.