PCS AWS のスケジューラログ - AWS PCS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

PCS AWS のスケジューラログ

クラスタースケジューラから Amazon CloudWatch Logs、Amazon Simple Storage Service (Amazon S3)、Amazon Data Firehose に詳細なログデータを送信するように AWS PCS を設定できます。これは、モニタリングとトラブルシューティングに役立ちます。

前提条件

PCS クラスターを管理する IAM AWS プリンシパルは、 pcs:AllowVendedLogDeliveryForResourceアクションを許可する必要があります。

次の IAM ポリシーの例では、必要なアクセス許可を付与します。

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

スケジューラログの設定

AWS Management Console または を使用して、PCS AWS クラスターのスケジューラログを設定できます AWS CLI。

AWS Management Console
コンソールでスケジューラログを設定するには
  1. AWS PCS コンソールを開きます。

  2. ナビゲーションペインで [Clusters] (クラスター) を選択してください。

  3. スケジューラログを追加するクラスターを選択します。

  4. クラスターの詳細ページで、ログタブを選択します。

  5. ケジューラログで追加 を選択して、CloudWatch Logs、Amazon S3、Firehose の中から最大 3 つのログ配信先を追加します。

  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 Reference」の「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」を参照してください。

  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」を参照してください。

スケジューラログストリームのパスと名前

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"
}