A coleta de logs de saída padrão ou logs de arquivo de aplicações do SAE para o Simple Log Service (SLS) permite armazenamento persistente e análise agregada.
Pré-requisitos
Verifique se o Simple Log Service está ativado. Caso contrário, faça login no console do Simple Log Service e siga as instruções na tela para ativá-lo.
Garanta que cada instância da aplicação tenha pelo menos 0,25 núcleo de CPU e 250 MB de memória disponível.
Ativar a coleta de logs
Procedimento:
-
Criar uma aplicação
Na página Lista de Aplicações do SAE, selecione a região e o namespace de destino na parte superior e clique em Create Application. Na página Application Basic Information, configure os parâmetros e clique em Next: Advanced Settings.
Modificar uma aplicação em execução
AvisoReimplantar uma aplicação causa sua reinicialização. Para evitar problemas inesperados, como interrupções de serviço, execute a implantação fora dos horários de pico.
Na página Lista de Aplicações do SAE, selecione a região e o namespace de destino na parte superior e clique no application ID desejado para abrir a página de detalhes da aplicação. No painel de navegação à esquerda, clique em Basic Information e, em seguida, clique em Deploy Application no canto superior direito.
Modificar uma aplicação parada
Na página Lista de Aplicações do SAE, selecione a região e o namespace de destino na parte superior e clique no application ID desejado para abrir a página de detalhes da aplicação. Clique em Basic Information e, em seguida, clique em Modify Application Configuration.
Expanda a seção Log Settings e ative o SLS Log Service.
Detalhes da configuração:
-
Selecione um recurso do SLS para armazenar os logs da aplicação SAE:
Create Simple Log Service Resource: O sistema cria automaticamente um Project do SLS com o nome no formato
sae-<random_string>.Use Existing Simple Log Service Resources: Selecione um Project do SLS existente. O Project deve estar na mesma região da aplicação.
-
Log labels: Identificam e categorizam entradas de log. Após ativar Custom Log Labels, selecione um Type para configurar a chave e o valor. Para configurar vários pares de chave-valor, clique em Add.
Custom: Insira um Variable Name e um Variable Value.
Reference Configuration Item: Insira um Variable Name e selecione um Configuration Item Name e uma Key existentes.
NotaEste recurso está atualmente em visualização por convite. Para utilizá-lo, entre em contato com a equipe técnica no grupo do DingTalk (ID do grupo: 32874633) e solicite a ativação.
-
Collection Log Type:
File Logs (Log Path in Container): Use esta opção se a aplicação gravar logs em arquivo. No campo Log Source, especifique o caminho absoluto do arquivo de log no contêiner, incluindo o nome do arquivo. Exemplo: /tmp/cjsc.log. Há suporte para correspondência por expressão regular. Exemplo: /path/to/your/files/*.log.
Container Standard Output Logs: Use esta opção se a aplicação imprimir logs na saída padrão. O Log Source aparece como
stdout.log.Clique em + Add para adicionar vários registros.
Ao selecionar Use Existing Simple Log Service Resources, configure um logstoreName e um logtail para cada registro.
ImportanteNão armazene outros arquivos importantes no caminho especificado como Log Source para evitar sobrescrita de arquivos nesse diretório. Por exemplo, se os executáveis e dados da aplicação estiverem em
/home/admin/app/e você definir o caminho de logs como/home/admin/, todos os diretórios e arquivos sob esse caminho serão sobrescritos. Para evitar esse problema, defina o caminho de logs em um diretório dedicado, como/home/admin/log/.Durante uma liberação em lote ou faseada, ao alterar apenas o Project ou o Logstore, os logs continuam sendo coletados para o destino original até que todos os lotes terminem a implantação. O SLS não oferece suporte à coleta de logs do mesmo arquivo para Projects ou Logstores diferentes.
Verificar os resultados:
Na página Lista de Aplicações do SAE, selecione a região e o namespace de destino na parte superior e clique no application ID desejado para abrir a página de detalhes da aplicação.
Clique em para visualizar os logs do SLS.
Na coluna Actions, clique em File Logs para abrir o Logstore correspondente e visualizar os detalhes do log.
Remover prefixos do conteúdo do log
Ao coletar logs de saída padrão do contêiner, o conteúdo bruto inclui prefixos redundantes. Use um dos métodos a seguir para remover esses prefixos.
Método 1: Personalizar a configuração do Logtail
Este recurso funciona apenas no Logtail 2.0 e versões posteriores. Para utilizá-lo, entre em contato com a equipe técnica no grupo do DingTalk (ID do grupo: 32874633) e solicite a atualização da versão do Logtail da sua aplicação SAE.
Expanda o Logstore correspondente e clique em Logtail Configurations.
Na página Logtail Configurations, clique no item de configuração do Logtail desejado.
-
Clique em Edit e configure as definições abaixo. Mantenha os demais parâmetros com os valores padrão.
Expanda a seção Processor Configurations e defina Processing Method If Splitting Fails como Retain Single Line.
Defina Processing Method como SPL.
No campo SPL Statement, insira
* | extend msg=regexp_replace(content, '(\S{33,36}\s\S+\sF\s)','') | project-away content.
Clique em Save.
Os novos logs coletados não incluirão mais o prefixo.
Método 2: Redirecionar a saída padrão
-
Criar uma aplicação
Na página Lista de Aplicações do SAE, selecione a região e o namespace de destino na parte superior e clique em Create Application. Na página Application Basic Information, configure os parâmetros e clique em Next: Advanced Settings.
Modificar uma aplicação em execução
AvisoReimplantar uma aplicação causa sua reinicialização. Para evitar problemas inesperados, como interrupções de serviço, execute a implantação fora dos horários de pico.
Na página Lista de Aplicações do SAE, selecione a região e o namespace de destino na parte superior e clique no application ID desejado para abrir a página de detalhes da aplicação. No painel de navegação à esquerda, clique em Basic Information e, em seguida, clique em Deploy Application no canto superior direito.
Modificar uma aplicação parada
Na página Lista de Aplicações do SAE, selecione a região e o namespace de destino na parte superior e clique no application ID desejado para abrir a página de detalhes da aplicação. Clique em Basic Information e, em seguida, clique em Modify Application Configuration.
-
Expanda a seção Startup Command e configure o comando de inicialização para redirecionar a saída padrão:
Para aplicações baseadas em imagem, anexe
2>&1 | tee -a /home/admin/log/std.logao comando de inicialização original. O caminho/home/admin/log/std.logrefere-se ao arquivo de log e pode ser personalizado.Por exemplo, se o comando de inicialização original na imagem for
CMD ["./main"], defina o comando de inicialização como./main 2>&1 | tee -a /home/admin/log/std.log.Se o ambiente da imagem não oferecer suporte ao comando
teeou se não for necessário visualizar logs em tempo real no console, substitua2>&1 | tee -a /home/admin/log/std.logpor> /home/admin/log/std.log 2>&1. Expanda a seção Log Settings. Defina Collection Log Type como File Logs (Log Path in Container) e configure Log Source com o caminho do arquivo de log, como
/home/admin/log/std.log.Clique em OK e aguarde a conclusão da implantação da aplicação.
Os novos logs coletados não incluirão mais o prefixo.
Melhorar o desempenho da coleta do Logtail
No console do SAE, defina variáveis de ambiente para configurar os parâmetros de inicialização do Logtail. Essa configuração melhora o desempenho da coleta e ajuda a resolver gargalos, como alto uso de memória por arquivos de log, grande volume de tráfego de dados de log e alta taxa de envio de dados do Logtail.
Na seção Environment Variable, selecione Custom ou Reference Configuration Item e insira o Variable Name e o Variable Value/Variable Reference. Para obter detalhes, consulte Definir variáveis de ambiente.
-
Regras de nomenclatura de variáveis
Adicione o prefixo sls_ à variável de ambiente do Logtail que deseja configurar. Por exemplo, para adicionar o parâmetro do Logtail max_read_buffer_size, defina a variável de ambiente como sls_max_read_buffer_size. Esse parâmetro especifica o tamanho máximo de uma única entrada de log que o Logtail pode ler (524.288 bytes neste exemplo). Para mais parâmetros, consulte Definir parâmetros de inicialização do Logtail.
-
Mapeamento entre variáveis de ambiente e parâmetros de inicialização do Logtail
Para obter detalhes, consulte Descrições das variáveis de ambiente.
Cotas e limites
Cada conta Alibaba Cloud pode criar até 200 Logstores e 50 Projects. Limites nos recursos básicos do SLS podem afetar a coleta de logs para aplicações do SAE, causando problemas como períodos curtos de retenção de logs ou falhas na coleta. Para mais limites de uso, consulte Limites básicos de recursos.
Faturamento
O uso do Simple Log Service gera cobranças adicionais. Para obter detalhes, consulte Faturamento do SLS.
Perguntas frequentes
-
A coleta de logs do SAE oferece suporte à rotação de logs?
Sim. Implemente a rotação de logs adicionando um curinga ao nome do arquivo de log.
Os curingas suportados para nomes de arquivos são o asterisco (*) e o ponto de interrogação (?).
-
Nenhum dado aparece no console do SLS ao visualizar logs de arquivo. O que fazer?
Por padrão, o SLS consulta dados dos últimos 15 minutos. Se nenhum dado aparecer no SLS, use o Webshell para verificar se a aplicação gerou arquivos de log. Para obter detalhes, consulte Usar o Webshell para diagnosticar uma aplicação.
Se existirem dados de log, entre no grupo do DingTalk (ID do grupo: 32874633) e contate um especialista técnico do produto para obter ajuda.
Se não existirem dados de log, verifique a configuração da aplicação.