AWS PCS 中的排程器日誌 - AWS PCS

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS PCS 中的排程器日誌

您可以設定 AWS PCS 將詳細的記錄資料從叢集排程器傳送至 Amazon CloudWatch Logs、Amazon Simple Storage Service (Amazon S3) 和 Amazon Data Firehose。這可協助監控和故障診斷。

先決條件

管理 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 個日誌交付目的地。

  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 Resource Name (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

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