

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Le planificateur enregistre dans PCS AWS
<a name="monitoring_scheduler-logs"></a>

Vous pouvez configurer AWS PCS pour envoyer des données de journalisation détaillées depuis votre planificateur de cluster à Amazon CloudWatch Logs, Amazon Simple Storage Service (Amazon S3) et Amazon Data Firehose. Cela peut faciliter la surveillance et le dépannage.

AWS PCS fournit des journaux à partir des démons Slurm suivants via le type de journal : `PCS_SCHEDULER_LOGS`
+ **`slurmctld`**— Le démon du contrôleur Slurm. Disponible pour toutes les versions de Slurm prises en charge.
+ **`slurmdbd`**— Le démon de base de données Slurm. Disponible pour Slurm 24.11 et versions ultérieures.
+ **`slurmrestd`**— Le démon de l'API REST de Slurm. Disponible pour Slurm 25.05 et versions ultérieures.

Les clusters dont la `PCS_SCHEDULER_LOGS` livraison est déjà configurée commencent automatiquement à recevoir `slurmdbd` et à `slurmrestd` se connecter lorsqu'ils exécutent une version compatible de Slurm. Aucune configuration supplémentaire n’est requise.

**Contents**
+ [Conditions préalables](#monitoring_scheduler-logs_prereqs)
+ [Configurer les journaux du planificateur](#monitoring_scheduler-logs_setup)
+ [Le planificateur enregistre les chemins et les noms des flux](#monitoring_scheduler-logs_paths)
+ [Exemples d'enregistrements du journal du planificateur](#monitoring_scheduler-logs_record)

## Conditions préalables
<a name="monitoring_scheduler-logs_prereqs"></a>

Le principal IAM qui gère le cluster AWS PCS doit autoriser l'`pcs:AllowVendedLogDeliveryForResource`action.

L'exemple de politique IAM suivant accorde les autorisations requises.

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

****  

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

------

## Configurer les journaux du planificateur
<a name="monitoring_scheduler-logs_setup"></a>

Vous pouvez configurer les journaux du planificateur pour votre cluster AWS PCS à l'aide du AWS Management Console ou. AWS CLI

------
#### [ AWS Management Console ]

**Pour configurer les journaux du planificateur avec la console**

1. Ouvrez la [console AWS PCS](https://console.aws.amazon.com/pcs).

1. Dans le panneau de navigation, choisissez **Clusters**.

1. Choisissez le cluster dans lequel vous souhaitez ajouter les journaux du planificateur.

1. Sur la page des détails du cluster, choisissez l'onglet **Logs**.

1. Sous **Scheduler Logs**, choisissez **Ajouter** pour ajouter jusqu'à 3 destinations de livraison de CloudWatch journaux parmi Logs, Amazon S3 et Firehose.

1. Choisissez **Mettre à jour les livraisons de journaux**.

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

**Pour configurer les journaux du planificateur avec le AWS CLI**

1. Créez une destination de livraison du journal :

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

   Remplacez :
   + {{region}}— L' Région AWS endroit où vous souhaitez créer la destination, tel que `us-east-1`
   + {{pcs-logs-destination}}— Un nom pour la destination
   + {{resource-arn}}— Le nom de ressource Amazon (ARN) d'un groupe de CloudWatch journaux Logs, d'un bucket S3 ou d'un flux de diffusion Firehose.

   Pour plus d'informations, consultez [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html)le manuel *Amazon CloudWatch Logs API Reference*.

1. Définissez le cluster PCS comme source de livraison de journaux :

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

   Remplacez :
   + {{region}}— Le Région AWS nom de votre cluster, tel que `us-east-1`
   + {{cluster-logs-source-name}}— Un nom pour la source
   + {{cluster-arn}}— l'ARN de votre cluster AWS PCS

   Pour plus d'informations, consultez [PutDeliverySource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html)le manuel *Amazon CloudWatch Logs API Reference*.

1. Connectez la source de livraison à la destination de livraison :

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

   Remplacez :
   + {{region}}— Le Région AWS, tel que `us-east-1`
   + {{cluster-logs-source}}— Le nom de votre source de livraison
   + {{destination-arn}}— L'ARN de votre destination de livraison

   Pour plus d'informations, consultez [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html)le manuel *Amazon CloudWatch Logs API Reference*.

------

## Le planificateur enregistre les chemins et les noms des flux
<a name="monitoring_scheduler-logs_paths"></a>

 Le chemin et le nom des journaux du planificateur AWS PCS dépendent du type de destination. 

La `${log_name}` valeur indiquée dans les chemins ci-dessous est `slurmctld``slurmdbd`, ou`slurmrestd`, selon le démon qui a produit le journal.
+ **CloudWatch Journaux**
  + Un flux CloudWatch Logs suit cette convention de dénomination.

    ```
    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
    ```
+ **Compartiment S3**
  + Le chemin de sortie d'un compartiment S3 suit cette convention de dénomination :

    ```
    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/
    ```
  + Le nom d'un objet S3 suit cette convention :

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

## Exemples d'enregistrements du journal du planificateur
<a name="monitoring_scheduler-logs_record"></a>

AWS Les journaux du planificateur PCS sont structurés. Ils incluent des champs tels que l'identifiant du cluster, le type de planificateur, les versions majeures et de correctif, en plus du message de journal émis par le processus du démon Slurm. Les `node_type` champs `log_name` et identifient le démon qui a produit le journal.

L'exemple suivant montre un enregistrement de `slurmctld` journal.

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

L'exemple suivant montre un enregistrement de `slurmdbd` journal (Slurm 24.11 et versions ultérieures).

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

L'exemple suivant montre un enregistrement de `slurmrestd` journal (Slurm 25.05 et versions ultérieures).

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