AWSSupport-DiagnoseEMRLogsWithAthena - AWS Systems Manager Referência do runbook de automação

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á.

AWSSupport-DiagnoseEMRLogsWithAthena

Descrição

O AWSSupport-DiagnoseEMRLogsWithAthena runbook ajuda a diagnosticar os registros do Amazon EMR usando o Amazon Athena em integração com o Data Catalog. AWS Glue O Amazon Athena é usado para consultar os arquivos de log do Amazon EMR para contêineres, registros de nós ou ambos, com parâmetros opcionais para intervalos de datas específicos ou pesquisas baseadas em palavras-chave.

O runbook pode recuperar automaticamente a localização do log do Amazon EMR para um cluster existente, ou você pode especificar a localização do log do Amazon S3. Para analisar os registros, o runbook:

  • Cria um AWS Glue banco de dados e executa consultas da Amazon Athena Data Definition Language (DDL) no local de log Amazon S3 do Amazon EMR para criar tabelas para logs de cluster e uma lista de problemas conhecidos.

  • Executa consultas de linguagem de manipulação de dados (DML) para pesquisar padrões de problemas conhecidos nos registros do Amazon EMR. As consultas retornam uma lista dos problemas detectados, sua contagem de ocorrências e o número de palavras-chave correspondentes por caminho de arquivo do Amazon S3.

  • Os resultados são enviados para um bucket do Amazon S3 que você especifica sob o prefixo. saw_diagnose_EMR_known_issues

  • O runbook retorna os resultados da consulta do Amazon Athena, destacando descobertas, recomendações e referências aos artigos do Amazon Knowledge Center (KC) provenientes de um subconjunto predefinido.

  • Em caso de conclusão ou falha, o AWS Glue banco de dados e os arquivos de problemas conhecidos enviados para o bucket do Amazon S3 são excluídos.

Como funciona?

AWSSupport-DiagnoseEMRLogsWithAthenaRealize análises dos registros do Amazon EMR usando o Amazon Athena para detectar erros e destacar descobertas, recomendações e artigos relevantes do Knowledge Center.

O runbook executa as seguintes etapas:

  • Obtenha a localização do log do cluster do Amazon EMR usando o ID do cluster ou insira a localização do Amazon S3 para recuperar a localização e o tamanho do log.

  • Forneça uma estimativa de custos do Athena com base no tamanho da localização do registro.

  • Obtenha aprovação para continuar solicitando a aprovação dos diretores designados do IAM antes de executar as consultas do Athena e continuar com as próximas etapas.

  • Faça upload de problemas conhecidos para o bucket especificado do Amazon S3, crie um AWS Glue banco de dados e tabelas.

  • Execute consultas do Athena nos dados de registros do Amazon EMR. As consultas podem pesquisar por intervalo de datas, palavras-chave, ambos os critérios ou ser executadas sem filtros com base nas entradas fornecidas.

  • Analise os resultados para destacar descobertas, recomendações e artigos relevantes de KC.

  • Links de saída para resultados de consultas DML do Amazon Athena.

  • Limpe o ambiente removendo o banco de dados criado, as tabelas e os problemas conhecidos carregados.

Tipo de documento

Automação

Proprietário

Amazon

Plataformas

/

O AutomationAssumeRole parâmetro requer as seguintes ações para usar o runbook com êxito:

  • Atena: GetQueryExecution

  • Atena: StartQueryExecution

  • Atena: GetPreparedStatement

  • Atena: CreatePreparedStatement

  • cola: GetDatabase

  • cola: CreateDatabase

  • cola: DeleteDatabase

  • cola: CreateTable

  • cola: GetTable

  • cola: DeleteTable

  • redução do mapa elástico: DescribeCluster

  • s3: ListBucket

  • s3: GetBucketVersioning

  • s3: ListBucketVersions

  • s3: GetBucketPublicAccessBlock

  • s3: GetBucketPolicyStatus

  • s3: GetObject

  • s3: GetBucketLocation

  • preços: GetProducts

  • preços: GetAttributeValues

  • preços: DescribeServices

  • preços: ListPriceLists

Importante

