Todos os produtos
Search
Central de documentação

Elastic Container Instance:Personalizar a coleta de logs do ECI

Última atualização: Jun 27, 2026

Defina variáveis de ambiente para direcionar logs do ECI a projetos, Logstores e grupos de máquinas personalizados no SLS.

Contexto

O Simple Log Service (SLS) é uma solução completa para dados de log que permite coletar, consumir, enviar, consultar e analisar logs sem desenvolvimento personalizado. Para mais informações, consulte Introdução ao Simple Log Service.

Importante

O SLS é cobrado conforme o uso. Consulte Visão geral do faturamento.

Ao ativar a coleta de logs durante a criação da instância ECI, o sistema cria um projeto e um grupo de máquinas padrão:

  • Nome do projeto: eci-log-default-project-{Region}-{AccountID}.

  • Nome do grupo de máquinas: eci-log-default-machine-group-{Region}.

Para usar um projeto, Logstore ou grupo de máquinas personalizado, defina as configurações de log como variáveis de ambiente do contêiner. Se os recursos especificados não existirem no SLS, o sistema os criará automaticamente.

Observações de uso

  • As variáveis de ambiente relacionadas a logs têm efeito apenas na criação da instância. O sistema ignora variáveis definidas durante atualizações.

  • Exclua projetos personalizados e configurações do Logtail não utilizados para evitar cobranças.

  • Renomear uma variável de ambiente não exclui a configuração original. Exclua-a manualmente para evitar custos adicionais.

Configuração

Transmita configurações personalizadas de log (projeto, Logstore, configuração do Logtail, grupo de máquinas, quantidade de shards, período de retenção e tag) como variáveis de ambiente do contêiner.

Nota

Os nomes das variáveis de ambiente relacionadas a logs devem começar com aliyun_logs_{key}, onde {key} é o nome da configuração do Logtail. A chave aceita apenas letras minúsculas, dígitos e hifens (-).

Parâmetro

Variável de ambiente

Descrição do valor

Configuração do Logtail

aliyun_logs_{key}

Crie uma configuração do Logtail e especifique o caminho de coleta de logs.

  • Para coletar a saída padrão, use um dos seguintes valores:

    • stdout: coleta tanto a saída normal quanto mensagens de erro.

    • stderr-only: coleta apenas mensagens de erro.

    • stdout-only: coleta apenas a saída normal.

  • Para coletar arquivos de texto, defina o valor como o caminho do arquivo no contêiner.

Projeto

aliyun_logs_{key}_project

Especifica o projeto. Requisitos de nomenclatura:

  • Deve ter entre 3 e 63 caracteres.

  • Pode conter apenas letras minúsculas, dígitos e hifens (-). Deve começar e terminar com uma letra minúscula ou dígito.

Nota

Os nomes dos projetos devem ser globalmente exclusivos e não podem ser alterados após a criação. Nomes inválidos são ignorados e o projeto padrão é utilizado.

Logstore

aliyun_logs_{key}_logstore

Especifica o Logstore. Requisitos de nomenclatura:

  • Deve ter entre 3 e 63 caracteres.

  • Pode conter apenas letras minúsculas, dígitos, hifens (-) e sublinhados (_). Deve começar e terminar com uma letra minúscula ou dígito.

Nota

Nomes inválidos são ignorados e o Logstore padrão é utilizado. O nome do Logstore padrão corresponde ao nome da configuração do Logtail {key}.

Grupo de máquinas

aliyun_logs_{key}_machinegroup

Especifica o grupo de máquinas. Requisitos de nomenclatura:

  • Deve ter entre 3 e 63 caracteres.

  • Pode conter apenas letras minúsculas, dígitos, hifens (-) e sublinhados (_). Deve começar e terminar com uma letra minúscula ou dígito.

Nota

Nomes inválidos são ignorados e o grupo de máquinas padrão é utilizado.

Shard

aliyun_logs_{key}_shard

Defina o número de shards para o Logstore. O valor deve ser um número inteiro de 1 a 10.

