Protokolle anzeigen und verwalten
Protokolle für Adobe Commerce in Cloud-Infrastrukturprojekten sind zur Fehlerbehebung bei Problemen mit Hooks erstellen und bereitstellen, Cloud-Services und der Adobe Commerce-Anwendung.
Sie können die Protokolle aus dem Dateisystem, dem Cloud Consoleund die magento-cloud
CLI.
-
Dateisystem—Die
/var/log
Das Systemverzeichnis enthält Protokolle für alle Umgebungen. Dievar/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 zum Build, zur Bereitstellung und nach der Bereitstellung in der Umgebung anzeigen. messages Liste.
-
Cloud-CLI—Sie können lokale Umgebungsprotokolle mit der
magento-cloud log
-Befehl oder Remote-Umgebungsprotokolle mitmagento-cloud ssh
Befehl.
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 Produktion:
/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. Beispielsweise mit einer Projekt-ID von yw1unoukjcawe
, lautet 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 Cron konfigurieren , um das Skript nach Bedarf auszuführen.Protokolle erstellen und bereitstellen
Nachdem Sie Änderungen an Ihre Umgebung gepusht haben, können Sie die Protokollierung von jedem Hook im var/log/cloud.log
-Datei. Das Protokoll enthält Start- und Stopp-Meldungen für jeden Hook. Im folgenden Beispiel lautet die Meldung "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
- Fehlerprotokoll bei der letzten Bereitstellung:
var/log/cloud.error.log
- Debug-Protokoll:
var/log/debug.log
- Ausnahmeprotokoll:
var/log/exception.log
- Systemprotokoll:
var/log/system.log
- Support-Protokoll:
var/log/support_report.log
- Berichte:
var/report/
Die cloud.log
-Datei enthält Feedback aus jeder Phase des Bereitstellungsprozesses. Die vom Bereitstellungs-Hook erstellten Protokolle sind für jede Umgebung eindeutig. Das umgebungsspezifische Bereitstellungsprotokoll befindet sich in den folgenden Verzeichnissen:
- Integration von Starter und Pro:
/var/log/deploy.log
- Pro Staging:
/var/log/platform/<project-ID>_stg/deploy.log
- Pro Produktion:
/var/log/platform/<project-ID>/deploy.log
Bereitstellungsprotokoll
Das Protokoll für jede Bereitstellung verkettet sich mit dem spezifischen deploy.log
-Datei. 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
und var/log/cloud.error.log
-Dateien. 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 SSHoder Sie können 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. Für weitere Anleitungen verwenden Sie die Fehlerbehebung bei der Adobe Commerce-Bereitstellung.
Anwendungsprotokolle
Ähnlich wie bei Bereitstellungsprotokollen sind die Anwendungsprotokolle für jede Umgebung eindeutig:
/var/log/post_deploy.log
/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
. 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:
- Redist-Protokoll:
/var/log/platform/<project-ID>_stg/redis-server-<project-ID>_stg.log
- Elasticsearch-Protokoll:
/var/log/elasticsearch/elasticsearch.log
- Java-Speicherbereinigungsprotokoll:
/var/log/elasticsearch/gc.log
- Mail-Protokoll:
/var/log/mail.log
- MySQL-Fehlerprotokoll:
/var/log/mysql/mysql-error.log
- MySQL langsame Protokollierung:
/var/log/mysql/mysql-slow.log
- RabbitMQ-Protokoll:
/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 Production- und Staging-Umgebungen Protokollverwaltung von New Relic in Ihr Projekt integriert ist, um aggregierte Protokolldaten aus allen Logs zu verwalten, die mit Ihrem Adobe Commerce-Projekt in der Cloud-Infrastruktur verknüpft sind.
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.