기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS PCS스케줄러 로그
클러스터 스케줄러에서 Amazon CloudWatch Logs, Amazon Simple Storage Service (Amazon S3) 및 Amazon Data Firehose로 상세한 로깅 데이터를 AWS PCS 전송하도록 구성할 수 있습니다. 이는 모니터링 및 문제 해결에 도움이 될 수 있습니다. AWS PCS콘솔을 사용하거나 또는 를 사용하여 프로그래밍 방식으로 AWS PCS 스케줄러 로그를 설정할 수 있습니다. AWS CLI SDK
목차
사전 조건
AWSPCS클러스터를 관리하는 데 사용되는 IAM 보안 주체는 허용해야 합니다. pcs:AllowVendedLogDeliveryForResource
다음은 이를 활성화하는 샘플 AWS IAM 정책입니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PcsAllowVendedLogsDelivery", "Effect": "Allow", "Action": ["pcs:AllowVendedLogDeliveryForResource"], "Resource": [ "arn:aws:pcs:::cluster/*" ] } ] }
콘솔을 AWS PCS 사용하여 스케줄러 로그 설정
콘솔에서 AWS PCS 스케줄러 로그를 설정하려면 다음 단계를 따르십시오.
-
AWS PCS콘솔을
엽니다. -
클러스터를 선택하고 로깅을 활성화할 AWS PCS 클러스터의 세부 정보 페이지로 이동합니다.
-
[Logs]를 선택합니다.
-
언더 로그 전송 — 스케줄러 로그 — 선택 사항
-
로그 전송 대상을 최대 3개까지 추가할 수 있습니다. CloudWatch 로그, Amazon S3 또는 Firehose를 선택할 수 있습니다.
-
[로그 전송 업데이트] 를 선택합니다.
-
이 페이지를 다시 방문하여 로그 전달을 재구성, 추가 또는 제거할 수 있습니다.
를 사용하여 스케줄러 로그를 설정합니다. AWS CLI
이 작업을 수행하려면 적어도 하나의 전송 대상, 하나의 전송 원본 (PCS클러스터) 및 하나의 배달 (원본과 대상을 연결하는 관계) 이 필요합니다.
배송 목적지를 생성하세요.
AWSPCS클러스터에서 스케줄러 로그를 수신하려면 전송 대상이 하나 이상 필요합니다. CloudWatch API사용 설명서의 PutDeliveryDestination 섹션에서 이 주제에 대해 자세히 알아볼 수 있습니다.
를 사용하여 배송지를 생성하려면 AWS CLI
-
다음 명령을 사용하여 목적지를 생성합니다. 명령을 실행하기 전에 다음과 같은 바꾸기를 합니다.
-
Replace
region-code
목적지를 생성할 AWS 리전 위치를 사용합니다. 이 지역은 일반적으로 AWS PCS 클러스터가 배포되는 지역과 동일합니다. -
Replace
pcs-logs-destination
원하는 이름을 사용하세요. 계정 내 모든 배송 목적지에 대해 고유해야 합니다. -
Replace
resource-arn
ARNLogs의 기존 로그 그룹, S3 버킷 또는 Firehose의 전송 스트림을 사용합니다. CloudWatch 그러한 예는 다음과 같습니다.-
CloudWatch 로그 그룹
arn:aws:logs:
region-code
:account-id
:log-group:/log-group-name
:* -
S3 버킷
arn:aws:s3:::
bucket-name
-
Firehose 딜리버리 스트림
arn:aws:firehose:
region-code
:account-id
:deliverystream/stream-name
-
-
aws logs put-delivery-destination --region
region-code
\ --namepcs-logs-destination
\ --delivery-destination-configuration destinationResourceArn=resource-arn
전송을 구성하는 데 필요하므로 새 전송 목적지의 경우 이 정보를 기록해 두십시오. ARN
AWS PCS클러스터를 전송 소스로 활성화합니다.
에서 AWS PCS 스케줄러 로그를 수집하려면 클러스터를 전송 소스로 구성하십시오. 자세한 내용은 Amazon CloudWatch 로그 API 참조를 참조하십시오 PutDeliverySource.
를 사용하여 클러스터를 전송 소스로 구성하려면 AWS CLI
-
다음 명령을 사용하여 클러스터에서 로그 전송을 활성화합니다. 명령을 실행하기 전에 다음과 같은 바꾸기를 합니다.
-
Replace
region-code
클러스터가 배포된 AWS 리전 위치와 함께 -
Replace
cluster-logs-source-name
이 소스의 이름을 포함합니다. 내 모든 배송 소스에서 고유해야 합니다 AWS 계정. AWS PCS클러스터의 이름 또는 ID를 통합하는 것을 고려해 보십시오. -
Replace
cluster-arn
사용 중인 클러스터와 함께 ARN 사용하십시오. AWS PCS
-
aws logs put-delivery-source \ --region
region-code
\ --namecluster-logs-source-name
\ --resource-arncluster-arn
\ --log-type PCS_SCHEDULER_LOGS
클러스터 전송 소스를 전송 대상에 연결
클러스터에서 목적지로 스케줄러 로그 데이터가 흐르도록 하려면 스케줄러 로그 데이터를 연결하는 전송을 구성해야 합니다. 자세한 내용은 Amazon CloudWatch 로그 API 참조를 참조하십시오 CreateDelivery.
를 사용하여 배송을 생성하려면 AWS CLI
-
다음 명령을 사용하여 배달을 생성합니다. 명령을 실행하기 전에 다음과 같은 바꾸기를 합니다.
-
Replace
region-code
소스 및 목적지가 AWS 리전 있는 위치를 사용합니다. -
Replace
cluster-logs-source-name
위에 적힌 배송 출처 이름과 함께 -
Replace
destination-arn
로그를 전송하고자 하는 배송지에서 ARN 가져온 것과 함께 사용하세요.
-
aws logs create-delivery \ --region
region-code
\ --delivery-source-namecluster-logs-source
\ --delivery-destination-arndestination-arn
스케줄러 로그 스트림 경로 및 이름
AWSPCS스케줄러 로그의 경로와 이름은 대상 유형에 따라 달라집니다.
-
CloudWatch 로그
-
A CloudWatch 로그 스트림은 이 명명 규칙을 따릅니다.
AWSLogs/PCS/${cluster_id}/${log_name}_${scheduler_major_version}.log
예
AWSLogs/PCS/abcdef0123/slurmctld_24.05.log
-
-
S3 버킷
-
S3 버킷 출력 경로는 다음과 같은 명명 규칙을 따릅니다.
AWSLogs/${account-id}/PCS/${region}/${cluster_id}/${log_name}/${scheduler_major_version}/yyyy/MM/dd/HH/
예
AWSLogs/111111111111/PCS/us-east-2/abcdef0123/slurmctld/24.05/2024/09/01/00.
-
S3 객체 이름은 다음 규칙을 따릅니다.
PCS_${log_name}_${scheduler_major_version}_#{expr date 'event_timestamp', format: "yyyy-MM-dd-HH"}_${cluster_id}_${hash}.log
예
PCS_slurmctld_24.05_2024-09-01-00_abcdef0123_0123abcdef.log
-
예제 AWS PCS 스케줄러 로그 레코드
AWSPCS스케줄러 로그는 구조화되어 있습니다. 여기에는 Slurm 컨트롤러 프로세스에서 내보내는 로그 메시지 외에도 클러스터 식별자, 스케줄러 유형, 메이저 및 패치 버전과 같은 필드가 포함됩니다. 다음 예를 참고하세요
{
"resource_id": "s3431v9rx2",
"resource_type": "PCS_CLUSTER",
"event_timestamp": 1721230979,
"log_level": "info",
"log_name": "slurmctld",
"scheduler_type": "slurm",
"scheduler_major_version": "23.11",
"scheduler_patch_version": "8",
"node_type": "controller_primary",
"message": "[2024-07-17T15:42:58.614+00:00] Running as primary controller\n"
}