

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

# PCS AWS のスケジューラログ
<a name="monitoring_scheduler-logs"></a>

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

AWS PCS は、ログタイプを介して次の Slurm デーモンから`PCS_SCHEDULER_LOGS`ログを配信します。
+ **`slurmctld`** — Slurm コントローラーデーモン。サポートされているすべての Slurm バージョンで使用できます。
+ **`slurmdbd`** — Slurm データベースデーモン。Slurm 24.11 以降で使用できます。
+ **`slurmrestd`** — Slurm REST API デーモン。Slurm 25.05 以降で使用できます。

既に`PCS_SCHEDULER_LOGS`配信が設定されているクラスターは、サポートされている Slurm バージョンを実行すると、 `slurmdbd`および `slurmrestd`ログの受信を自動的に開始します。追加の設定は必要ありません。

**Contents**
+ [前提条件](#monitoring_scheduler-logs_prereqs)
+ [スケジューラログの設定](#monitoring_scheduler-logs_setup)
+ [スケジューラログストリームのパスと名前](#monitoring_scheduler-logs_paths)
+ [スケジューラログレコードの例](#monitoring_scheduler-logs_record)

## 前提条件
<a name="monitoring_scheduler-logs_prereqs"></a>

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

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

------
#### [ JSON ]

****  

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

------

## スケジューラログの設定
<a name="monitoring_scheduler-logs_setup"></a>

 AWS マネジメントコンソール または を使用して、PCS AWS クラスターのスケジューラログを設定できます AWS CLI。

------
#### [ AWS マネジメントコンソール ]

**コンソールでスケジューラログを設定するには**

1. [AWS PCS コンソール](https://console.aws.amazon.com/pcs)を開きます。

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

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

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

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

1. **ログ配信の更新** を選択します。

------
#### [ 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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html)」を参照してください。

1. 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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html)」を参照してください。

1. 配信ソースを配信先に接続します。

   ```
   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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html)」を参照してください。

------

## スケジューラログストリームのパスと名前
<a name="monitoring_scheduler-logs_paths"></a>

 AWS PCS スケジューラログのパスと名前は、送信先タイプによって異なります。

以下のパスの`${log_name}`値は`slurmctld`、ログを生成したデーモンに応じて、`slurmrestd`、、`slurmdbd`または です。
+ **CloudWatch Logs**
  + CloudWatch Logs ストリームは、この命名規則に従います。

    ```
    AWSLogs/PCS/${cluster_id}/${log_name}_${scheduler_major_version}.log
    ```  
**Example**  

    ```
    AWSLogs/PCS/abcdef0123/slurmctld_25.11.log
    AWSLogs/PCS/abcdef0123/slurmdbd_24.11.log
    AWSLogs/PCS/abcdef0123/slurmrestd_25.05.log
    ```
+ **S3 バケット**
  + S3 バケット出力パスは次の命名規則に従います。

    ```
    AWSLogs/${account-id}/PCS/${region}/${cluster_id}/${log_name}/${scheduler_major_version}/yyyy/MM/dd/HH/
    ```  
**Example**  

    ```
    AWSLogs/111111111111/PCS/us-east-2/abcdef0123/slurmctld/25.11/2024/09/01/00/
    AWSLogs/111111111111/PCS/us-east-2/abcdef0123/slurmdbd/24.11/2024/09/01/00/
    AWSLogs/111111111111/PCS/us-east-2/abcdef0123/slurmrestd/25.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
    ```  
**Example**  

    ```
    PCS_slurmctld_25.11_2024-09-01-00_abcdef0123_0123abcdef.log
    ```

## スケジューラログレコードの例
<a name="monitoring_scheduler-logs_record"></a>

AWS PCS スケジューラログは構造化されています。これには、Slurm デーモンプロセスから出力されるログメッセージに加えて、クラスター識別子、スケジューラタイプ、メジャーバージョン、パッチバージョンなどのフィールドが含まれます。フィールド`log_name`と `node_type`フィールドは、ログを生成したデーモンを識別します。

次の例は、`slurmctld`ログレコードを示しています。

```
{
    "resource_id": "s3431v9rx2",
    "resource_type": "PCS_CLUSTER",
    "event_timestamp": 1721230979,
    "log_level": "info",
    "log_name": "slurmctld",
    "scheduler_type": "slurm",
    "scheduler_major_version": "25.11",
    "scheduler_patch_version": "2",
    "node_type": "controller_primary",
    "message": "[2024-07-17T15:42:58.614+00:00] Running as primary controller\n"
}
```

次の例は、`slurmdbd`ログレコード (Slurm 24.11 以降) を示しています。

```
{
    "resource_id": "pcs_bu93qsds2j",
    "resource_type": "PCS_CLUSTER",
    "event_timestamp": 1774485082772,
    "log_level": "info",
    "log_name": "slurmdbd",
    "scheduler_type": "slurm",
    "scheduler_major_version": "25.11",
    "scheduler_patch_version": "2",
    "node_type": "slurmdbd_primary",
    "message": "[2026-03-26T00:31:22.772+00:00] mysql_common: storage token refreshed"
}
```

次の例は、`slurmrestd`ログレコード (Slurm 25.05 以降) を示しています。

```
{
    "resource_id": "pcs_bu93qsds2j",
    "resource_type": "PCS_CLUSTER",
    "event_timestamp": 1774485082772,
    "log_level": "info",
    "log_name": "slurmrestd",
    "scheduler_type": "slurm",
    "scheduler_major_version": "25.05",
    "scheduler_patch_version": "3",
    "node_type": "slurmrestd_primary",
    "message": "[2026-03-26T00:31:22.772+00:00] slurmrestd: Listening on port 6820\n"
}
```