Para restringir o acesso somente aos recursos necessários para essa automação, anexe a política a seguir à função do IAM que confia no Serviço SSM. Substitua a partição, a região e a conta pelos valores apropriados para a partição, a região e o número da conta em que o livro de execução é executado.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "glue:GetDatabase", "athena:GetQueryExecution", "athena:StartQueryExecution", "athena:GetPreparedStatement", "athena:CreatePreparedStatement", "s3:ListBucket", "s3:GetBucketVersioning", "s3:ListBucketVersions", "s3:GetBucketPublicAccessBlock", "s3:GetBucketPolicyStatus", "s3:GetObject", "s3:GetBucketLocation", "pricing:GetProducts", "pricing:GetAttributeValues", "pricing:DescribeServices", "pricing:ListPriceLists" ], "Resource": "*" }, { "Sid": "RestrictPutObjects", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:{Partition}:s3:::*/*/results/*", "arn:{partition}:s3:::*/*/saw_diagnose_emr_known_issues/*" ] }, { "Sid": "RestrictDeleteAccess", "Effect": "Allow", "Action": [ "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource": [ "arn:{Partition}:s3:::*/*/saw_diagnose_emr_known_issues/*" ] }, { "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:CreateDatabase", "glue:DeleteDatabase" ], "Resource": [ "arn:{Partition}:glue:{Region}:{Account}:database/saw_diagnose_emr_database_*", "arn:{Partition}:glue:{Region}:{Account}:table/saw_diagnose_emr_database_*/*", "arn:{Partition}:glue:{Region}:{Account}:userDefinedFunction/saw_diagnose_emr_database_*/*", "arn:{Partition}:glue:{Region}:{Account}:catalog" ] }, { "Effect": "Allow", "Action": [ "glue:CreateTable", "glue:GetTable", "glue:DeleteTable" ], "Resource": [ "arn:{Partition}:glue:{Region}:{Account}:table/saw_diagnose_emr_database_*/saw_diagnose_emr_known_issues", "arn:{Partition}:glue:{Region}:{Account}:table/saw_diagnose_emr_database_*/saw_diagnose_emr_logs_table", "arn:{Partition}:glue:{Region}:{Account}:table/saw_diagnose_emr_database_*/j_*", "arn:{Partition}:glue:{Region}:{Account}:database/saw_diagnose_emr_database_*", "arn:{Partition}:glue:{Region}:{Account}:catalog" ] } ] }

Instruções

Siga estas etapas para configurar a automação:

  1. Navegue AWSSupport-DiagnoseEMRLogsWithAthena AWS Systems Manager em Documentos.

  2. Selecione Execute automation (Executar automação).

  3. Você pode usar os seguintes parâmetros de entrada:

    • AutomationAssumeRole (Opcional):

      O Amazon Resource Name (ARN) da função AWS Identity and Access Management (IAM) que permite que o Systems Manager Automation execute as ações em seu nome. Se nenhum perfil for especificado, o Systems Manager Automation usa as permissões do usuário que inicia este runbook.

    • ClusterID (obrigatório):

      O ID do cluster do Amazon EMR.

    • S3 LogLocation (opcional):

      A localização do log do Amazon S3 do Amazon EMR. Insira a localização do URL no estilo Path do Amazon S3, por exemplo:. s3://amzn-s3-demo-bucket/myfolder/j-1K48XXXXXXHCB/ Forneça esse parâmetro se o cluster do Amazon EMR tiver sido encerrado por mais de dias. 30

    • S3 BucketName (obrigatório):

      O nome do bucket do Amazon S3 para fazer o upload de uma lista de problemas conhecidos e a saída das consultas do Amazon Athena. O bucket deve ter o Block Public Access ativado e estar na mesma AWS região e conta do cluster do Amazon EMR.

    • Aprovadores (obrigatório):

      A lista de diretores AWS autenticados que podem aprovar ou rejeitar a ação. Você pode especificar os principais usando qualquer um dos seguintes formatos: nome de usuário, ARN do usuário, ARN da função do IAM ou ARN da função de suposição do IAM. O número máximo de aprovadores é 10.

    • FetchNodeLogsOnly (Opcional):

      Se configurada comotrue, a automação diagnostica os registros de contêineres do aplicativo Amazon EMR. O valor padrão é false.

    • FetchContainersLogsOnly(Opcional):

      Se configurada comotrue, a automação diagnostica os registros de contêineres do Amazon EMR. O valor padrão é false.

    • EndSearchDate (Opcional):

      A data de término das pesquisas de registros. Se fornecida, a automação pesquisará exclusivamente os registros gerados até a data especificada no formato YYYY-MM-DD (por exemplo:2024-12-30).

    • DaysToCheck (Opcional):

      Quando EndSearchDate fornecido, esse parâmetro é necessário para determinar o número de dias para pesquisar retrospectivamente os registros do especificado. EndSearchDate O valor máximo é de 30 dias. O valor padrão é 1.

    • SearchKeywords (Opcional):

      A lista de palavras-chave a serem pesquisadas nos registros, separadas por vírgulas. As palavras-chave não podem conter aspas simples ou duplas.

    Input parameters form for AWS Systems Manager Automation with various fields and options.
  4. Selecione Executar.

  5. A automação é iniciada.

  6. O bucket realiza as seguintes etapas:

    • getLogLocation:

      Recupera a localização do log do Amazon S3 consultando o ID do cluster do Amazon EMR especificado. Se a automação não conseguir consultar a localização do log a partir do ID do cluster do Amazon EMR, o runbook usa o S3LogLocation parâmetro de entrada.

    • branchOnValidRegistro:

      Verifica a localização dos registros do Amazon EMR. Se a localização for válida, faça uma estimativa dos custos potenciais do Amazon Athena ao executar consultas nos registros do Amazon EMR.

    • estimateAthenaCosts:

      Determina o tamanho dos registros do Amazon EMR e fornece uma estimativa de custo para a execução de escaneamentos do Athena no conjunto de dados de log. Para regiões não comerciais (não AWS partições), essa etapa fornece apenas o tamanho do log sem estimar os custos. Os custos podem ser calculados usando a documentação de preços do Athena na região especificada.

    • Aprovar a automação:

      Aguarda a aprovação dos diretores designados do IAM para prosseguir com as próximas etapas da automação. A notificação de aprovação contém o custo estimado do escaneamento do Amazon Athena nos registros do Amazon EMR e detalhes sobre os recursos que estão sendo provisionados pela automação.

    • uploadKnownIssuesExecuteAthenaQueries:

      Carrega os problemas conhecidos predefinidos no bucket do Amazon S3 especificado no parâmetro. S3BucketName Cria AWS Glue banco de dados e tabelas. Executa consultas do Amazon Athena no banco de dados com base AWS Glue nos parâmetros de entrada.

    • getQueryExecutionStatus:

      Espera até que a execução da consulta do Amazon Athena esteja SUCCEEDED pronta. A consulta DML do Amazon Athena pesquisa erros e exceções nos logs do cluster do Amazon EMR.

    • analyzeAthenaResults:

      Analisa os resultados do Amazon Athena para fornecer descobertas, recomendações e artigos do Knowledge Center (KC) provenientes de um conjunto predefinido de mapeamentos.

    • getAnalyzeResultsConsulta 1: ExecutionStatus

      Espera até que a execução da consulta esteja em andamentoSUCCEEDED. A consulta DML do Amazon Athena analisa os resultados da consulta DML anterior. Essa consulta de análise retornará exceções correspondentes com resoluções e artigos KC

    • getAnalyzeResultsConsulta 2: ExecutionStatus

      Espera até que a execução da consulta esteja em andamentoSUCCEEDED. A consulta DML do Amazon Athena analisa os resultados da consulta DML anterior. Essa consulta de análise retornará uma lista de exceções/erros detectados em cada caminho de log do Amazon S3.

    • printAthenaQueriesMensagem:

      Imprime links para os resultados das consultas DML do Amazon Athena.

    • Recursos de limpeza:

      Limpa os recursos excluindo o AWS Glue banco de dados criado e exclui arquivos de problemas conhecidos que foram criados no bucket de registros do Amazon EMR.

  7. Depois de concluído, revise a seção Saídas para obter os resultados detalhados da execução:

    A saída fornece três links para os resultados da consulta do Athena:

    • Lista de todos os erros e exceções frequentes encontrados nos registros do cluster do Amazon EMR, junto com os locais de log correspondentes (prefixo Amazon S3).

    • Resumo das exceções exclusivas conhecidas que correspondem aos registros do Amazon EMR, junto com as resoluções recomendadas e os artigos do KC para ajudar na solução de problemas.

    • Detalhes sobre onde erros e exceções específicos aparecem nos caminhos de log do Amazon S3, para apoiar diagnósticos adicionais.

    Output section showing query links for exception summaries and analysis in AWS logs.

Referências

Automação do Systems Manager

AWS documentação de serviço