Todos os produtos
Search
Central de documentação

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

Última atualização: Sep 21, 2026

O Simple Log Service (SLS) é uma solução completa para dados de log que permite coletar, consumir, encaminhar e analisar logs sem a necessidade de desenvolvimento. Um cluster ACK Serverless fornece recursos gerenciados do SLS. Use variáveis de ambiente de pods em um cluster ACK Serverless para coletar o stdout e os arquivos de log dos contêineres e enviá-los ao SLS. Use primeiro o método SLS CRD para a coleta de logs. Consulte Collect application logs by using CRDs. Não use os métodos CRD e de variáveis de ambiente simultaneamente. Isso pode causar falhas na coleta de logs. ## Etapa 1: Crie uma aplicação e configure a coleta de logs Crie uma aplicação a partir de uma imagem ou de um modelo YAML e configure a coleta de logs. Consulte What is Simple Log Service?. #### Criar a partir de uma imagem Acesse o ACK console. No painel de navegação à esquerda, clique em Clusters. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Workloads > Deployments. Na página Deployments, selecione um namespace no campo Namespace e clique em Create from Image. Na aba Basic Information, defina o Application Name, o número de Replicas: e o Type e clique em Next. Na aba Container, configure a seção Log Service. Esta seção aborda apenas os parâmetros de coleta de logs. Consulte Create a stateless deployment para outros parâmetros. Antes da configuração, certifique-se de que o plug-in de log está instalado no cluster.

Parâmetro

Descrição

Configuração de coleta

Ao alterar a configuração de coleta, exclua manualmente a configuração anterior para evitar a duplicação da coleta de logs.

Clique em Collection Configuration e configure o Logstore e o Log Path in Container (Can be set to stdout).

  • Nome do Logstore. Pode conter apenas letras minúsculas, dígitos e hifens (-).

    Se o Logstore especificado não existir, o ACK Serverless o cria no projeto do SLS associado ao cluster.

  • Caminho do log no contêiner: caminho para coleta. Exemplo: /usr/local/tomcat/logs/catalina.*.log para logs de texto do Tomcat.

    Nota

    Ao definir o caminho como stdout, o sistema coleta tanto o stdout quanto o stderr do contêiner.

Cada configuração de coleta cria uma configuração do Logtail para o Logstore correspondente. Por padrão, a coleta de logs ocorre no modo simples (linha por linha). Para métodos avançados de coleta, acesse o Simple Log Service console e modifique a configuração no projeto correspondente (com prefixo k8s-log por padrão) e no Logstore.

Tag personalizada

Clique em Custom Tag e configure a Tag Key e a Tag Value.

Par chave-valor anexado às entradas de log coletadas. Use tags personalizadas para rotular os dados de log do contêiner, como um número de versão.

Clique em Next. Consulte Create a stateless deployment para as etapas subsequentes. #### Criar a partir de um arquivo YAML Acesse o ACK console. No painel de navegação à esquerda, clique em Clusters. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Workloads > Deployments. Na página Deployments, selecione um namespace no campo Namespace e clique em Create from YAML. Na página Create, selecione um modelo de exemplo, edite o Template no editor YAML e clique em Create. O modelo YAML usa a sintaxe padrão do Kubernetes. Para configurar a coleta de logs, use env para adicionar configurações de coleta e tags personalizadas e crie os volumeMounts e volumes correspondentes. Exemplo de YAML de pod: ``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: {} `` Adicione essas configurações ao YAML do pod conforme necessário: Consulte Step 2: Advanced environment variable parameters para requisitos avançados. Crie configurações de coleta e tags personalizadas com variáveis de ambiente. Todas usam o prefixo aliyun_logs_. Para criar uma configuração de coleta: ``yaml - name: aliyun_logs_log-stdout value: stdout - name: aliyun_logs_log-varlog value: /var/log/*.log `` Este exemplo cria duas configurações de coleta usando aliyun_logs_{key}, onde {key} é log-stdout e log-varlog. aliyun_logs_log-stdout: esta variável env define uma configuração de coleta log-stdout, cria um Logstore log-stdout e coleta o stdout do contêiner para o Logstore log-stdout. aliyun_logs_log-varlog: esta variável env cria um Logstore (log-varlog) e uma configuração de coleta (log-varlog) para o caminho /var/log/*.log. O sistema envia os arquivos de /var/log/*.log para o Logstore log-varlog. Para criar uma tag personalizada: ``yaml - name: aliyun_logs_mytag1_tags value: tag1=v1 `` O sistema anexa a tag aos logs coletados deste contêiner. A chave da tag (mytag1 neste caso) pode conter apenas letras minúsculas, dígitos e hifens (-). Se o caminho de coleta não for stdout, crie um volumeMounts correspondente. Neste exemplo, a coleta de /var/log/*.log requer um volumeMounts para /var/log. ## Etapa 2: Parâmetros avançados de variáveis de ambiente A configuração do LoongCollector baseada em variáveis de ambiente suporta diversos parâmetros. Use variáveis de ambiente para definir configurações avançadas e atender aos seus requisitos de coleta de logs. Não é possível usar variáveis de ambiente para configurar a coleta de logs em cenários de edge computing.

Variável

Descrição

Exemplo

Nota de uso

