计划程序在 PCS 中 AWS 登录 - AWS PC

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

计划程序在 PCS 中 AWS 登录

您可以将 AWS PCS 配置为将详细的日志数据从集群计划程序发送到亚马逊 CloudWatch 日志、亚马逊简单存储服务 (Amazon S3) Service 和 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 CLI为 AWS PCS 集群设置调度程序日志。

AWS Management Console
使用控制台设置调度程序日志
  1. 打开 AWS PCS 控制台

  2. 在导航窗格中,选择集群

  3. 选择要在其中添加调度程序日志的集群。

  4. 在集群详细信息页面上,选择日志选项卡。

  5. 在 “计划程序日志” 下,选择 “添加”,从日志、Amazon S3 和 Firehose 中添加最多 3 个 CloudWatch 日志传输目标。

  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 日志组、S3 存储桶或 Firehose 传输流的亚马逊资源名称 (ARN)。

    有关更多信息,请参阅 Amazon CloudWatch 日志 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— 您的 PCS 集群的 AWS ARN

    有关更多信息,请参阅 Amazon CloudWatch 日志 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 日志 API 参考CreateDelivery中的。

调度器日志流路径和名称

AWS PCS 计划程序日志的路径和名称取决于目标类型。

  • CloudWatch 日志

    • CloudWatch 日志流遵循此命名约定。

      AWSLogs/PCS/${cluster_id}/${log_name}_${scheduler_major_version}.log
      AWSLogs/PCS/abcdef0123/slurmctld_24.05.log
  • S3 bucket

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