AWS PCS의 스케줄러 로그 - AWS PCS

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

AWS PCS의 스케줄러 로그

클러스터 스케줄러에서 Amazon CloudWatch Logs, Amazon Simple Storage Service(Amazon S3) 및 Amazon Data Firehose로 세부 로깅 데이터를 보내도록 AWS PCS를 구성할 수 있습니다. 이는 모니터링 및 문제 해결에 도움이 될 수 있습니다.

사전 조건

AWS PCS 클러스터를 관리하는 IAM 보안 주체는 pcs:AllowVendedLogDeliveryForResource 작업을 허용해야 합니다.

다음 예제 IAM 정책은 필요한 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PcsAllowVendedLogsDelivery", "Effect": "Allow", "Action": ["pcs:AllowVendedLogDeliveryForResource"], "Resource": [ "arn:aws:pcs:::cluster/*" ] } ] }

스케줄러 로그 설정

AWS Management Console 또는를 사용하여 AWS PCS 클러스터에 대한 스케줄러 로그를 설정할 수 있습니다 AWS CLI.

AWS Management Console
콘솔을 사용하여 스케줄러 로그를 설정하려면
  1. AWS PCS 콘솔을 엽니다.

  2. 탐색 창에서 클러스터를 선택합니다.

  3. 스케줄러 로그를 추가할 클러스터를 선택합니다.

  4. 클러스터 세부 정보 페이지에서 로그 탭을 선택합니다.

  5. 스케줄러 로그에서 추가를 선택하여 CloudWatch Logs, Amazon S3 및 Firehose 중에서 최대 3개의 로그 전송 대상을 추가합니다. CloudWatch

  6. 로그 전송 업데이트를 선택합니다.

AWS CLI
를 사용하여 스케줄러 로그를 설정하려면 AWS CLI
  1. 로그 전송 대상 생성:

    aws logs put-delivery-destination --region region \ --name pcs-logs-destination \ --delivery-destination-configuration \ destinationResourceArn=resource-arn

    다음과 같이 바꿉니다.

    • region -와 같이 대상을 생성하려는 AWS 리전 입니다. us-east-1

    • pcs-logs-destination - 대상의 이름

    • resource-arn - CloudWatch Logs 로그 그룹, S3 버킷 또는 Firehose 전송 스트림의 Amazon 리소스 이름(ARN)입니다.

    자세한 내용은 Amazon CloudWatch Logs API 참조에 나와 있는 PutDeliveryDestination을 참조하시기 바랍니다.

  2. PCS 클러스터를 로그 전송 소스로 설정합니다.

    aws logs put-delivery-source --region region \ --name cluster-logs-source-name \ --resource-arn cluster-arn \ --log-type PCS_SCHEDULER_LOGS

    다음과 같이 바꿉니다.

    • region -와 같은 클러스터 AWS 리전 의 us-east-1

    • cluster-logs-source-name - 소스의 이름입니다.

    • cluster-arn - AWS PCS 클러스터의 ARN

    자세한 내용은 Amazon CloudWatch Logs API 참조의 PutDeliverySource를 참조하세요. Amazon CloudWatch

  3. 전송 소스를 전송 대상에 연결합니다.

    aws logs create-delivery --region region \ --delivery-source-name cluster-logs-source \ --delivery-destination-arn destination-arn

    다음과 같이 바꿉니다.

    • region - AWS 리전와 같은 us-east-1

    • cluster-logs-source - 전송 소스의 이름입니다.

    • destination-arn - 전송 대상의 ARN입니다.

    자세한 내용은 Amazon CloudWatch Logs API 참조의 CreateDelivery를 참조하세요. Amazon CloudWatch

스케줄러 로그 스트림 경로 및 이름

AWS PCS 스케줄러 로그의 경로와 이름은 대상 유형에 따라 다릅니다.

  • CloudWatch Logs

    • CloudWatch Logs 스트림은이 명명 규칙을 따릅니다.

      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 스케줄러 로그는 구조화되어 있습니다. 여기에는 Slurm 컨트롤러 프로세스에서 내보낸 로그 메시지 외에도 클러스터 식별자, 스케줄러 유형, 메이저 및 패치 버전과 같은 필드가 포함됩니다. 다음 예를 참고하세요

{
    "resource_id": "s3431v9rx2",
    "resource_type": "PCS_CLUSTER",
    "event_timestamp": 1721230979,
    "log_level": "info",
    "log_name": "slurmctld",
    "scheduler_type": "slurm",
    "scheduler_major_version": "24.11",
    "scheduler_patch_version": "5",
    "node_type": "controller_primary",
    "message": "[2024-07-17T15:42:58.614+00:00] Running as primary controller\n"
}