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 EMR os registros da Amazon usando o Amazon Athena em integração AWS Glue com o Data Catalog. O Amazon Athena é usado para consultar os arquivos de EMR log da Amazon em busca de 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 EMR log da Amazon 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 do Amazon Amazon S3 para criar tabelas para registros de cluster e uma lista de problemas conhecidos. EMR

  • Executa consultas de linguagem de manipulação de dados (DML) para pesquisar padrões de problemas conhecidos nos registros da 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 EMR registros da Amazon 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 EMR do log do cluster da Amazon 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 IAM diretores designados 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 da AmazonEMR. 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 KC relevantes.

  • Links de saída para resultados de DML consultas 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 à IAM função que confia no SSM Serviço. 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 AWSSupportpor -D iagnoseEMRLogs WithAthena 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 EMR cluster da Amazon.

    • S3 LogLocation (opcional):

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

    • 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 EMR cluster da Amazon.

    • 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, usuário ARNARN, IAM função ou IAM assumir funçãoARN. O número máximo de aprovadores é 10.

    • FetchNodeLogsOnly (Opcional):

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

    • FetchContainersLogsOnly(Opcional):

      Se configurada comotrue, a automação diagnostica os registros de EMR contêineres da Amazon. 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 é 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 da Amazon EMR especificado. Se a automação não conseguir consultar a localização do log a partir do ID do EMR cluster da Amazon, o runbook usa o parâmetro S3LogLocation de entrada.

    • branchOnValidRegistro:

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

    • estimateAthenaCosts:

      Determina o tamanho dos EMR registros da Amazon e fornece uma estimativa de custo para a execução de escaneamentos do Athena no conjunto de dados de registros. 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.

    • approveAutomation:

      Aguarda a aprovação dos IAM diretores designados 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 da EMR Amazon 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 DML consulta do Amazon Athena pesquisa erros e exceções nos registros de cluster da AmazonEMR.

    • 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 do Amazon Athena analisa os resultados da DML consulta anterior. DML 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 do Amazon Athena analisa os resultados da DML consulta anterior. DML 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 DML consultas do Amazon Athena.

    • cleanupResources:

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

  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 de EMR cluster da Amazon, junto com os locais de log correspondentes (prefixo Amazon S3).

    • Resumo das exceções exclusivas conhecidas encontradas nos EMR registros da Amazon, 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