로그 검색 및 보존 - AWS ParallelCluster

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

로그 검색 및 보존

AWS ParallelCluster 컴퓨팅 인스턴스 HeadNode 및 스토리지에 대한 Amazon EC2 지표를 생성합니다. CloudWatch 콘솔 사용자 지정 대시보드에서 지표를 볼 수 있습니다. AWS ParallelCluster 또한 로그 그룹에 클러스터 CloudWatch 로그 스트림을 생성합니다. CloudWatch 콘솔 사용자 지정 대시보드 또는 로그 그룹에서 이러한 로그를 볼 수 있습니다. 모니터링 클러스터 구성 섹션에서는 클러스터 CloudWatch 로그 및 대시보드를 수정하는 방법을 설명합니다. 자세한 내용은 Amazon CloudWatch Logs와 통합아마존 CloudWatch 대시보드 섹션을 참조하세요.

로그는 문제를 해결하는 데 유용한 리소스입니다. 예를 들어, 장애가 발생한 클러스터를 삭제하려면 먼저 클러스터 로그의 아카이브를 만드는 것이 유용할 수 있습니다. 아카이브를 생성하려면 아카이브 로그에서 다음 단계를 따르세요.

에서는 클러스터 로그를 사용할 수 없습니다. CloudWatch

에서 CloudWatch 클러스터 로그를 사용할 수 없는 경우 구성에 사용자 지정 로그를 추가할 때 AWS ParallelCluster CloudWatch 로그 구성을 덮어쓰지 않았는지 확인하세요.

구성에 사용자 지정 로그를 추가하려면 CloudWatch 구성을 가져와서 덮어쓰지 말고 구성에 추가해야 합니다. fetch-config및 에 대한 자세한 내용은 사용 append-config 설명서의 다중 CloudWatch 에이전트 구성 파일을 참조하십시오. CloudWatch

AWS ParallelCluster CloudWatch 로그 구성을 복원하려면 AWS ParallelCluster 노드 내에서 다음 명령을 실행할 수 있습니다.

$ PLATFORM="$(ohai platform | jq -r ".[]")" LOG_GROUP_NAME="$(cat /etc/chef/dna.json | jq -r ".cluster.log_group_name")" SCHEDULER="$(cat /etc/chef/dna.json | jq -r ".cluster.scheduler")" NODE_ROLE="$(cat /etc/chef/dna.json | jq -r ".cluster.node_type")" CONFIG_DATA_PATH="/usr/local/etc/cloudwatch_agent_config.json" /opt/parallelcluster/pyenv/versions/cookbook_virtualenv/bin/python /usr/local/bin/write_cloudwatch_agent_json.py --platform $PLATFORM --config $CONFIG_DATA_PATH --log-group $LOG_GROUP_NAME --scheduler $SCHEDULER --node-role $NODE_ROLE /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s

아카이브 로그

로그는 Amazon S3 또는 로컬 파일(--output-file 파라미터에 따라 다름)에 보관할 수 있습니다.

참고

Amazon S3 버킷 정책에 권한을 추가하여 CloudWatch 액세스 권한을 부여합니다. 자세한 내용은 CloudWatch Logs 사용 설명서의 Amazon S3 버킷에 대한 권한 설정을 참조하십시오.

$ pcluster export-cluster-logs --cluster-name mycluster --region eu-west-1 \ --bucket bucketname --bucket-prefix logs { "url": "https://bucketname.s3.eu-west-1.amazonaws.com/export-log/mycluster-logs-202109071136.tar.gz?..." } # use the --output-file parameter to save the logs locally $ pcluster export-cluster-logs --cluster-name mycluster --region eu-west-1 \ --bucket bucketname --bucket-prefix logs --output-file /tmp/archive.tar.gz { "path": "/tmp/archive.tar.gz" }

아카이브에는 구성 또는 명령 파라미터에 명시적으로 지정되지 않은 한 지난 14일 동안 헤드 노드와 컴퓨팅 노드에서 발생한 Amazon CloudWatch Logs 스트림과 AWS CloudFormation 스택 이벤트가 포함됩니다. export-cluster-logs 명령이 완료되는 데 걸리는 시간은 클러스터의 노드 수와 Logs에서 CloudWatch 사용 가능한 로그 스트림 수에 따라 달라집니다. 사용 가능한 로그 스트림에 대한 자세한 내용은 Amazon CloudWatch Logs와 통합 섹션을 참조하세요.

보존된 로그

버전 3.0.0부터 클러스터가 삭제될 때 기본적으로 CloudWatch 로그를 AWS ParallelCluster 보존합니다. 클러스터를 삭제하고 해당 로그를 보존하려면 클러스터 구성에서 Monitoring/Logs/CloudWatch/DeletionPolicyDelete로 설정되어 있지 않은지 확인하세요. 그렇지 않으면 이 필드의 값을 Retain으로 변경하고 pcluster update-cluster 명령을 실행하세요. 그런 다음 pcluster delete-cluster --cluster-name <cluster_name> 를 실행하여 클러스터를 삭제하지만 Amazon에 저장된 로그 그룹은 그대로 유지합니다 CloudWatch.

종료된 노드 로그

정적 컴퓨팅 노드가 예기치 않게 종료되고 이에 대한 CloudWatch 로그가 없는 경우 해당 컴퓨팅 노드에 대한 콘솔 출력이 로그에 헤드 노드에 AWS ParallelCluster 기록되었는지 확인하십시오. /var/log/parallelcluster/compute_console_output 자세한 정보는 디버깅을 위한 키 로그을 참조하세요.

/var/log/parallelcluster/compute_console_output로그를 사용할 수 없거나 노드에 대한 출력이 포함되어 있지 않은 경우 를 사용하여 장애가 발생한 AWS CLI 노드에서 콘솔 출력을 검색하십시오. 클러스터 헤드 노드에 로그인하고 /var/log/parallelcluster/slurm_resume.log 파일에서 장애가 발생한 노드 instance-id를 가져옵니다.

instance-id로 다음 명령을 사용하여 콘솔 출력을 검색합니다.

$ aws ec2 get-console-output --instance-id i-abcdef01234567890

동적 컴퓨팅 노드가 시작 후 자체 종료되고 해당 노드에 대한 CloudWatch 로그가 없는 경우 클러스터 조정 작업을 활성화하는 작업을 제출하십시오. 인스턴스에 장애가 발생할 때까지 기다린 다음 인스턴스 콘솔 로그를 검색하세요.

클러스터 헤드 노드에 로그인하고 /var/log/parallelcluster/slurm_resume.log 파일에서 컴퓨팅 노드 instance-id를 가져옵니다.

다음 명령을 사용하여 인스턴스 콘솔 로그를 검색합니다.

$ aws ec2 get-console-output --instance-id i-abcdef01234567890

콘솔 출력 로그는 컴퓨팅 노드 로그를 사용할 수 없을 때 컴퓨팅 노드 장애의 근본 원인을 디버깅하는 데 도움이 될 수 있습니다.