Todos os produtos
Search
Central de documentação

Container Compute Service:Configure application log collection using pod environment variables

Última atualização: Jun 29, 2026

Container Compute Service (ACS) integra-se ao Alibaba Cloud Simple Log Service (SLS). Ao criar um cluster ACS, ative o serviço de log para coletar rapidamente os logs de contêiner do cluster, incluindo stdout e arquivos de texto dos contêineres. Este tópico descreve como coletar logs de aplicações em um cluster ACS utilizando variáveis de ambiente do pod.

Etapa 1: Ativar o complemento Log Service

Ao criar um cluster ACS, selecione Enable Log Service para ativar automaticamente o complemento Log Service. Caso não tenha selecionado essa opção durante a criação do cluster, siga as etapas abaixo para ativar o complemento em um cluster existente.

  1. Faça login no console do ACS. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do cluster desejado. No painel de navegação à esquerda, clique em Add-ons.

  3. Na seção Logs and Monitoring, localize alibaba-log-controller. Clique em Install. Na caixa de diálogo Install, clique em OK.

Importante

Se você personalizou a configuração e as variáveis de ambiente do alibaba-log-controller, a atualização substituirá esses parâmetros e será necessário reconfigurá-los.

Etapa 2: Configurar a coleta de logs durante a criação da aplicação

Ao criar uma aplicação, configure a coleta de logs de contêiner por meio do console ou de um arquivo YAML.

Console wizard

  1. Faça login no console do ACS. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do cluster desejado. No painel de navegação à esquerda, escolha Workloads > Deployments.

  3. Na página Deployments, selecione um namespace na lista suspensa Namespace. Em seguida, no canto superior direito, clique em Create from Image.

    Nota

    Este exemplo utiliza um Deployment, mas o processo é o mesmo para outros tipos de carga de trabalho, como StatefulSets.

  4. Na aba Basic Information, defina Name:, Replicas: e Type. Clique em para acessar a página .

    Nota

    Esta seção descreve apenas as configurações relacionadas ao Simple Log Service. Para obter informações sobre outros itens de configuração da aplicação, consulte Criar uma carga de trabalho sem estado (Deployment).

  5. Na seção , configure as informações relacionadas aos logs.

    1. Defina a Collection Configuration.

      Clique no ícone + para criar uma nova configuração de coleta. Cada configuração consiste em um Logstore e um Log Path in Container (Can be set to stdout).

      • Logstore: Especifique um nome para o Logstore que armazenará os logs coletados. Se o Logstore não existir, o ACS o criará automaticamente no Projeto do Simple Log Service associado ao cluster.

        Nota

        Por padrão, os logs em um Logstore recém-criado são retidos por 90 dias.

      • Log Path in Container: Especifique o caminho de onde os logs serão coletados. Por exemplo, use /usr/local/tomcat/logs/catalina.*.log para coletar logs de texto do Tomcat.

        Nota

        Se você definir este parâmetro como stdout, o stdout e o stderr do contêiner serão coletados.

        Cada entrada cria uma configuração de coleta para o Logstore especificado. Por padrão, os logs são coletados no modo simples (linha por linha).

        Exemplo: Defina o nome do Logstore como access e o caminho do log no contêiner como /usr/local/tomcat/logs/catalina.*.log. Defina outro nome de Logstore como catalina e o caminho como stdout. Observação: Certifique-se de que o complemento do agente de log esteja implantado no cluster.

    2. Defina uma Custom Tag.

      Clique no ícone + para criar uma nova tag personalizada. Cada tag personalizada é um par chave-valor anexado aos logs coletados. Use essas tags para adicionar metadados, como número de versão, aos logs do seu contêiner.

      No campo Tag Name, insira release. No campo Tag Value, insira 1.0.0.

  6. Após concluir a configuração, clique em no canto superior direito.

    Para obter informações sobre operações subsequentes, consulte Criar uma carga de trabalho sem estado (Deployment).

