Quero solucionar uma falha na operação do Gerenciador de patches (Linux).
Breve descrição
As operações de aplicação de patches podem falhar por vários motivos, e a forma como você soluciona problemas de erros varia de acordo com o sistema operacional (SO). Você pode encontrar mensagens de erro no Console de Gerenciamento da AWS ou na resposta da API. No entanto, a saída do console está truncada em 48.000 caracteres e pode limitar a visibilidade de determinados problemas. Para esses problemas, é uma prática recomendada revisar a saída completa que está armazenada no nó gerenciado. Você também pode usar a saída enviada ao Amazon CloudWatch e ao Amazon Simple Storage Service (Amazon S3) para solucionar problemas adicionais.
Resolução
Para solucionar mensagens de erro recebidas quando a operação do Patch Manager (Linux) falha, conclua as tarefas a seguir.
Usar o runbook AWSSupport-TroubleshootPatchManagerLinux
Use AWSSupport-TroubleshootPatchManagerLinux para solucionar falhas de aplicação de patches em nós gerenciados baseados no Linux.
Revisar suas partições e permissões
Você recebe a seguinte mensagem de erro de exemplo quando /var/lib/amazon é montado com permissões noexec:
"/var/lib/amazon/ssm/<instanceid>/document/orchestration/<commandid>/PatchLinux/_script.sh: Permission deniedfailed to run commands: exit status 126"
Para resolver esse problema, configure partições exclusivas para /var/log/amazon e /var/lib/amazon e monte-os com permissões exec.
Revisar suas permissões de nó gerenciado
Você recebe o seguinte exemplo de mensagem de erro quando o nó gerenciado não tem as permissões necessárias para acessar o bucket do Amazon S3 especificado:
"Unable to download payload: to run commands: exit status 156"
Para resolver esse problema, atualize a configuração da sua rede e certifique-se de poder acessar o endpoint regional do Amazon S3 da AWS. Para mais informações, consulte Comunicações do AWS Systems Manager Agent (SSM Agent) com os buckets do S3 gerenciados pela AWS.
Revisar suas tarefas e o espaço de diretório do Run Command
Você recebe o seguinte exemplo de mensagem de erro quando dois comandos são executados simultaneamente AWS-RunPatchBaseline no mesmo nó gerenciado. Você também pode receber essa mensagem de erro quando não há espaço em disco disponível no diretório /var.
Exemplo de erro:
"IOError: [Errno 2] No such file or directory: 'patch-baseline-operations-X.XX.tar.gz'Unable to extract tar file: /var/log/amazon/ssm/patch-baseline-operations/patch-baseline-operations-1.75.tar.gz.
failed to run commands: exit status 155
Unable to load and extract the content of payload, abort.
failed to run commands: exit status 152"
Para resolver esse problema, conclua as seguintes etapas:
- Certifique-se de que nenhuma janela de manutenção tenha duas ou mais tarefas Executar comando que executem AWS-RunPatchBaseline. As tarefas não podem ter o mesmo nível de prioridade e serem executadas nos mesmos IDs de destino. Altere os níveis de prioridade, se necessário.
- Certifique-se de que apenas uma associação do Gerenciador de estados execute AWS-RunPatchBaseline na mesma programação e tenha como alvo os mesmos nós gerenciados.
- Disponibilize mais espaço em disco sob o diretório /var.
Revisar os processos executados em um nó gerenciado
Você recebe a seguinte mensagem de erro de exemplo quando AWS-RunPatchBaseline é executado em um nó gerenciado em que o yum já está em execução e outro processo bloqueou o banco de dados:
"MM/DD/YYYY HH:MM:SS root [INFO]: another process has acquired yum lock, waiting 2 s and retry."
Para resolver esse problema, conclua as seguintes etapas:
- Certifique-se de que nenhuma associação do Gerenciador de estados, tarefas da janela de manutenção ou outras configurações que executam AWS-RunPatchBaseline em um planejamento visem simultaneamente o mesmo nó gerenciado.
- Certifique-se de que nenhuma operação manual do yum seja executada ao mesmo tempo.
Revisar a versão Python do servidor
Você recebe o seguinte exemplo de mensagem de erro quando uma versão com suporte do Python 3 não está instalada na instância do Red Hat Enterprise Linux (RHEL), Debian Server, Raspberry Pi ou Ubuntu Server:
"An unsupported package manager and python version combination was found. Dnf requires Python 2 or Python 3 to be installed."
Para resolver esse problema, instale uma versão do Python 3 (3.0 - 3.9) no servidor necessário.
Revisar seu sistema operacional
Você recebe a seguinte mensagem de erro de exemplo quando um sistema operacional não é compatível:
"An error occurred (UnsupportedOperatingSystem) when calling the GetDeployablePatchSnapshotForInstance operation: patch_common.exceptions. PatchManagerError: ('Unsupported Operating System', 146)"
Para resolver esse problema, use um SO compatível para o Patch Manager .
Revisar a saída da instância
Depois que a operação de correção falhar e a saída do console for truncada, talvez você não consiga visualizar a saída inteira.
Para resolver esse problema, revise toda a saída da instância no seguinte local:
"/var/lib/amazon/ssm/<example-instance-id>/document/orchestration/<example-command-id>/awsrunShellScript/PatchLinux/stdout"
Observação: substitua todas as strings de exemplo pelos seus valores.
Você também pode configurar a operação para enviar a saída do Run Command ao Amazon S3 ou CloudWatch.