로그 보기 및 관리
클라우드 인프라 프로젝트의 Adobe Commerce 로그는 후크 빌드 및 배포, 클라우드 서비스 및 Adobe Commerce 애플리케이션과 관련된 문제를 해결하는 데 유용합니다.
파일 시스템, Cloud Console 및 magento-cloud
CLI에서 로그를 볼 수 있습니다.
-
파일 시스템 -
/var/log
시스템 디렉터리에 모든 환경에 대한 로그가 있습니다.var/log/
디렉터리에 특정 환경에 고유한 앱별 로그가 있습니다. 이러한 디렉토리는 클러스터의 노드 간에 공유되지 않습니다. Pro 프로덕션 및 스테이징 환경에서는 각 노드의 로그를 확인해야 합니다. -
Cloud Console—환경 메시지 목록에서 로그 정보를 빌드, 배포 및 배포 후 확인할 수 있습니다.
-
Cloud CLI -
magento-cloud log
명령을 사용하여 로컬 환경 로그를 보거나magento-cloud ssh
명령을 사용하여 원격 환경 로그를 볼 수 있습니다.
로그 위치
시스템 로그는 다음 위치에 저장됩니다.
- 통합:
/var/log/<log-name>.log
- Pro 스테이징:
/var/log/platform/<project-ID>_stg/<log-name>.log
- 프로프로덕션:
/var/log/platform/<project-ID>/<log-name>.log
<project-ID>
의 값은 프로젝트와 환경이 스테이징인지 아니면 프로덕션인지에 따라 다릅니다. 예를 들어 프로젝트 ID가 yw1unoukjcawe
인 경우 스테이징 환경 사용자는 yw1unoukjcawe_stg
이고 프로덕션 환경 사용자는 yw1unoukjcawe
입니다.
이 예제를 사용하면 배포 로그는 /var/log/platform/yw1unoukjcawe_stg/deploy.log
입니다.
원격 환경 로그 보기
대부분의 로그에는 원격 환경에서 발생하는 이벤트가 포함됩니다. Pro의 경우 여러 노드가 있고 각 노드에는 고유한 로그가 있습니다. 모든 호스트 목록을 보려면 다음을 사용하십시오.
magento-cloud ssh -p <project-ID> -e <environment-ID> --all
샘플 응답:
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
원격 환경 로그 목록을 보려면:
magento-cloud ssh -e <environment-ID> "ls var/log"
Pro의 경우:
ssh 1.ent-project-environment-id@ssh.region.magento.cloud "ls var/log | grep error"
원격 로그를 보려면:
magento-cloud ssh -e <environment-ID> "cat var/log/cron.log"
Pro의 경우:
ssh 1.ent-project-environment-id@ssh.region.magento.cloud "cat var/log/cron.log"
/etc/logrotate.conf
및 /etc/logrotate.d/<various>
에서 찾을 수 있습니다. Pro 통합 환경에서는 로그 순환을 구성할 수 없습니다. Pro 통합의 경우 사용자 지정 솔루션/스크립트를 구현하고 필요에 따라 스크립트를 실행하도록 cron을 구성해야 합니다.로그 작성 및 배포
변경 내용을 환경에 푸시한 후 var/log/cloud.log
파일의 각 후크에서 로깅을 검토할 수 있습니다. 로그에는 각 후크에 대한 시작 및 중지 메시지가 포함되어 있습니다. 다음 예제에서는 메시지가 "Starting post-deploy.
" 및 "Post-deploy is complete.
"입니다.
로그 항목에 대한 타임스탬프를 확인하고 특정 배포에 대한 로그를 확인합니다. 다음은 문제 해결에 사용할 수 있는 로그 출력의 압축된 예입니다.
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.
다음 로그에는 모든 클라우드 프로젝트에 대한 공통 위치가 있습니다.
- 배포 로그:
var/log/cloud.log
- 마지막 배포 오류 로그:
var/log/cloud.error.log
- 디버그 로그:
var/log/debug.log
- 예외 로그:
var/log/exception.log
- 시스템 로그:
var/log/system.log
- 지원 로그:
var/log/support_report.log
- 보고서:
var/report/
cloud.log
파일에 배포 프로세스의 각 단계에서 받은 피드백이 포함되어 있지만 배포 후크에서 만든 로그는 각 환경에 대해 고유합니다. 환경별 배포 로그는 다음 디렉토리에 있습니다.
- Starter 및 Pro 통합:
/var/log/deploy.log
- Pro 스테이징:
/var/log/platform/<project-ID>_stg/deploy.log
- Pro 프로덕션:
/var/log/platform/<project-ID>/deploy.log
로그 배포
각 배포에 대한 로그는 특정 deploy.log
파일에 연결됩니다. 다음 예제에서는 터미널에 현재 환경의 배포 로그를 인쇄합니다.
magento-cloud log -e <environment-ID> deploy
샘플 응답:
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.
...
오류 로그
배포 프로세스 중에 생성된 오류 및 경고 메시지는 var/log/cloud.log
및 var/log/cloud.error.log
파일에 모두 기록됩니다. 클라우드 오류 로그 파일에는 최신 배포의 오류와 경고만 포함되어 있습니다. 빈 파일은 오류 없이 성공적으로 배포했음을 나타냅니다.
Cloud CLI SSH를 사용하여 로그 파일을 보거나 ECE-Tools를 사용하여 오류를 표시하며 다음과 같은 제안을 할 수 있습니다.
magento-cloud ssh -e <environment-ID> "./vendor/bin/ece-tools error:show"
샘플 응답:
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
대부분의 오류 메시지에는 설명 및 제안 작업이 포함되어 있습니다. 추가 지침을 위해 오류 코드를 조회하려면 ECE-Tools용 오류 메시지 참조를 사용하십시오. 자세한 지침은 Adobe Commerce 배포 문제 해결사를 사용하십시오.
애플리케이션 로그
배포 로그와 마찬가지로 애플리케이션 로그는 각 환경에 대해 고유합니다.
/var/log/cron.log
/var/log/access.log
/var/log/error.log
/var/log/php.access.log
/var/log/app.log
Pro 스테이징 및 프로덕션 환경의 경우 배포, 사후 배포 및 Cron 로그는 클러스터의 첫 번째 노드에서만 사용할 수 있습니다.
/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
보관된 로그 파일
애플리케이션 로그는 하루에 한 번 압축되고 아카이빙되며 1년 동안 보관됩니다. Number of Days Ago + 1
에 해당하는 고유 ID를 사용하여 압축 로그 이름을 지정합니다. 예를 들어 Pro 프로덕션 환경에서는 과거 21일 동안의 PHP 액세스 로그가 다음과 같이 저장되고 이름이 지정됩니다.
/var/log/platform/<project-ID>/php.access.log.22.gz
아카이브된 로그 파일은 항상 압축 전에 원래 파일이 있던 디렉토리에 저장됩니다.
서비스 로그
각 서비스는 별도의 컨테이너에서 실행되므로 통합 환경에서 서비스 로그를 사용할 수 없습니다. Adobe Commerce on cloud infrastructure는 통합 환경에서만 웹 서버 컨테이너에 액세스할 수 있습니다. 다음 서비스 로그 위치는 Pro 프로덕션 및 스테이징 환경용입니다.
- Redis 로그:
/var/log/platform/<project-ID>_stg/redis-server-<project-ID>_stg.log
- Elasticsearch 로그:
/var/log/elasticsearch/elasticsearch.log
- Java 가비지 수집 로그:
/var/log/elasticsearch/gc.log
- 메일 로그:
/var/log/mail.log
- MySQL 오류 로그:
/var/log/mysql/mysql-error.log
- MySQL 느린 로그:
/var/log/mysql/mysql-slow.log
- RabbitMQ 로그:
/var/log/rabbitmq/rabbit@host1.log
서비스 로그는 로그 유형에 따라 서로 다른 기간 동안 보관되고 저장됩니다. 예를 들어 MySQL 로그는 7일 후에 제거되어 수명이 가장 짧습니다.
Pro 프로덕션 및 스테이징에 대한 로그 데이터
Pro 프로덕션 및 스테이징 환경에서 프로젝트와 통합된 New Relic 로그 관리를 사용하여 클라우드 인프라 프로젝트에서 Adobe Commerce과 연결된 모든 로그의 집계된 로그 데이터를 관리합니다.
New Relic 로그 애플리케이션은 클라우드 인프라 프로덕션 및 스테이징 환경에서 Adobe Commerce의 문제를 해결하고 모니터링하는 중앙 집중식 로그 관리 대시보드를 제공합니다. 또한 대시보드는 Fastly CDN, 이미지 최적화 및 WAF(Web Application Firewall) 서비스의 로그 데이터에 대한 액세스를 제공합니다. New Relic 서비스를 참조하세요.