YAML file

  1. Faça login no console do ACS. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Workloads > Deployments.

  3. Na página Deployments, selecione um namespace na lista suspensa Namespace. Em seguida, no canto superior direito, clique em Create from YAML.

    Nota

    Este exemplo utiliza um Deployment, mas o processo é o mesmo para outros tipos de carga de trabalho, como StatefulSets.

  4. Configure o arquivo YAML.

    A sintaxe do arquivo YAML segue a sintaxe do Kubernetes. Para especificar uma configuração de coleta para o contêiner, use env para adicionar uma Collection Configuration e uma Custom Tag. O código a seguir fornece um exemplo de um pod simples:

    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-stdout
          value: stdout
        - name: aliyun_logs_log-varlog
          value: /var/log/*.log
        - name: aliyun_logs_mytag1_tags
          value: tag1=v1
        command: ["sh", "-c"]
        args: ["echo 'Starting my demo app'; sleep 3600"]

    Configure as definições na seguinte ordem, conforme suas necessidades.

    Nota

    Para obter mais informações sobre requisitos avançados de coleta de logs, consulte Etapa 3: Parâmetros avançados de coleta de logs.

    1. Use variáveis de ambiente para criar uma Collection Configuration e uma Custom Tag. Todas as variáveis de ambiente relacionadas à configuração têm o prefixo aliyun_logs_.

      • Crie uma configuração de coleta.

        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:
            - name: aliyun_logs_log-stdout
              value: stdout
            - name: aliyun_logs_log-varlog
              value: /var/log/*.log    
            command: ["sh", "-c"]
            args: ["echo 'Starting my demo app'; sleep 3600"]                    

        No exemplo, duas configurações de coleta são criadas usando o formato aliyun_logs_{key}. Os valores correspondentes de {key} são log-stdout e log-varlog.

        • aliyun_logs_log-stdout: Esta variável cria uma configuração de coleta para o stdout do contêiner. Os logs coletados são enviados para um Logstore chamado log-stdout. A configuração de coleta correspondente do Simple Log Service também se chama log-stdout e utiliza o log-stdout Logstore.

        • aliyun_logs_log-varlog: Esta variável de ambiente especifica uma configuração que cria um Logstore chamado log-varlog e define o caminho de coleta de logs como /var/log/*.log. O nome da configuração de coleta correspondente do Simple Log Service também é log-varlog. O objetivo desta configuração é coletar o conteúdo dos arquivos /var/log/*.log de um contêiner e enviá-lo para o log-varlog Logstore.

      • Crie uma tag personalizada.

        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:
            - name: aliyun_logs_mytag1_tags
              value: tag1=v1           
            command: ["sh", "-c"]
            args: ["echo 'Starting my demo app'; sleep 3600"]            

        O Simple Log Service adiciona automaticamente esta tag como um campo a todos os logs coletados do contêiner. Neste exemplo, a parte mytag1 do nome da variável pode ser any name that does not contain an underscore (_).

    2. Se você especificar um caminho de coleta diferente de stdout, também deverá definir um volumeMounts correspondente na especificação do pod.

      No exemplo, a configuração de coleta inclui a coleta de /var/log/*.log. Portanto, um volumeMounts para /var/log é adicionado adequadamente.

  5. Após escrever o arquivo YAML, clique em para aplicar a configuração ao cluster ACS.

Etapa 3: Parâmetros avançados de coleta de logs

Use diversas variáveis de ambiente para configurar parâmetros avançados para requisitos específicos de coleta de logs.

Parâmetro

Descrição

Exemplo

Observações

aliyun_logs_{key}

  • Obrigatório. {key} pode conter apenas letras minúsculas, dígitos e hifens (-).

  • Se você não definir a variável de ambiente aliyun_logs_{key}_logstore, um Logstore chamado {key} será criado por padrão.

  • O valor stdout coleta a saída padrão do contêiner. Outros valores especificam o caminho do log dentro do contêiner.

  • - name: aliyun_logs_catalina
      value: stdout
  • - name: aliyun_logs_access-log
      value: /var/log/nginx/access.log
  • O modo de coleta padrão é o modo simples. Para analisar o conteúdo do log, recomendamos o uso do console SLS.

  • {key} é o nome da configuração de coleta criada pelo complemento Log Service e deve ser exclusivo dentro do cluster Kubernetes.

aliyun_logs_{key}_tags

Opcional. O valor deve estar no formato {tag-key}={tag-value} e ajuda a identificar os logs.

- name: aliyun_logs_catalina_tags
  value: app=catalina

Não aplicável.

aliyun_logs_{key}_project

Opcional. O Projeto SLS. Se esta variável de ambiente não for definida, o padrão será o Projeto selecionado durante a instalação do complemento.

- name: aliyun_logs_catalina_project
  value: my-k8s-project

O Projeto deve estar na mesma região onde o complemento Log Service é executado.

aliyun_logs_{key}_logstore

Opcional. O Logstore SLS. Se esta variável de ambiente não for definida, o nome do Logstore assumirá o valor de {key} por padrão.

- name: aliyun_logs_catalina_logstore
  value: my-logstore

Não aplicável.

aliyun_logs_{key}_shard

Opcional. O número de shards a serem criados para o Logstore. Valores válidos: 1 a 10. Se esta variável de ambiente não for definida, o valor padrão será 2.

Nota

Este parâmetro se aplica apenas quando um Logstore é criado; ele não afeta Logstores existentes.

- name: aliyun_logs_catalina_shard
  value: 4

Não aplicável.

aliyun_logs_{key}_ttl

Opcional. O período de retenção de logs em dias. Valores válidos: 1 a 3650.

  • O valor 3650 especifica que os logs são retidos permanentemente.

  • Se esta variável de ambiente não for definida, o período de retenção padrão será de 90 dias.

Nota

Este parâmetro se aplica apenas quando um Logstore é criado; ele não afeta Logstores existentes.

- name: aliyun_logs_catalina_ttl
  value: 3650

Não aplicável.

aliyun_logs_{key}_machinegroup

Opcional. O grupo de máquinas para a aplicação. Se esta variável de ambiente não for definida, o padrão será o grupo de máquinas selecionado durante a instalação do complemento Log Service. Para obter mais informações sobre como usar este parâmetro, consulte Caso de uso especial 2: Roteamento de logs de diferentes aplicações para diferentes Projetos.

- name: aliyun_logs_catalina_machinegroup
  value: my-machine-group

Não aplicável.

aliyun_logs_{key}_logstoremode

Opcional. O tipo do Logstore SLS. Se você não especificar este parâmetro, o valor padrão será standard. Valores válidos:

Nota

Este parâmetro se aplica apenas quando um Logstore é criado; ele não afeta Logstores existentes.

  • standard: Suporta os recursos abrangentes de análise de dados do SLS. Este tipo é adequado para cenários como monitoramento em tempo real, análise interativa e construção de um sistema completo de observabilidade.

  • query: Suporta consultas de alto desempenho. As taxas de tráfego de índice são cerca de metade das do tipo standard, mas não suporta análise SQL. Este tipo é adequado para cenários com grandes volumes de dados, longos períodos de retenção (semanas ou meses) e sem necessidade de análise baseada em SQL.

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

Não aplicável.

  • Caso de uso 1: Coleta para um único Logstore

    Para coletar dados de várias aplicações no mesmo Logstore, defina o parâmetro aliyun_logs_{key}_logstore. Por exemplo, a configuração a seguir coleta o stdout de duas aplicações e o envia para o Logstore stdout-logstore.

    No exemplo, a {key} da Aplicação 1 é app1-stdout, e a {key} da Aplicação 2 é app2-stdout.

    Variáveis de ambiente para a Aplicação 1:

    apiVersion: v1
    kind: Pod
    metadata:
      name: my-demo-1
    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_app1-stdout
          value: stdout
        - name: aliyun_logs_app1-stdout_logstore
          value: stdout-logstore
        command: ["sh", "-c"]
        args: ["echo 'Starting my demo app'; sleep 3600"]

    Variáveis de ambiente para a Aplicação 2:

    apiVersion: v1
    kind: Pod
    metadata:
      name: my-demo-2
    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_app2-stdout
          value: stdout
        - name: aliyun_logs_app2-stdout_logstore
          value: stdout-logstore
        command: ["sh", "-c"]
        args: ["echo 'Starting my demo app'; sleep 3600"]
  • Caso de uso 2: Roteamento de logs para diferentes Projetos

    Para coletar logs de diferentes aplicações e roteá-los para diferentes Projetos, siga estas etapas:

    1. Em cada Projeto, crie um grupo de máquinas com um identificador personalizado chamado k8s-group-{cluster-id}, onde {cluster-id} é o ID do cluster. O nome do grupo de máquinas pode ser personalizado.

    2. Configure as informações de Projeto, Logstore e grupo de máquinas nas variáveis de ambiente de cada aplicação. O nome do grupo de máquinas deve ser aquele que você criou na etapa anterior.

      No exemplo a seguir, a {key} da Aplicação 1 é app1-stdout, e a {key} da Aplicação 2 é app2-stdout. Se ambas as aplicações estiverem no mesmo cluster Kubernetes, elas poderão usar o mesmo grupo de máquinas.

      Variáveis de ambiente para a Aplicação 1:

      apiVersion: v1
      kind: Pod
      metadata:
        name: my-demo-1
      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_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
          command: ["sh", "-c"]
          args: ["echo 'Starting my demo app'; sleep 3600"]

      Variáveis de ambiente para a Aplicação 2:

      apiVersion: v1
      kind: Pod
      metadata:
        name: my-demo-2
      spec:
        containers:
        - name: my-demo-app
          image: 'registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest'
          env:	# Configure environment variables for Application 2
          - 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
          command: ["sh", "-c"]
          args: ["echo 'Starting my demo app'; sleep 3600"]

Etapa 4: Visualizar logs no console SLS

Este exemplo mostra como visualizar logs de uma aplicação criada com o assistente do console. Após a configuração, o Simple Log Service coleta automaticamente os logs da aplicação, que podem ser visualizados no console SLS.

  1. Faça login no console SLS.

  2. Na seção Projects, selecione o Projeto correspondente ao cluster ACS. Por padrão, o Projeto é nomeado k8s-log-{ACS-Cluster-ID}. Em seguida, acesse a aba Logstores.

  3. Na lista de Logstores, localize o Logstore especificado na configuração de coleta. Passe o mouse sobre o nome do Logstore. No lado direito do nome do Logstore, clique no ícone button e, em seguida, clique em Search & Analysis.

    Na página de consulta de logs, você pode visualizar os logs de stdout da aplicação e os logs de texto do contêiner. A tag personalizada aparece como um campo nos logs.

Mais informações