本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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排程器記錄檔,請依照下列步驟執行:
-
開啟主AWS PCS控台
。 -
選擇叢集,然後瀏覽要啟用記錄日誌之 AWS PCS叢集的詳細資訊頁面。
-
選擇 Logs (日誌)。
-
在記錄傳送下 — 排程器記錄 — 選用
-
最多可新增三個記錄傳送目的地。選項包括 CloudWatch 日誌、Amazon S3 或 Firehose。
-
選擇 [更新記錄傳送]。
-
您可以重新瀏覽此頁面,以重新設定、新增或移除記錄傳送。
使用設定排程器記錄 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
\ --namepcs-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
\ --namecluster-logs-source-name
\ --resource-arncluster-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-namecluster-logs-source
\ --delivery-destination-arndestination-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"
}