Os logs lidos e gravados em um Logstore são armazenados em shards. Cada Logstore possui dois shards por padrão.

Período de retenção de logs

aliyun_logs_{key}_ttl

Defina o período de retenção de logs em dias. O valor deve ser um número inteiro de 1 a 3.650.

  • O valor 3650 indica armazenamento permanente dos logs.

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

Tag

aliyun_logs_{key}_tags

Adiciona uma tag aos logs. O valor deve estar no formato tag-key=tag-value.

Após a configuração, o sistema coleta logs da instância ECI para o projeto e o Logstore especificados.

  • Se o Logstore e a configuração do Logtail especificados não existirem, o sistema os criará automaticamente.

  • Se você utilizar um Logstore e uma configuração do Logtail existentes, verifique se Docker File: está ativado. Caso contrário, a coleta de logs falhará.

    Log collection settings

    Nota

    Para coletar logs sem ativar Docker File:, monte manualmente o diretório de logs em um volume EmptyDir.

Exemplos

O exemplo a seguir utiliza estas configurações personalizadas de log:

  • Nomes da configuração do Logtail e do Logstore: Logs de saída padrão são salvos em stdout-eci e logs de arquivos de texto em file-eci.

  • Nome do projeto: project-eci-test

  • Nome do grupo de máquinas: mg-eci-test

Nota

Estes são valores de exemplo. Use suas próprias configurações e garanta que o nome do projeto seja globalmente exclusivo.

API

Chame a operação CreateContainerGroup e defina as variáveis de ambiente com os parâmetros Container.N.EnvironmentVar.N.Key e Container.N.EnvironmentVar.N.Value:

ContainerGroupName=test-sls
Container.1.Name=busybox
Container.1.Image=registry-vpc.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
Container.1.Command.1=/bin/sh
Container.1.Arg.1=-c
Container.1.Arg.2=mkdir -p /log;while true; do echo hello world; date; echo hello sls >> /log/busy.log; sleep 1;done
# Collect stdout logs
Container.1.EnvironmentVar.1.Key=aliyun_logs_stdout-eci
Container.1.EnvironmentVar.1.Value=stdout
Container.1.EnvironmentVar.2.Key=aliyun_logs_stdout-eci_project
Container.1.EnvironmentVar.2.Value=project-eci-test
Container.1.EnvironmentVar.3.Key=aliyun_logs_stdout-eci_machinegroup
Container.1.EnvironmentVar.3.Value=mg-eci-test
# Collect text files
Container.1.EnvironmentVar.4.Key=aliyun_logs_file-eci
Container.1.EnvironmentVar.4.Value=/log/*.log
Container.1.EnvironmentVar.5.Key=aliyun_logs_file-eci_project
Container.1.EnvironmentVar.5.Value=project-eci-test
Container.1.EnvironmentVar.6.Key=aliyun_logs_file-eci_machinegroup
Container.1.EnvironmentVar.6.Value=mg-eci-test

Console

Ao criar uma instância ECI no console do Elastic Container Instance, na seção Container Configurations, selecione um contêiner, expanda Advanced Settings e ative Environment Variable para adicionar suas variáveis.

Para coletar logs de saída padrão, adicione as seguintes variáveis de ambiente: aliyun_logs_stdout-eci = stdout, aliyun_logs_stdout-eci_project = project-eci-test e aliyun_logs_stdout-eci_machinegroup = mg-eci-test. Para coletar logs de arquivos de texto, adicione: aliyun_logs_file-eci = /log/*.log, aliyun_logs_file-eci_project = project-eci-test e aliyun_logs_file-eci_machinegroup = mg-eci-test.

Verifique os resultados

No console do Simple Log Service, abra o projeto desejado para visualizar os logs no Logstore.

Saída padrão

Abra o projeto project-eci-test e selecione o Logstore stdout-eci. Os logs de saída padrão incluem campos como _container_name_, _image_name_, _namespace_, _pod_name_, _pod_uid_, _source_ e content.

Arquivo de texto

Visualize os logs de arquivos de texto coletados da instância ECI no Logstore, com o conteúdo hello sls.