Protokolle anzeigen und verwalten
Protokolle für Adobe Commerce in Cloud-Infrastrukturprojekten eignen sich zur Fehlerbehebung bei Problemen mit dem Erstellen und Bereitstellen von Hooks🔗, Cloud-Services und der Adobe Commerce-Anwendung.
Sie können die Protokolle aus dem Dateisystem, der Cloud Console und der magento-cloud
-CLI anzeigen.
-
Dateisystem - Der Systemordner
/var/log
enthält Protokolle für alle Umgebungen. Das Verzeichnisvar/log/
enthält App-spezifische Protokolle, die für eine bestimmte Umgebung eindeutig sind. Diese Ordner werden nicht von Knoten in einem Cluster gemeinsam genutzt. In Pro-Produktions- und Staging-Umgebungen müssen Sie die Protokolle auf jedem Knoten überprüfen. -
Cloud Console - Sie können Protokollinformationen nach der Bereitstellung in der Umgebungsliste messages sehen.
-
Cloud-CLI: Sie können lokale Umgebungsprotokolle mit dem Befehl
magento-cloud log
oder Remote-Umgebungsprotokolle mit dem Befehlmagento-cloud ssh
anzeigen.
Protokollspeicherorte
Systemprotokolle werden an den folgenden Speicherorten gespeichert:
- Integration:
/var/log/<log-name>.log
- Pro Staging:
/var/log/platform/<project-ID>_stg/<log-name>.log
- Pro Production:
/var/log/platform/<project-ID>/<log-name>.log
Der Wert von <project-ID>
hängt vom Projekt ab und davon, ob es sich bei der Umgebung um Staging oder Produktion handelt. Mit der Projekt-ID yw1unoukjcawe
ist beispielsweise der Benutzer der Staging-Umgebung yw1unoukjcawe_stg
und der Benutzer der Produktionsumgebung yw1unoukjcawe
.
In diesem Beispiel lautet das Bereitstellungsprotokoll: /var/log/platform/yw1unoukjcawe_stg/deploy.log
Remote-Umgebungsprotokolle anzeigen
Die meisten Protokolle enthalten Ereignisse, die in der Remote-Umgebung auftreten. Für Pro gibt es mehrere Knoten und jeder Knoten verfügt über eindeutige Protokolle. Verwenden Sie Folgendes, um eine Liste aller Hosts anzuzeigen:
magento-cloud ssh -p <project-ID> -e <environment-ID> --all
Beispielantwort:
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
So zeigen Sie eine Liste der Remote-Umgebungsprotokolle an:
magento-cloud ssh -e <environment-ID> "ls var/log"
Beispiel für Pro:
ssh 1.ent-project-environment-id@ssh.region.magento.cloud "ls var/log | grep error"
So zeigen Sie ein Remote-Protokoll an:
magento-cloud ssh -e <environment-ID> "cat var/log/cron.log"
Beispiel für Pro:
ssh 1.ent-project-environment-id@ssh.region.magento.cloud "cat var/log/cron.log"
/etc/logrotate.conf
und /etc/logrotate.d/<various>
. Die Protokollrotation kann nicht in Pro Integration-Umgebungen konfiguriert werden. Für die Pro-Integration müssen Sie eine benutzerdefinierte Lösung/ein benutzerdefiniertes Skript implementieren und Ihren Cron konfigurieren, um das Skript nach Bedarf auszuführen.Protokolle erstellen und bereitstellen
Nachdem Sie Änderungen an Ihre Umgebung gesendet haben, können Sie die Protokollierung von jedem Hook in der Datei var/log/cloud.log
überprüfen. Das Protokoll enthält Start- und Stopp-Meldungen für jeden Hook. Im folgenden Beispiel sind die Meldungen "Starting post-deploy.
" und "Post-deploy is complete.
"
Überprüfen Sie die Zeitstempel für Protokolleinträge, überprüfen Sie die Protokolle und suchen Sie nach den Protokollen für eine bestimmte Bereitstellung. Im Folgenden finden Sie ein gekürztes Beispiel für die Protokollausgabe, die Sie zur Fehlerbehebung verwenden können:
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.
Die folgenden Protokolle haben einen gemeinsamen Speicherort für alle Cloud-Projekte:
- Bereitstellungsprotokoll:
var/log/cloud.log
- Letztes Bereitstellungsfehlerprotokoll:
var/log/cloud.error.log
- Debug log:
var/log/debug.log
- Ausnahmeprotokoll:
var/log/exception.log
- Systemlog:
var/log/system.log
- Support log:
var/log/support_report.log
- Berichte:
var/report/
Obwohl die Datei "cloud.log
" Feedback aus jeder Phase des Bereitstellungsprozesses enthält, sind die vom Bereitstellungs-Hook erstellten Protokolle für jede Umgebung eindeutig. Das umgebungsspezifische Bereitstellungsprotokoll befindet sich in den folgenden Verzeichnissen:
- Starter and Pro integration:
/var/log/deploy.log
- Pro Staging:
/var/log/platform/<project-ID>_stg/deploy.log
- Pro Production:
/var/log/platform/<project-ID>/deploy.log
Bereitstellungsprotokoll
Das Protokoll für jede Bereitstellung wird mit der jeweiligen deploy.log
-Datei verkettet. Im folgenden Beispiel wird das Bereitstellungsprotokoll der aktuellen Umgebung im Terminal gedruckt:
magento-cloud log -e <environment-ID> deploy
Beispielantwort:
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.
...
Fehlerprotokoll
Während des Bereitstellungsprozesses erzeugte Fehler- und Warnmeldungen werden sowohl in die var/log/cloud.log
- als auch in die var/log/cloud.error.log
-Dateien geschrieben. Die Fehlerprotokolldatei der Cloud enthält nur Fehler und Warnungen aus der neuesten Implementierung. Eine leere Datei weist auf eine erfolgreiche Implementierung ohne Fehler hin.
Sie können die Protokolldatei mit dem Cloud CLI SSH anzeigen oder die ECE-Tools verwenden, um die Fehler mit Vorschlägen anzuzeigen:
magento-cloud ssh -e <environment-ID> "./vendor/bin/ece-tools error:show"
Beispielantwort:
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
Die meisten Fehlermeldungen enthalten eine Beschreibung und eine empfohlene Aktion. Verwenden Sie die Fehlermeldungsreferenz für ECE-Tools, um den Fehlercode für weitere Anleitungen zu suchen. Weitere Anleitungen finden Sie in der Fehlerbehebung bei der Adobe Commerce-Bereitstellung 1}.
Anwendungsprotokolle
Ähnlich wie bei Bereitstellungsprotokollen sind die Anwendungsprotokolle für jede Umgebung eindeutig:
/var/log/cron.log
/var/log/access.log
/var/log/error.log
/var/log/php.access.log
/var/log/app.log
Für Staging- und Produktionsumgebungen für Pro sind die Protokolle Bereitstellung, Bereitstellung und Cron nur auf dem ersten Knoten im Cluster verfügbar:
/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
Archivierte Protokolldateien
Die Anwendungsprotokolle werden einmal täglich komprimiert und archiviert und ein Jahr lang aufbewahrt. Die komprimierten Protokolle werden mit einer eindeutigen ID benannt, die dem Number of Days Ago + 1
entspricht. Beispielsweise wird in Pro-Produktionsumgebungen ein PHP-Zugriffsprotokoll für 21 Tage in der Vergangenheit gespeichert und wie folgt benannt:
/var/log/platform/<project-ID>/php.access.log.22.gz
Die archivierten Protokolldateien werden immer in dem Ordner gespeichert, in dem sich die Originaldatei vor der Komprimierung befunden hat.
Dienstprotokolle
Da jeder Dienst in einem separaten Container ausgeführt wird, sind die Dienstprotokolle nicht in der Integrationsumgebung verfügbar. Adobe Commerce in der Cloud-Infrastruktur bietet nur Zugriff auf den Webserver-Container in der Integrationsumgebung. Die folgenden Dienstprotokollspeicherorte gelten für die Pro Production- und Staging-Umgebungen:
- Redis log:
/var/log/platform/<project-ID>_stg/redis-server-<project-ID>_stg.log
- Elasticsearch log:
/var/log/elasticsearch/elasticsearch.log
- Java-Speicherbereinigungsprotokoll:
/var/log/elasticsearch/gc.log
- Mail log:
/var/log/mail.log
- MySQL-Fehlerprotokoll:
/var/log/mysql/mysql-error.log
- MySQL-Langsames Protokoll:
/var/log/mysql/mysql-slow.log
- RabbitMQ log:
/var/log/rabbitmq/rabbit@host1.log
Dienstprotokolle werden je nach Protokolltyp für verschiedene Zeiträume archiviert und gespeichert. Beispielsweise haben MySQL-Protokolle die kürzeste Lebensdauer, die nach sieben Tagen entfernt wurde.
Protokolldaten für Pro Production und Staging
Verwenden Sie in Pro-Produktions- und Staging-Umgebungen New Relic-Protokollverwaltung, die in Ihr Projekt integriert ist, um aggregierte Protokolldaten aus allen mit Ihrer Adobe Commerce verknüpften Protokollen in einem Cloud-Infrastrukturprojekt zu verwalten.
Das New Relic Logs-Programm bietet ein zentralisiertes Protokollverwaltungs-Dashboard zur Fehlerbehebung und Überwachung von Adobe Commerce in Cloud-Infrastruktur-Produktions- und Staging-Umgebungen. Das Dashboard bietet außerdem Zugriff auf Protokolldaten für die Services Fastly CDN, Image Optimization und Web Application Firewall (WAF). Siehe New Relic-Dienste.