aliyun_logs_{key}

  • Esta variável é obrigatória. {key} pode conter apenas letras minúsculas, dígitos e hifens (-).

  • Se o aliyun_logs_{key}_logstore especificado não existir, o sistema cria um logstore chamado {key}.

  • Para coletar o stdout de um contêiner, defina o valor como stdout. Para coletar os arquivos de log, defina o valor como um caminho dentro do contêiner.

  • - name: aliyun_logs_catalina value: stdout
  • - name: aliyun_logs_access-log value: /var/log/nginx/access.log
  • Por padrão, a coleta de logs ocorre no modo simples. Se desejar analisar os logs coletados, recomendamos configurar as definições relacionadas no console do Simple Log Service ou por meio de CRDs.

  • {key} especifica o nome da configuração do Logtail. O nome da configuração deve ser exclusivo no cluster Kubernetes.

aliyun_logs_{key}_tags

Opcional. Esta variável adiciona tags aos dados de log. O valor deve estar no formato {tag-key}={tag-value}.

- name: aliyun_logs_catalina_tags value: app=catalina

N/D.

aliyun_logs_{key}_project

Opcional. A variável especifica um projeto do Simple Log Service. O projeto padrão é o projeto especificado ao criar o cluster.

- name: aliyun_logs_catalina_project value: my-k8s-project

O projeto deve ser implantado na mesma região que o Logtail.

aliyun_logs_{key}_logstore

Opcional. A variável especifica um logstore do Simple Log Service. Valor padrão: {key}.

- name: aliyun_logs_catalina_logstore value: my-logstore

N/D.

aliyun_logs_{key}_shard

Opcional. A variável especifica o número de shards do logstore. Valores válidos: 1 a 10. Valor padrão: 2.

Nota

Se o logstore especificado já existir, esta variável não tem efeito.

- name: aliyun_logs_catalina_shard value: '4'

N/D.

aliyun_logs_{key}_ttl

Opcional. A variável especifica o período de retenção de logs. Valores válidos: 1 a 3650.

  • Para reter dados de log permanentemente, defina o valor como 3650.

  • O período de retenção padrão é de 90 dias.

Nota

Se o logstore especificado já existir, esta variável não tem efeito.

- name: aliyun_logs_catalina_ttl value: '3650'

N/D.

aliyun_logs_{key}_machinegroup

Opcional. A variável especifica o grupo de nós onde a aplicação está implantada. O grupo de máquinas padrão é o grupo onde o Logtail está implantado. Para mais informações sobre como usar esta variável, consulte Collect container logs from an ACK cluster.

- name: aliyun_logs_catalina_machinegroup value: my-machine-group

N/D.

aliyun_logs_{key}_logstoremode

Opcional. A variável especifica o tipo de logstore. Valor padrão: standard. Valores válidos: standard e query.

Nota

Se o logstore especificado já existir, esta variável não tem efeito.

  • standard: Logstore padrão. Este tipo de logstore suporta o recurso de análise de logs e é adequado para cenários como monitoramento em tempo real e análise interativa. Use este tipo de logstore para construir um sistema abrangente de observabilidade.

  • query: Logstore de consulta. Este tipo de logstore suporta consultas de alto desempenho. O custo do tráfego de índice de um logstore de consulta é aproximadamente metade do custo de um logstore standard. Logstores de consulta não suportam análise SQL. São adequados para cenários em que a quantidade de dados é grande, o período de retenção de logs é longo ou a análise de logs não é necessária. Se os logs forem armazenados por semanas ou meses, o período de retenção é considerado longo.

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

Para usar esta variável, certifique-se de que a versão da imagem logtail-ds é 1.3.1 ou posterior.

Custom Requirement 1: Collect Data From Multiple Applications To The Same Logstore Neste cenário, configure o parâmetro aliyun_logs_{key}_logstore. O exemplo a seguir mostra como coletar o stdout de duas aplicações para o stdout-logstore. O {key} da Aplicação 1 é app1-stdout, e o {key} da Aplicação 2 é app2-stdout. Configure as seguintes variáveis de ambiente para a Aplicação 1: ``yaml # Configure environment variables - name: aliyun_logs_app1-stdout value: stdout - name: aliyun_logs_app1-stdout_logstore value: stdout-logstore `` Configure as seguintes variáveis de ambiente para a Aplicação 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 Neste cenário, execute as seguintes etapas: Crie um grupo de máquinas em cada projeto e defina o identificador personalizado do grupo de máquinas no seguinte formato: k8s-group-{cluster-id}, onde {cluster-id} é o ID do cluster. Especifique um nome personalizado para o grupo de máquinas. Especifique o projeto, o logstore e o grupo de máquinas nas variáveis de ambiente para cada aplicação. O nome do grupo de máquinas deve ser o mesmo criado na etapa anterior. No exemplo a seguir, o {key} da Aplicação 1 é app1-stdout, e o {key} da Aplicação 2 é app2-stdout. Se as duas aplicações estiverem implantadas no mesmo cluster ACK, use o mesmo grupo de máquinas para ambas. Configure as seguintes variáveis de ambiente para a Aplicação 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 as seguintes variáveis de ambiente para a Aplicação 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 `` ## Etapa 3: Visualize os logs Acesse o ACK console. No painel de navegação à esquerda, clique em Clusters. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Operations > Log Center. Na página Log Center, clique na aba Application Logs e selecione um Logstore para visualizar os logs do contêiner.