

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

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

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

**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 つのログ配信先を追加します。

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 スケジューラログのパスと名前は、送信先タイプによって異なります。
+ **CloudWatch Logs**
  + CloudWatch Logs ストリームは、この命名規則に従います。

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

    ```
    AWSLogs/PCS/abcdef0123/slurmctld_24.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/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
    ```  
**Example**  

    ```
    PCS_slurmctld_24.05_2024-09-01-00_abcdef0123_0123abcdef.log
    ```

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

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": "25.05",
    "scheduler_patch_version": "3",
    "node_type": "controller_primary",
    "message": "[2024-07-17T15:42:58.614+00:00] Running as primary controller\n"
}
```