

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

# AWS PCS 中的排程器稽核日誌
<a name="monitoring_scheduler-audit-logs"></a>

排程器稽核日誌會記錄叢集 Slurm 控制器 () 和資料庫協助程式 () 處理的遠端程序呼叫 (RPC`slurmctld`) 操作`slurmdbd`。日誌訊息中的`AUDIT_RPCS:`字首可識別這些日誌。它們支援安全稽核和合規使用案例。

對於執行 Slurm 25.11 及更新版本的叢集， AWS PCS 會透過 日誌類型分別交付稽核`PCS_SCHEDULER_AUDIT_LOGS`日誌。此區隔可讓您獨立於操作日誌控制稽核日誌擷取和儲存成本，因為稽核日誌最多可佔排程器日誌磁碟區的 90%。

**注意**  
對於執行 Slurm 25.11 之前版本的叢集，稽核日誌會保留在 中，`PCS_SCHEDULER_LOGS`且`PCS_SCHEDULER_AUDIT_LOGS`日誌類型無法使用。如需排程器日誌的詳細資訊，請參閱 [AWS PCS 中的排程器日誌](monitoring_scheduler-logs.md)。

**Contents**
+ [先決條件](#monitoring_scheduler-audit-logs_prereqs)
+ [設定排程器稽核日誌](#monitoring_scheduler-audit-logs_setup)
+ [排程器稽核日誌串流路徑和名稱](#monitoring_scheduler-audit-logs_paths)
+ [排程器稽核日誌記錄範例](#monitoring_scheduler-audit-logs_record)
+ [Slurm 版本的稽核日誌行為](#monitoring_scheduler-audit-logs_behavior)

## 先決條件
<a name="monitoring_scheduler-audit-logs_prereqs"></a>

您必須先符合下列要求，才能設定排程器稽核日誌：
+ 您的叢集必須執行 **Slurm 25.11 或更新版本。**
+ 管理 AWS PCS 叢集的 IAM 主體必須允許 `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-audit-logs_setup"></a>

您可以使用 AWS 管理主控台 或 為您的 AWS PCS 叢集設定排程器稽核日誌 AWS CLI。排程器稽核日誌是選擇加入。在您訂閱之前， AWS PCS 不會交付它們。

------
#### [ AWS 管理主控台 ]

**使用主控台設定排程器稽核日誌**

1. 開啟 [AWS PCS 主控台](https://console.aws.amazon.com/pcs)。

1. 在導覽窗格中，選擇**叢集**。

1. 選擇您要新增排程器稽核日誌的叢集。

1. 在叢集詳細資訊頁面上，選擇**日誌**索引標籤。

1. 在**排程器稽核日誌**下，選擇**新增**以在 CloudWatch Logs、Amazon S3 和 Firehose 之間新增最多 3 個日誌交付目的地。

1. 選擇**更新日誌交付**。

------
#### [ AWS CLI ]

**使用 設定排程器稽核日誌 AWS CLI**

1. 建立日誌交付目的地：

   ```
   aws logs put-delivery-destination --region {{region}} \
     --name {{pcs-audit-logs-destination}} \
     --delivery-destination-configuration \
     destinationResourceArn={{resource-arn}}
   ```

   取代：
   + {{region}} — 您要建立目的地的 AWS 區域 ，例如 `us-east-1`
   + {{pcs-audit-logs-destination}} — 目的地的名稱
   + {{resource-arn}} — CloudWatch Logs 日誌群組、S3 儲存貯體或 Firehose 交付串流的 Amazon Resource Name (ARN)。

   如需詳細資訊，請參閱《Amazon CloudWatch Logs API 參考指南》**中的 [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html)。

1. 將 PCS 叢集設定為日誌交付來源：

   ```
   aws logs put-delivery-source --region {{region}} \
     --name {{cluster-audit-logs-source-name}} \
     --resource-arn {{cluster-arn}} \
     --log-type PCS_SCHEDULER_AUDIT_LOGS
   ```

   取代：
   + {{region}} — 叢集 AWS 區域 的 ，例如 `us-east-1`
   + {{cluster-audit-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-audit-logs-source}} \
     --delivery-destination-arn {{destination-arn}}
   ```

   取代：
   + {{region}} — AWS 區域，例如 `us-east-1`
   + {{cluster-audit-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-audit-logs_paths"></a>

 AWS PCS 排程器稽核日誌的路徑和名稱取決於目的地類型。
+ **CloudWatch Logs**
  + CloudWatch Logs 串流遵循此命名慣例。

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

    其中 `${log_name}`是 `slurmctld`或 `slurmdbd`。  
**Example**  

    ```
    AWSLogs/PCS/abcdef0123/slurmctld_25.11_audit.log
    AWSLogs/PCS/abcdef0123/slurmdbd_25.11_audit.log
    ```
+ **S3 bucket (S3 儲存貯體)**
  + S3 儲存貯體輸出路徑遵循此命名慣例：

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

    ```
    AWSLogs/111111111111/PCS/us-east-2/abcdef0123/scheduler_audit/slurmctld/2026/03/01/00/
    AWSLogs/111111111111/PCS/us-east-2/abcdef0123/scheduler_audit/slurmdbd/2026/03/01/00/
    ```

## 排程器稽核日誌記錄範例
<a name="monitoring_scheduler-audit-logs_record"></a>

AWS PCS 排程器稽核日誌是結構化的。它們使用與排程器日誌相同的結構描述，其中包含 `AUDIT_RPCS:`字首的日誌訊息。以下是來自 的範例`slurmctld`。

```
{
    "resource_id": "pcs_bu93qsds2j",
    "resource_type": "PCS_CLUSTER",
    "event_timestamp": 1774481175953,
    "log_level": "info",
    "log_name": "slurmctld",
    "scheduler_type": "slurm",
    "scheduler_major_version": "25.11",
    "scheduler_patch_version": "2",
    "node_type": "controller_primary",
    "message": "[2026-01-21T08:19:26.692+00:00] AUDIT_RPCS: [slurmctld-primary:6817(fd:18)] msg_type=REQUEST_PARTITION_INFO uid=0 client=[10.0.76.95:56918]\n"
}
```

以下是來自 的範例`slurmdbd`。

```
{
    "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-01-21T08:19:26.692+00:00] AUDIT_RPCS: msg_type=DBD_GET_CLUSTERS uid=0 client=[28.5.0.18:36658] protocol=11008\n"
}
```

## Slurm 版本的稽核日誌行為
<a name="monitoring_scheduler-audit-logs_behavior"></a>

下表說明稽核日誌的交付方式，取決於叢集上執行的 Slurm 版本。


| Slurm 版本 | `PCS_SCHEDULER_LOGS` 包含 | `PCS_SCHEDULER_AUDIT_LOGS` 可用 | 
| --- | --- | --- | 
| 早於 25.11 | 所有日誌，包括稽核日誌 | 否 | 
| 25.11 及更新版本 | 僅限操作日誌 （稽核日誌已移除） | 是 （選擇加入） | 