

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Scheduler loggt sich in AWS PCS ein
<a name="monitoring_scheduler-logs"></a>

Sie können AWS PCS so konfigurieren, dass detaillierte Protokolldaten von Ihrem Cluster-Scheduler an Amazon CloudWatch Logs, Amazon Simple Storage Service (Amazon S3) und Amazon Data Firehose gesendet werden. Dies kann bei der Überwachung und Fehlerbehebung hilfreich sein.

AWS PCS übermittelt Logs von den folgenden Slurm-Daemons über den `PCS_SCHEDULER_LOGS` Protokolltyp:
+ **`slurmctld`**— Der Slurm-Controller-Daemon. Verfügbar für alle unterstützten Slurm-Versionen.
+ **`slurmdbd`**— Der Slurm-Datenbank-Daemon. Verfügbar für Slurm 24.11 und höher.
+ **`slurmrestd`**— Der Slurm-REST-API-Daemon. Verfügbar für Slurm 25.05 und höher.

Cluster, für die der `PCS_SCHEDULER_LOGS` Versand bereits konfiguriert ist, beginnen automatisch mit dem Empfang `slurmdbd` und `slurmrestd` protokollieren, wenn sie eine unterstützte Slurm-Version ausführen. Es ist keine zusätzliche Konfiguration erforderlich.

**Contents**
+ [Voraussetzungen](#monitoring_scheduler-logs_prereqs)
+ [Richten Sie Scheduler-Protokolle ein](#monitoring_scheduler-logs_setup)
+ [Pfade und Namen von Log-Streams im Scheduler](#monitoring_scheduler-logs_paths)
+ [Beispiel für Scheduler-Protokolldatensätze](#monitoring_scheduler-logs_record)

## Voraussetzungen
<a name="monitoring_scheduler-logs_prereqs"></a>

Der IAM-Principal, der den AWS PCS-Cluster verwaltet, muss die `pcs:AllowVendedLogDeliveryForResource` Aktion zulassen.

Die folgende Beispiel-IAM-Richtlinie gewährt die erforderlichen Berechtigungen.

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

****  

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

------

## Richten Sie Scheduler-Protokolle ein
<a name="monitoring_scheduler-logs_setup"></a>

Sie können Scheduler-Protokolle für Ihren AWS PCS-Cluster mit dem AWS-Managementkonsole oder einrichten. AWS CLI

------
#### [ AWS-Managementkonsole ]

**Um Scheduler-Logs mit der Konsole einzurichten**

1. Öffnen Sie die [AWS PCS-Konsole.](https://console.aws.amazon.com/pcs)

1. Klicken Sie im Navigationsbereich auf **Cluster**.

1. Wählen Sie den Cluster aus, zu dem Sie Scheduler-Logs hinzufügen möchten.

1. Wählen Sie auf der Seite mit den Cluster-Details die Registerkarte **Logs** aus.

1. **Wählen Sie unter **Scheduler Logs** die Option Hinzufügen aus, um bis zu 3 Log-Lieferziele aus CloudWatch Logs, Amazon S3 und Firehose hinzuzufügen.**

1. Wählen Sie **Protokollzustellungen aktualisieren** aus.

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

**Um Scheduler-Logs einzurichten mit AWS CLI**

1. Erstellen Sie ein Ziel für die Protokollzustellung:

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

   Ersetzen Sie:
   + {{region}}— Der AWS-Region Ort, an dem Sie das Ziel erstellen möchten, z. B. `us-east-1`
   + {{pcs-logs-destination}}— Ein Name für das Ziel
   + {{resource-arn}}— Der Amazon-Ressourcenname (ARN) einer CloudWatch Logs-Protokollgruppe, eines S3-Buckets oder eines Firehose-Lieferstreams.

   Weitere Informationen finden Sie [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html)in der *Amazon CloudWatch Logs API-Referenz*.

1. Legen Sie den PCS-Cluster als Quelle für die Protokollzustellung fest:

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

   Ersetzen Sie:
   + {{region}}— Die AWS-Region Ihres Clusters, wie `us-east-1`
   + {{cluster-logs-source-name}}— Ein Name für die Quelle
   + {{cluster-arn}}— der ARN Ihres AWS PCS-Clusters

   Weitere Informationen finden Sie [PutDeliverySource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html)in der *Amazon CloudWatch Logs API-Referenz*.

1. Connect die Lieferquelle mit dem Lieferziel:

   ```
   aws logs create-delivery --region {{region}} \
     --delivery-source-name {{cluster-logs-source}} \
     --delivery-destination-arn {{destination-arn}}
   ```

   Ersetzen Sie:
   + {{region}}— Die AWS-Region, wie `us-east-1`
   + {{cluster-logs-source}}— Der Name Ihrer Lieferquelle
   + {{destination-arn}}— Die ARN Ihres Lieferziels

   Weitere Informationen finden Sie [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html)in der *Amazon CloudWatch Logs API-Referenz*.

------

## Pfade und Namen von Log-Streams im Scheduler
<a name="monitoring_scheduler-logs_paths"></a>

 Der Pfad und der Name der AWS PCS-Scheduler-Protokolle hängen vom Zieltyp ab. 

Der `${log_name}` Wert in den folgenden Pfaden ist`slurmctld`, oder `slurmdbd``slurmrestd`, abhängig vom Daemon, der das Protokoll erstellt hat.
+ **CloudWatch Protokolle**
  + Ein CloudWatch Logs-Stream folgt dieser Namenskonvention.

    ```
    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 bucket**
  + Ein S3-Bucket-Ausgabepfad folgt dieser Namenskonvention:

    ```
    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/
    ```
  + Ein S3-Objektname folgt dieser Konvention:

    ```
    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
    ```

## Beispiel für Scheduler-Protokolldatensätze
<a name="monitoring_scheduler-logs_record"></a>

AWS Die PCS-Scheduler-Protokolle sind strukturiert. Sie enthalten Felder wie die Cluster-ID, den Scheduler-Typ, Haupt- und Patch-Versionen sowie die Protokollnachricht, die vom Slurm-Daemon-Prozess ausgegeben wird. Die `node_type` Felder `log_name` und identifizieren, welcher Daemon das Protokoll erstellt hat.

Das folgende Beispiel zeigt einen `slurmctld` Protokolleintrag.

```
{
    "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"
}
```

Das folgende Beispiel zeigt einen `slurmdbd` Protokolldatensatz (Slurm 24.11 und höher).

```
{
    "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"
}
```

Das folgende Beispiel zeigt einen `slurmrestd` Protokolldatensatz (Slurm 25.05 und höher).

```
{
    "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"
}
```