AWS PCS스케줄러 로그 - AWS PCS

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

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 스케줄러 로그를 설정하려면 다음 단계를 따르십시오.

  1. AWS PCS콘솔을 엽니다.

  2. 클러스터를 선택하고 로깅을 활성화할 AWS PCS 클러스터의 세부 정보 페이지로 이동합니다.

  3. [Logs]를 선택합니다.

  4. 언더 로그 전송 — 스케줄러 로그 — 선택 사항

    1. 로그 전송 대상을 최대 3개까지 추가할 수 있습니다. CloudWatch 로그, Amazon S3 또는 Firehose를 선택할 수 있습니다.

    2. [로그 전송 업데이트] 를 선택합니다.

이 페이지를 다시 방문하여 로그 전달을 재구성, 추가 또는 제거할 수 있습니다.

를 사용하여 스케줄러 로그를 설정합니다. 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 \ --name pcs-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 \ --name cluster-logs-source-name \ --resource-arn cluster-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-name cluster-logs-source \ --delivery-destination-arn destination-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"
}