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-AnalyzeEMRLogs
Descrição
Esse runbook ajuda a identificar erros ao executar um trabalho em um cluster do Amazon EMR. O runbook analisa uma lista de logs definidos no sistema de arquivos e procura uma lista de palavras-chave predefinidas. Essas entradas de registro são usadas para criar CloudWatch eventos da Amazon Events para que você possa realizar as ações necessárias com base nos eventos. Opcionalmente, o runbook publica entradas de registro no grupo de CloudWatch registros Amazon Logs de sua escolha. Atualmente, esse runbook procura os seguintes erros e padrões nos arquivos de log:
-
container_out_of_memory :O contêiner YARN ficou sem memória, o trabalho em execução pode falhar. -
yarn_nodemanager_health: O nó de TAREFA ou CORE está com pouco espaço em disco e não poderá executar tarefas. -
node_state_change: o nó de TAREFA ou CORE não pode ser acessado pelo nó PRINCIPAL. -
step_failure: Uma etapa do EMR falhou. -
no_core_nodes_running: Nenhum nó CENTRAL está em execução no momento, o cluster não está íntegro. -
hdfs_missing_blocks: Há blocos HDFS ausentes que podem levar à perda de dados. -
hdfs_high_util: A utilização do HDFS é alta, o que pode afetar as tarefas e a integridade do cluster. -
instance_controller_restart: O processo do Instance-Controller foi reiniciado. Esse processo é essencial para a integridade do cluster. -
instance_controller_restart_legacy: O processo do Instance-Controller foi reiniciado. Esse processo é essencial para a integridade do cluster. -
high_load: A alta média de carga detectada pode afetar os relatórios de integridade do nó ou resultar em tempos limite ou lentidão. -
yarn_node_blacklisted: O nó de TAREFA ou CORE foi colocado na lista negra do YARN para executar tarefas. -
yarn_node_lost: O nó de TAREFA ou CORE foi marcado como PERDIDO pelo YARN, possíveis problemas de conectividade.
As instâncias associadas ao ClusterID que você especifica devem ser gerenciadas pelo AWS Systems Manager. Você pode executar essa automação uma vez, programar a automação para ser executada em um intervalo de tempo específico ou remover uma programação criada anteriormente por uma automação. Este runbook é compatível com as versões 5.20 a 6.30 do Amazon EMR.
Executar esta automação (console)
Tipo de documento
Automação
Proprietário
Amazon
Plataformas
Linux, macOS, Windows
Parâmetros
-
AutomationAssumeRole
Tipo: String
Descrição: (opcional) o nome do recurso da Amazon (ARN) do perfil do AWS Identity and Access Management (IAM) que permite que o Systems Manager Automation realize 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
Tipo: String
Descrição: (obrigatório) O ID do cluster cujos logs de nós que deseja analisar.
-
Operação
Tipo: String
Valores válidos: Run Once | Schedule | Remove Schedule
Descrição: (obrigatório) A operação a ser executada no cluster.
-
IntervalTime
Tipo: String
Valores válidos: 5 minutes | 10 minutes | 15 minutes
Descrição: (opcional) A duração do tempo entre a execução da automação. Esse parâmetro só é aplicável se for especificado
Schedulepara o parâmetroOperation. -
LogToCloudWatchLogs
Tipo: String
Valores válidos: sim | não
Descrição: (Opcional) Se você especificar
yeso valor desse parâmetro, a automação criará um grupo de CloudWatch registros de registros com o nome especificado noCloudWatchLogGroupparâmetro para armazenar todas as entradas de registro correspondentes. -
CloudWatchLogGroup
Tipo: String
Descrição: (Opcional) O nome do grupo de CloudWatch registros de registros em que você deseja armazenar todas as entradas de registro correspondentes. Esse parâmetro só é aplicável se for especificado
yespara o parâmetroLogToCloudWatchLogs. -
CreateLogInsightsDashboard
Tipo: String
Valores válidos: sim | não
Descrição: (Opcional) Se você especificar
yes, o CloudWatch painel será criado se ainda não existir. Esse parâmetro só é aplicável se for especificadoyespara o parâmetroLogToCloudWatchLogs. -
CreateMetricFilters
Tipo: String
Valores válidos: sim | não
Descrição: (Opcional) Especifique
yesse você deseja criar filtros métricos para o grupo de CloudWatch registros de registros. Esse parâmetro só é aplicável se for especificadoyespara o parâmetroLogToCloudWatchLogs.
Permissões obrigatórias do IAM
O parâmetro AutomationAssumeRole requer as seguintes ações para usar o runbook com êxito.
-
ssm:StartAutomationExecution -
ssm:GetDocument -
ssm:ListDocuments -
ssm:DescribeAutomationExecutions -
ssm:DescribeAutomationStepExecutions -
ssm:GetAutomationExecution -
ssm:DescribeInstanceInformation -
ssm:ListCommandInvocations -
ssm:ListCommands -
ssm:SendCommand -
iam:CreateRole -
iam:DeleteRole -
iam:GetRolePolicy -
iam:PutRolePolicy -
iam:DeleteRolePolicy -
iam:passrole -
cloudformation:DescribeStacks -
cloudformation:DeleteStack -
cloudformation:CreateStack -
events:DeleteRule -
events:RemoveTargets -
events:PutTargets -
events:PutRule -
events:DescribeRule -
logs:DescribeLogGroups -
logs:CreateLogGroup -
logs:PutMetricFilter -
cloudwatch:PutDashboard -
elasticmapreduce:ListInstances -
elasticmapreduce:DescribeCluster
Etapas do documento
-
aws:executeAwsApi:Coleta informações sobre o cluster do Amazon EMR especificado no parâmetroClusterID. -
aws:branch:Ramificações com base na entrada.-
Se a operação fornecida for
Run OnceouSchedule:-
aws:assertAwsResourceProperty:Verifica se o cluster está disponível. -
aws:executeAwsApi- Reúne todas IDs as instâncias em execução no cluster. -
aws:assertAwsResourceProperty:Verifica se o SSM Agent está sendo executado em todas as instâncias do cluster. -
aws:branch:Ramificações com base na especificação de executar a automação uma vez ou em um cronograma.-
Se a operação fornecida for
Run Once:-
aws:branch:Ramificações com base no valor especificado para o parâmetroLogToCloudWatchLogs.-
Se o valor de
LogToCloudWatchLogsforyes:-
aws:executeScript- Verifica seCloudWatchLogGroupjá existe um grupo de CloudWatch registros de registros com o nome especificado no parâmetro. Caso contrário, o grupo será criado com o nome especificado. -
aws:branch:Ramificações com base no valor especificado para o parâmetroCreateMetricFilters.-
Se o valor de
CreateMetricFiltersforyes:-
aws:executeAwsApi:12 etapas são executadas para cada filtro métrico -
aws:branch:Ramificações com base no valor especificado para o parâmetroCreateLogInsightsDashboard.-
Se o valor de
CreateLogInsightsDashboardforyes:-
aws:executeAwsApi- Cria um CloudWatch painel com o mesmo nome especificado noCloudWatchLogGroupparâmetro, caso ele ainda não exista.
-
-
Se o valor de
CreateLogInsightsDashboardforno:-
aws:runCommand:Executa um script de shell para encontrar padrões de log em cada instância no cluster.
-
-
-
-
Se o valor de
CreateMetricFiltersforno:-
aws:branch:Ramificações com base no valor especificado no parâmetroCreateLogInsightsDashboard.-
Se o valor de
CreateLogInsightsDashboardforyes:-
aws:executeAwsApi- Cria um CloudWatch painel com o mesmo nome especificado noCloudWatchLogGroupparâmetro, caso ele ainda não exista.
-
-
Se o valor de
CreateLogInsightsDashboardforno:-
aws:runCommand:Executa um script de shell para encontrar padrões de log em cada instância no cluster.
-
-
-
-
-
-
Se o valor de
LogToCloudWatchLogsforno:-
aws:executeAwsApi:Executa um script de shell para encontrar padrões de log em cada instância no cluster.
-
-
-
-
Se a operação fornecida for
Schedule:-
aws:createStack- Cria um EventBridge evento da Amazon que tem como alvo esse runbook.
-
-
-
-
Se a operação fornecida for
Remove Schedule:-
aws:executeAwsApi:Verifica se existe um cronograma para o cluster. -
aws:deleteStack:Exclui a programação.
-
-
Saídas
GetClusterInformation.ClusterName
GetClusterInformation.ClusterState
ListingClusterInstances.Instância IDs
CreatingScheduleCloudFormationStack.StackStatus
RemovingScheduleByDeletingScheduleCloudFormationStack.StackStatus
CheckIfLogGroupExists.saída
FindLogPatternOnEMRNode.CommandId