AWS PCSregistros do agendador - AWS PCS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS PCSregistros do agendador

Você pode configurar AWS PCS para enviar dados de registro detalhados do seu agendador de cluster para o Amazon CloudWatch Logs, o Amazon Simple Storage Service (Amazon S3) e o Amazon Data Firehose. Isso pode ajudar no monitoramento e na solução de problemas. Você pode configurar os registros AWS PCS do agendador usando o AWS PCS console, bem como programaticamente usando o ou. AWS CLI SDK

Pré-requisitos

O IAM principal usado para gerenciar o AWS PCS cluster deve permitirpcs:AllowVendedLogDeliveryForResource. Aqui está um exemplo AWS IAM de política que permite isso.

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

Configurando registros do agendador usando o console AWS PCS

Para configurar os registros AWS PCS do agendador no console, siga estas etapas:

  1. Abra o AWS PCSconsole.

  2. Escolha Clusters e navegue até a página de detalhes do AWS PCS cluster em que você habilitará o registro.

  3. Escolha Logs.

  4. Em entregas de registros — Registros do agendador — opcional

    1. Adicione até três destinos de entrega de registros. As opções incluem CloudWatch Logs, Amazon S3 ou Firehose.

    2. Escolha Atualizar entregas de registros.

Você pode reconfigurar, adicionar ou remover entregas de registros revisitando esta página.

Configurando os registros do agendador usando o AWS CLI

Para fazer isso, você precisa de pelo menos um destino de entrega, uma fonte de entrega (o PCS cluster) e uma entrega, que é um relacionamento que conecta uma origem a um destino.

Crie um destino de entrega

Você precisa de pelo menos um destino de entrega para receber os registros do agendador de um AWS PCS cluster. Você pode aprender mais sobre esse tópico na PutDeliveryDestination seção do Guia do CloudWatch API usuário.

Para criar um destino de entrega usando o AWS CLI
  • Crie um destino com o comando a seguir. Antes da execução do comando, realize as seguintes substituições:

    • Substituir region-code com o Região da AWS local onde você criará seu destino. Geralmente, essa será a mesma região em que o AWS PCS cluster está implantado.

    • Substituir pcs-logs-destination com seu nome preferido. Ele deve ser exclusivo para todos os destinos de entrega em sua conta.

    • Substituir resource-arn com o ARN para um grupo de registros existente no CloudWatch Logs, um bucket do S3 ou um stream de entrega no Firehose. Os exemplos incluem:

      • CloudWatch Grupo de registros

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

        arn:aws:s3:::bucket-name
      • Stream de entrega do 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

Anote o ARN para o novo destino de entrega, pois você precisará dele para configurar as entregas.

Habilite o AWS PCS cluster como fonte de entrega

Para coletar os registros do agendador AWSPCS, configure o cluster como uma fonte de entrega. Para obter mais informações, consulte PutDeliverySourcea Amazon CloudWatch Logs API Reference.

Para configurar um cluster como fonte de entrega usando o AWS CLI
  • Ative a entrega de registros do seu cluster com o comando a seguir. Antes da execução do comando, realize as seguintes substituições:

    • Substituir region-code com o Região da AWS local onde seu cluster está implantado.

    • Substituir cluster-logs-source-name com um nome para essa fonte. Ele deve ser exclusivo para todas as fontes de entrega em seu Conta da AWS. Considere incorporar o nome ou o ID do AWS PCS cluster.

    • Substituir cluster-arn com o ARN para o seu AWS PCS cluster

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

Conecte a fonte de entrega do cluster ao destino da entrega

Para que os dados de log do agendador fluam do cluster para o destino, você deve configurar uma entrega que os conecte. Para obter mais informações, consulte CreateDeliverya Amazon CloudWatch Logs API Reference.

Para criar uma entrega usando o AWS CLI
  • Crie uma entrega usando o comando a seguir. Antes da execução do comando, realize as seguintes substituições:

    • Substituir region-code com o Região da AWS local onde sua origem e destino existem.

    • Substituir cluster-logs-source-name com o nome da sua fonte de entrega acima.

    • Substituir destination-arn com o ARN de um destino de entrega onde você deseja que os registros sejam entregues.

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

Caminhos e nomes do fluxo de registros do agendador

O caminho e o nome dos registros AWS PCS do agendador dependem do tipo de destino.

  • CloudWatch Registros

    • Um stream de CloudWatch registros segue essa convenção de nomenclatura.

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

    • Um caminho de saída do bucket S3 segue esta convenção de nomenclatura:

      AWSLogs/${account-id}/PCS/${region}/${cluster_id}/${log_name}/${scheduler_major_version}/yyyy/MM/dd/HH/
      exemplo
      AWSLogs/111111111111/PCS/us-east-2/abcdef0123/slurmctld/24.05/2024/09/01/00.
    • Um nome de objeto S3 segue esta convenção:

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

Exemplo de registro de log AWS PCS do agendador

AWSPCSos registros do agendador são estruturados. Eles incluem campos como identificador do cluster, tipo de agendador, versões principais e de patch, além da mensagem de log emitida pelo processo do controlador Slurm. Aqui está um exemplo.

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