Exibir e gerenciar logs
Os logs do Adobe Commerce em projetos de infraestrutura em nuvem são úteis para solucionar problemas relacionados à criação e implantação de ganchos, aos serviços em nuvem e ao aplicativo do Adobe Commerce.
Você pode exibir os logs do sistema de arquivos, do Cloud Console e da CLI do magento-cloud
.
-
Sistema de arquivos — O diretório de sistema
/var/log
contém logs para todos os ambientes. O diretóriovar/log/
contém logs específicos do aplicativo exclusivos a um ambiente específico. Esses diretórios não são compartilhados entre nós em um cluster. Em ambientes de produção e preparo profissionais, você deve verificar os registros em cada nó. -
Cloud Console — Você pode ver informações de log de compilação, implantação e pós-implantação na lista de mensagens do ambiente.
-
CLI da Nuvem—Você pode exibir logs de ambiente local usando o comando
magento-cloud log
ou logs de ambiente remoto usando o comandomagento-cloud ssh
.
Locais de log
Os registros do sistema são armazenados nos seguintes locais:
- Integração:
/var/log/<log-name>.log
- Estágios Profissionais:
/var/log/platform/<project-ID>_stg/<log-name>.log
- Produção Pro:
/var/log/platform/<project-ID>/<log-name>.log
O valor de <project-ID>
depende do projeto e se o ambiente é de Preparo ou de Produção. Por exemplo, com a ID de projeto yw1unoukjcawe
, o usuário do ambiente de Preparo é yw1unoukjcawe_stg
e o usuário do ambiente de Produção é yw1unoukjcawe
.
Usando esse exemplo, o log de implantação é: /var/log/platform/yw1unoukjcawe_stg/deploy.log
Exibir logs de ambiente remoto
A maioria dos registros inclui eventos que ocorrem no ambiente remoto. Para o Pro, há vários nós e cada nó tem registros exclusivos. Use o seguinte para ver uma lista de todos os hosts:
magento-cloud ssh -p <project-ID> -e <environment-ID> --all
Exemplo de resposta:
1.ent-project-environment-id@ssh.region.magento.cloud
2.ent-project-environment-id@ssh.region.magento.cloud
3.ent-project-environment-id@ssh.region.magento.cloud
Para exibir uma lista de logs de ambientes remotos:
magento-cloud ssh -e <environment-ID> "ls var/log"
Exemplo para Pro:
ssh 1.ent-project-environment-id@ssh.region.magento.cloud "ls var/log | grep error"
Para exibir um log remoto:
magento-cloud ssh -e <environment-ID> "cat var/log/cron.log"
Exemplo para Pro:
ssh 1.ent-project-environment-id@ssh.region.magento.cloud "cat var/log/cron.log"
/etc/logrotate.conf
e /etc/logrotate.d/<various>
. A rotação de logs não pode ser configurada em ambientes Pro Integration. Para a Integração Pro, você deve implementar uma solução/script personalizado e configurar seu cron para executar o script conforme necessário.Criar e implantar logs
Depois de enviar as alterações para o ambiente, você pode revisar o log de cada gancho no arquivo var/log/cloud.log
. O log contém mensagens de início e parada para cada gancho. No exemplo a seguir, as mensagens são "Starting post-deploy.
" e "Post-deploy is complete.
"
Verifique os carimbos de data e hora nas entradas do log e localize os logs para uma implantação específica. Este é um exemplo condensado de saída de log que você pode usar para solução de problemas:
Re-deploying environment project-integration-ID
Executing post deploy hook for service `mymagento`
[2019-01-03 19:44:11] NOTICE: Starting post-deploy.
[2019-01-03 19:44:11] INFO: Validating configuration
[2019-01-03 19:44:11] INFO: End of validation
[2019-01-03 19:44:11] INFO: Enable cron
[2019-01-03 19:44:11] INFO: Create backup of important files.
[2019-01-03 19:44:11] INFO: Backup /app/app/etc/env.php.bak for /app/app/etc/env.php was created.
[2019-01-03 19:44:11] INFO: Backup /app/app/etc/config.php.bak for /app/app/etc/config.php was created.
[2019-01-03 19:44:11] INFO: php ./bin/magento cache:flush --ansi --no-interaction
[2019-01-03 19:44:32] INFO: Warming up failed: http://integration-id-project.us.magentosite.cloud/
[2019-01-03 19:44:32] NOTICE: Post-deploy is complete.
Os seguintes logs têm um local comum para todos os projetos na nuvem:
- Log de implantação:
var/log/cloud.log
- Último log de erros de implantação:
var/log/cloud.error.log
- Log de depuração:
var/log/debug.log
- Log de exceções:
var/log/exception.log
- Log do sistema:
var/log/system.log
- Log de suporte:
var/log/support_report.log
- Relatórios:
var/report/
Embora o arquivo cloud.log
contenha comentários de cada estágio do processo de implantação, os logs criados pelo gancho de implantação são exclusivos de cada ambiente. O log de implantação específico do ambiente está nos seguintes diretórios:
- Integração Starter e Pro:
/var/log/deploy.log
- Estágios Profissionais:
/var/log/platform/<project-ID>_stg/deploy.log
- Produção Profissional:
/var/log/platform/<project-ID>/deploy.log
Implantar log
O log de cada implantação se concatena com o arquivo deploy.log
específico. O exemplo a seguir imprime o log de implantação do ambiente atual no terminal:
magento-cloud log -e <environment-ID> deploy
Exemplo de resposta:
Reading log file projectID-branchname-ID--mymagento@ssh.zone.magento.cloud:/var/log/'deploy.log'
[2023-04-24 18:58:03.080678] Launching command 'b'php ./vendor/bin/ece-tools run scenario/deploy.xml\n''.
[2023-04-24T18:58:04.129888+00:00] INFO: Starting scenario(s): scenario/deploy.xml (magento/ece-tools version: 2002.1.14, magento/magento2-base version: 2.4.6)
[2023-04-24T18:58:04.364714+00:00] NOTICE: Starting pre-deploy.
...
Log de erros
Mensagens de erro e aviso geradas durante o processo de implantação são gravadas nos arquivos var/log/cloud.log
e var/log/cloud.error.log
. O arquivo de log de erros da nuvem contém apenas erros e avisos da implantação mais recente. Um arquivo vazio indica uma implantação bem-sucedida sem erros.
Você pode exibir o arquivo de log usando a CLI de nuvem SSH ou pode usar as ECE-Tools para mostrar os erros com sugestões:
magento-cloud ssh -e <environment-ID> "./vendor/bin/ece-tools error:show"
Exemplo de resposta:
errorCode: 1001
stage: build
step: validate-config
suggestion: Please run the following commands:
1. bin/magento module:enable --all
2. git add -f app/etc/config.php
3. git commit -m 'Adding config.php'
4. git push
title: File app/etc/config.php does not exist
type: warning
---------------
errorCode: 1006
stage: build
step: validate-config
suggestion: Your application does not have the "post_deploy" hook enabled.
In order to minimize downtime, add the following to ".magento.app.yaml":
hooks:
post_deploy: |
php ./vendor/bin/ece-tools run scenario/post-deploy.xml
title: The configured state is not ideal
type: warning
A maioria das mensagens de erro contém uma descrição e uma ação sugerida. Use a Referência da mensagem de erro para ECE-Tools para consultar o código de erro para obter mais orientações. Para obter mais orientações, use a Solução de problemas de implantação do Adobe Commerce.
Logs do aplicativo
Assim como os logs de implantação, os logs de aplicativos são exclusivos para cada ambiente:
/var/log/cron.log
/var/log/access.log
/var/log/error.log
/var/log/php.access.log
/var/log/app.log
Para ambientes de preparo e produção Pro, os logs de implantação, pós-implantação e cron estão disponíveis somente no primeiro nó do cluster:
/var/log/platform/<project-ID>_stg/deploy.log
/var/log/platform/<project-ID>/deploy.log
/var/log/platform/<project-ID>_stg/post_deploy.log
/var/log/platform/<project-ID>/post_deploy.log
/var/log/platform/<project-ID>_stg/cron.log
/var/log/platform/<project-ID>/cron.log
/var/log/platform/<project-ID>_stg/access.log
/var/log/platform/<project-ID>/access.log
/var/log/platform/<project-ID>_stg/error.log
/var/log/platform/<project-ID>/error.log
/var/log/platform/<project-ID>_stg/php.access.log
/var/log/platform/<project-ID>/php.access.log
/var/log/platform/<project-ID>_stg/php5-fpm.log
/var/log/platform/<project-ID>/php5-fpm.log
Arquivos de log arquivados
Os logs do aplicativo são compactados e arquivados uma vez por dia e mantidos por 30 dias. Os logs compactados são nomeados usando uma ID exclusiva que corresponde ao Number of Days Ago + 1
. Por exemplo, em ambientes de produção Pro, um log de acesso do PHP para 21 dias no passado é armazenado e nomeado da seguinte maneira:
/var/log/platform/<project-ID>/php.access.log.22.gz
Os arquivos de log arquivados são sempre armazenados no diretório onde o arquivo original estava localizado antes da compactação.
Logs de serviço
Como cada serviço é executado em um contêiner separado, os logs do serviço não estão disponíveis no ambiente de integração. A infraestrutura do Adobe Commerce na nuvem fornece acesso ao container do servidor Web somente no ambiente de integração. Os seguintes locais de registro de serviço são para os ambientes de produção e preparo profissionais:
- Log Redis:
/var/log/platform/<project-ID>_stg/redis-server-<project-ID>_stg.log
- log de Elasticsearch:
/var/log/elasticsearch/elasticsearch.log
- Log de coleta de lixo Java:
/var/log/elasticsearch/gc.log
- Log de email:
/var/log/mail.log
- Log de erros do MySQL:
/var/log/mysql/mysql-error.log
- Log lento do MySQL:
/var/log/mysql/mysql-slow.log
- log do RabbitMQ:
/var/log/rabbitmq/rabbit@host1.log
Os logs de serviço são arquivados e salvos por períodos diferentes, dependendo do tipo de log. Por exemplo, os registros MySQL têm o tempo de vida mais curto, removido após sete dias.
Dados de log para produção e preparo profissionais
Em ambientes de Produção e Preparo Pro, use o gerenciamento de logs do New Relic integrado ao seu projeto para gerenciar dados de logs agregados de todos os logs associados ao seu projeto de infraestrutura do Adobe Commerce na nuvem.
O aplicativo de logs do New Relic fornece um painel de gerenciamento de log centralizado para solucionar problemas e monitorar o Adobe Commerce em ambientes de produção e preparo de infraestrutura em nuvem. O painel também fornece acesso aos dados de log para os serviços Fastly CDN, Image Otimization e Web application firewall (WAF). Consulte serviços da New Relic.