AWS PCSregistri dello scheduler - AWS PCS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS PCSregistri dello scheduler

Puoi AWS PCS configurare l'invio di dati di registrazione dettagliati dal tuo programma di pianificazione del cluster ad Amazon CloudWatch Logs, Amazon Simple Storage Service (Amazon S3) e Amazon Data Firehose. Questo può aiutare nel monitoraggio e nella risoluzione dei problemi. È possibile configurare i registri dello AWS PCS scheduler utilizzando la AWS PCS console, nonché a livello di codice utilizzando o. AWS CLI SDK

Prerequisiti

Il IAM principale utilizzato per gestire il cluster deve consentire. AWS PCS pcs:AllowVendedLogDeliveryForResource Ecco un esempio di AWS IAM policy che lo abilita.

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

Configurazione dei registri dello scheduler utilizzando la console AWS PCS

Per configurare i log dello AWS PCS scheduler nella console, segui questi passaggi:

  1. Apri la console.AWS PCS

  2. Scegli Clusters e vai alla pagina dei dettagli del AWS PCS cluster in cui abiliterai la registrazione.

  3. Scegliere Logs (Log).

  4. In Consegne dei log — Scheduler Logs — opzionale

    1. Aggiungi fino a tre destinazioni di consegna dei log. Le scelte includono CloudWatch Logs, Amazon S3 o Firehose.

    2. Scegli Aggiorna le consegne dei log.

Puoi riconfigurare, aggiungere o rimuovere le consegne di log rivisitando questa pagina.

Configurazione dei registri dello scheduler utilizzando il AWS CLI

A tale scopo, sono necessarie almeno una destinazione di consegna, un'origine di consegna (il PCS cluster) e una consegna, ovvero una relazione che collega un'origine a una destinazione.

Crea una destinazione di consegna

È necessaria almeno una destinazione di consegna per ricevere i log dello scheduler da un AWS PCS cluster. Puoi saperne di più su questo argomento nella PutDeliveryDestination sezione della Guida per l' CloudWatch APIutente.

Per creare una destinazione di consegna utilizzando il AWS CLI
  • Crea una destinazione con il comando che segue. Prima di eseguire il comando, apporta le modifiche seguenti:

    • Replace (Sostituisci) region-code con Regione AWS dove creerai la tua destinazione. In genere si tratta della stessa regione in cui viene distribuito il AWS PCS cluster.

    • Replace (Sostituisci) pcs-logs-destination con il tuo nome preferito. Deve essere unico per tutte le destinazioni di consegna del tuo account.

    • Replace (Sostituisci) resource-arn con il ARN per un gruppo di log esistente in CloudWatch Logs, un bucket S3 o un flusso di distribuzione in Firehose. Esempi includono:

      • CloudWatch Gruppo di log

        arn:aws:logs:region-code:account-id:log-group:/log-group-name:*
      • Bucket S3

        arn:aws:s3:::bucket-name
      • Flusso di distribuzione Firehose

        arn:aws:firehose:region-code:account-id:deliverystream/stream-name
aws logs put-delivery-destination --region region-code \ --name pcs-logs-destination \ --delivery-destination-configuration destinationResourceArn=resource-arn

Prendi nota del campo ARN relativo alla nuova destinazione di consegna, poiché ti servirà per configurare le consegne.

Abilita il AWS PCS cluster come fonte di consegna

Per raccogliere i log dello scheduler AWSPCS, configura il cluster come fonte di consegna. Per ulteriori informazioni, PutDeliverySourceconsulta Amazon CloudWatch Logs API Reference.

Per configurare un cluster come fonte di distribuzione utilizzando il AWS CLI
  • Abilita la consegna dei log dal tuo cluster con il comando che segue. Prima di eseguire il comando, apporta le modifiche seguenti:

    • Replace (Sostituisci) region-code con il Regione AWS luogo in cui è distribuito il cluster.

    • Replace (Sostituisci) cluster-logs-source-name con un nome per questa fonte. Deve essere unico per tutte le fonti di consegna nel tuo Account AWS. Valuta la possibilità di incorporare il nome o l'ID del AWS PCS cluster.

    • Replace (Sostituisci) cluster-arn con il ARN per il tuo cluster AWS PCS

aws logs put-delivery-source \ --region region-code \ --name cluster-logs-source-name \ --resource-arn cluster-arn \ --log-type PCS_SCHEDULER_LOGS

Connect l'origine di consegna del cluster alla destinazione di consegna

Affinché i dati di log dello scheduler fluiscano dal cluster alla destinazione, è necessario configurare una consegna che li colleghi. Per ulteriori informazioni, CreateDeliveryconsulta Amazon CloudWatch Logs API Reference.

Per creare una consegna utilizzando il AWS CLI
  • Crea una consegna utilizzando il comando che segue. Prima di eseguire il comando, apporta le modifiche seguenti:

    • Replace (Sostituisci) region-code con il Regione AWS luogo in cui esistono la fonte e la destinazione.

    • Replace (Sostituisci) cluster-logs-source-name con il nome della fonte di consegna indicato dall'alto.

    • Replace (Sostituisci) destination-arn ARNda una destinazione di consegna in cui desideri che i registri vengano consegnati.

aws logs create-delivery \ --region region-code \ --delivery-source-name cluster-logs-source \ --delivery-destination-arn destination-arn

Scheduler log stream, percorsi e nomi

Il percorso e il nome dei log dello AWS PCS scheduler dipendono dal tipo di destinazione.

  • CloudWatch Registri

    • Uno stream CloudWatch Logs segue questa convenzione di denominazione.

      AWSLogs/PCS/${cluster_id}/${log_name}_${scheduler_major_version}.log
      Esempio
      AWSLogs/PCS/abcdef0123/slurmctld_24.05.log
  • Bucket S3

    • Un percorso di output del bucket S3 segue questa convenzione di denominazione:

      AWSLogs/${account-id}/PCS/${region}/${cluster_id}/${log_name}/${scheduler_major_version}/yyyy/MM/dd/HH/
      Esempio
      AWSLogs/111111111111/PCS/us-east-2/abcdef0123/slurmctld/24.05/2024/09/01/00.
    • Il nome di un oggetto S3 segue questa convenzione:

      PCS_${log_name}_${scheduler_major_version}_#{expr date 'event_timestamp', format: "yyyy-MM-dd-HH"}_${cluster_id}_${hash}.log
      Esempio
      PCS_slurmctld_24.05_2024-09-01-00_abcdef0123_0123abcdef.log

Esempio di record AWS PCS di log dello scheduler

AWSPCSi log dello scheduler sono strutturati. Includono campi come l'identificatore del cluster, il tipo di scheduler, le versioni principali e di patch, oltre al messaggio di registro emesso dal processo del controller Slurm. Ecco un esempio.

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