Affichage et gestion des journaux
Les journaux d’Adobe Commerce sur les projets d’infrastructure cloud sont utiles pour résoudre les problèmes liés à création et déploiement de hooks, aux services cloud et à l’application Adobe Commerce.
Vous pouvez afficher les journaux du système de fichiers, du Cloud Console et de l’interface de ligne de commande magento-cloud
.
-
Système de fichiers : le répertoire système
/var/log
contient les journaux de tous les environnements. Le répertoirevar/log/
contient des journaux spécifiques à l’application, propres à un environnement particulier. Ces répertoires ne sont pas partagés entre les nœuds d’un cluster. Dans les environnements de production et d’évaluation Pro, vous devez vérifier les journaux sur chaque nœud. -
Cloud Console : vous pouvez voir les informations du journal de génération, de déploiement et de post-déploiement dans la liste des messages de l'environnement.
-
Interface de ligne de commande Cloud : vous pouvez afficher les journaux d’environnement local à l’aide de la commande
magento-cloud log
ou les journaux d’environnement distant à l’aide de la commandemagento-cloud ssh
.
Emplacements du journal
Les journaux système sont stockés aux emplacements suivants :
- Intégration :
/var/log/<log-name>.log
- Staging pro :
/var/log/platform/<project-ID>_stg/<log-name>.log
- Production professionnelle :
/var/log/platform/<project-ID>/<log-name>.log
La valeur de <project-ID>
dépend du projet et du statut de l’environnement : Évaluation ou Production. Par exemple, avec un ID de projet de yw1unoukjcawe
, l’utilisateur de l’environnement d’évaluation est yw1unoukjcawe_stg
et l’utilisateur de l’environnement de production est yw1unoukjcawe
.
Dans cet exemple, le journal de déploiement est le suivant : /var/log/platform/yw1unoukjcawe_stg/deploy.log
Affichage des journaux d’environnement distant
La plupart des journaux incluent des événements qui se produisent dans l’environnement distant. Pour Pro, il existe plusieurs nœuds et chaque nœud possède des journaux uniques. Utilisez ce qui suit pour afficher la liste de tous les hôtes :
magento-cloud ssh -p <project-ID> -e <environment-ID> --all
Exemple de réponse :
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
Pour afficher la liste des journaux d’environnement distant :
magento-cloud ssh -e <environment-ID> "ls var/log"
Exemple pour Pro :
ssh 1.ent-project-environment-id@ssh.region.magento.cloud "ls var/log | grep error"
Pour afficher un journal distant :
magento-cloud ssh -e <environment-ID> "cat var/log/cron.log"
Exemple pour Pro :
ssh 1.ent-project-environment-id@ssh.region.magento.cloud "cat var/log/cron.log"
Vous trouverez des détails complets sur la rotation des journaux de l’environnement et la durée de vie des journaux compressés dans :
/etc/logrotate.conf
et /etc/logrotate.d/<various>
.Pour les environnements d’évaluation et de production Pro, vous devez soumettre un ticket d’assistance Adobe Commerce pour demander des modifications dans la configuration de la rotation du journal.
Pour l’intégration Pro, vous devez mettre en œuvre une solution/un script personnalisé et configurer votre cron pour exécuter le script si nécessaire.
Créer et déployer des journaux
Après avoir envoyé les modifications à votre environnement, vous pouvez vérifier la journalisation de chaque hook dans le fichier var/log/cloud.log
. Le journal contient les messages de démarrage et d’arrêt pour chaque hook. Dans l'exemple suivant, les messages sont « Starting post-deploy.
» et « Post-deploy is complete.
»
Vérifiez les horodatages sur les entrées du journal, puis recherchez les journaux d’un déploiement spécifique. Voici un exemple condensé de sortie de journal que vous pouvez utiliser à des fins de dépannage :
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.
Les journaux suivants ont un emplacement commun pour tous les projets cloud :
- Journal de déploiement :
var/log/cloud.log
- Dernier journal des erreurs de déploiement :
var/log/cloud.error.log
- Journal de débogage :
var/log/debug.log
- Journal des exceptions :
var/log/exception.log
- Journal système :
var/log/system.log
- Journal d’assistance :
var/log/support_report.log
- Rapports :
var/report/
Bien que le fichier cloud.log
contienne des commentaires provenant de chaque étape du processus de déploiement, les journaux créés par le hook de déploiement sont propres à chaque environnement. Le journal de déploiement spécifique à un environnement se trouve dans les répertoires suivants :
- Intégration Starter et Pro :
/var/log/deploy.log
- Évaluation Pro :
/var/log/platform/<project-ID>_stg/deploy.log
- Pro Production :
/var/log/platform/<project-ID>/deploy.log
Journal de déploiement
Le journal de chaque déploiement se concatène dans le fichier deploy.log
spécifique. L’exemple suivant imprime le journal de déploiement de l’environnement actuel dans le terminal :
magento-cloud log -e <environment-ID> deploy
Exemple de réponse :
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.
...
Journal des erreurs
Les messages d’erreur et d’avertissement générés lors du processus de déploiement sont écrits dans les fichiers var/log/cloud.log
et var/log/cloud.error.log
. Le fichier journal des erreurs cloud contient uniquement des erreurs et des avertissements du dernier déploiement. Un fichier vide indique un déploiement réussi sans erreur.
Vous pouvez afficher le fichier journal à l'aide du SSH Cloud CLI, ou vous pouvez utiliser ECE-Tools pour afficher les erreurs avec des suggestions :
magento-cloud ssh -e <environment-ID> "./vendor/bin/ece-tools error:show"
Exemple de réponse :
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
La plupart des messages d’erreur contiennent une description et une action suggérée. Utilisez la référence Message d'erreur pour ECE-Tools pour rechercher le code d'erreur afin d'obtenir d'autres indications. Pour plus d’informations, utilisez l’utilitaire de dépannage du déploiement d’Adobe Commerce 🔗.
Logs de l'application
Comme pour les journaux de déploiement, les journaux d’application sont uniques pour chaque environnement :
/var/log/cron.log
/var/log/access.log
/var/log/error.log
/var/log/php.access.log
/var/log/app.log
Pour les environnements d’évaluation et de production Pro, les journaux Déployer, Post-déploiement et Cron ne sont disponibles que sur le premier nœud du 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
Fichiers journaux archivés
Les journaux d’application sont compressés et archivés une fois par jour et conservés pendant 30 jours. Les journaux compressés sont nommés à l’aide d’un identifiant unique qui correspond au Number of Days Ago + 1
. Par exemple, sur les environnements de production Pro, un journal d’accès PHP datant de 21 jours est stocké et nommé comme suit :
/var/log/platform/<project-ID>/php.access.log.22.gz
Les fichiers journaux archivés sont toujours stockés dans le répertoire où se trouvait le fichier d’origine avant la compression.
Logs de service
Comme chaque service s’exécute dans un conteneur distinct, les journaux de service ne sont pas disponibles dans l’environnement d’intégration. Adobe Commerce sur les infrastructures cloud permet d’accéder au conteneur du serveur web dans l’environnement d’intégration uniquement. Les emplacements de journaux de service suivants sont destinés aux environnements de production et d'évaluation Pro :
- Journal Redis :
/var/log/platform/<project-ID>_stg/redis-server-<project-ID>_stg.log
- journal Elasticsearch :
/var/log/elasticsearch/elasticsearch.log
- Journal de nettoyage de la mémoire Java :
/var/log/elasticsearch/gc.log
- Journal des e-mails :
/var/log/mail.log
- Journal des erreurs MySQL :
/var/log/mysql/mysql-error.log
- Log lent de MySQL :
/var/log/mysql/mysql-slow.log
- Journal RabbitMQ :
/var/log/rabbitmq/rabbit@host1.log
Les journaux de service sont archivés et enregistrés pendant différentes périodes, selon le type de journal. Par exemple, les journaux MySQL ont la durée de vie la plus courte : ils sont supprimés après sept jours.
Données de journal pour la production et l’évaluation Pro
Dans les environnements de production et d’évaluation Pro, utilisez la gestion des journaux New Relic intégrée à votre projet pour gérer les données de journaux agrégées à partir de tous les journaux associés à votre projet d’infrastructure Adobe Commerce sur le cloud.
L’application Journaux New Relic fournit un tableau de bord de gestion des journaux centralisé pour dépanner et surveiller Adobe Commerce sur les infrastructures cloud et les environnements d’évaluation et de production. Le tableau de bord permet également d’accéder aux données de journal pour les services Fast CDN, Image Optimization et Web Application Firewall (WAF). Voir Services New Relic.