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-DiagnoseEMRLogsWithAthena
Realize 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:
-
Navegue AWSSupportpor -D iagnoseEMRLogs WithAthena
AWS Systems Manager em Documentos. -
Selecione Execute automation (Executar automação).
-
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 de30
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 como
true
, a automação diagnostica os registros de contêineres de EMR aplicativos da Amazon. O valor padrão éfalse
. -
FetchContainersLogsOnly(Opcional):
Se configurada como
true
, 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.
-
-
Selecione Executar.
-
A automação é iniciada.
-
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 andamento
SUCCEEDED
. 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 andamento
SUCCEEDED
. 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.
-
-
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.
-
Referências
Automação do Systems Manager
AWS documentação de serviço
-
Consulte Solução de problemas de EMR clusters da Amazon para obter mais informações