AWS PCS排程器記錄 - AWS PCS

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

AWS PCS排程器記錄

您可以設定 AWS PCS為將詳細的記錄資料從叢集排程器傳送到 Amazon CloudWatch 日誌、亞馬遜簡單儲存服務 (Amazon S3) 和 Amazon 資料 Firehose。這可以協助監控和疑難排解。您可以使用 AWS PCS主控台來設定 AWS PCS排程器記錄,也可以透過程式設計方式使用 AWS CLI 或SDK.

必要條件

用來管理AWSPCS叢集的IAM主體必須允許pcs:AllowVendedLogDeliveryForResource。以下是啟用此功能的範例AWSIAM原則。

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

使用 AWS PCS主控台設定排程器記錄

若要在主控台中設定AWSPCS排程器記錄檔,請依照下列步驟執行:

  1. 開啟主AWS PCS控台

  2. 選擇集,然後瀏覽要啟用記錄日誌之 AWS PCS叢集的詳細資訊頁面。

  3. 選擇 Logs (日誌)。

  4. 在記錄傳送下 — 排程器記錄選用

    1. 最多可新增三個記錄傳送目的地。選項包括 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 使ARN用 CloudWatch 日誌中的現有日誌組,S3 存儲桶或 Firehose 中的交付流。範例包括:

      • CloudWatch 記錄檔群組

        arn:aws:logs:region-code:account-id:log-group:/log-group-name:*
      • S3 bucket (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叢集做為傳遞來源

若要從中收集排程器記錄 AWSPCS,請將叢集設定為傳遞來源。如需詳細資訊,請參閱 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

將叢集傳遞來源 Connect 至傳遞目的地

若要讓排程器記錄資料從叢集流向目的地,您必須設定連線這些資料的傳遞。如需詳細資訊,請參閱 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 日誌

    • Lo CloudWatch gs 串流會遵循此命名慣例。

      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排程器記錄範例

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