Quero solucionar meu log de erro do AWS Systems Manager Agent (SSM Agent) por motivos de falha.
Breve descrição
Os comandos do Systems Manager podem falhar nas instâncias de destino durante o Run Command, Association, Automation ou Sessions Manager, um recurso do Systems Manager. Essas falhas causam um erro semelhante ao seguinte:
"document process failed unexpectedly: document worker timed out; check [ssm-document-worker]/[ssm-session-worker] log for crash reason."
Esse erro ocorre por um dos seguintes motivos:
- Recursos insuficientes
- Falta de memória (Out of memory, OOM)
- Não há espaço suficiente no disco
- Há muitos arquivos abertos
Para obter mais soluções de problemas, consulte os logs do SSM Agent na instância.
Observação: para melhorar o desempenho, a segurança e o acesso aos atributos mais recentes, atualize o SSM Agent para a versão mais recente. Além disso, assine o amazon-ssm-agent/RELEASE NOTES no site do GitHub para receber notificações sobre atualizações do SSM Agent.
Resolução
Recursos insuficientes
Se uma sessão com uma instância de destino tiver limitações de recursos, como memória ou espaço em disco excedidos, a sessão poderá falhar e causar mau funcionamento do sistema. Certifique-se de que suas instâncias tenham recursos suficientes para gerenciar o workload em execução nas instâncias de destino.
OOM
Os erros de OOM ocorrem quando os processos em execução estão usando toda a memória disponível e um programa ou sistema operacional (SO) não consegue alocar espaço. O sistema afetado não consegue carregar outros programas e os processos associados param de funcionar corretamente. Em seguida, o sistema operacional desativa os processos que considera de baixa prioridade.
Para verificar se a falta de memória está causando esse erro, consulte Troubleshoot an unreachable instance (Solucionar problemas de uma instância inacessível). Para problemas de OOM do Linux, consulte Sem memória: encerrar processo.
Não há espaço suficiente no disco
Esse erro ocorre em um sistema Linux quando você está tentando gravar dados ou salvar arquivos, mas não tem espaço suficiente. Para solucionar esse erro, realize as seguintes ações:
Há muitos arquivos abertos
Quando as instâncias do Linux param de processar o Systems Manager Run Command devido a falhas do document worker, é possível receber um erro há muitos arquivos abertos. Quando muitos arquivos estão abertos, o SSM Agent não consegue iniciar os processadores de comando e relata esse erro nos logs do agente. Esse erro ocorre nas seguintes situações:
- O processo do SSM Agent atingiu o número máximo de arquivos abertos para o usuário-raiz.
- O número total de arquivos abertos em todo o sistema atingiu o limite máximo de arquivos abertos em todo o sistema.
- O sistema atingiu o limite para notificar o subsistema no kernel.
Para solucionar esse erro, conclua as etapas a seguir:
1. Identifique o PID do processo do SSM Agent:
$ sudo ps -C amazon-ssm-agent -o pid=
2. Identifique os limites do PID. O primeiro número é o limite flexível e o segundo número é o limite rígido.
$ sudo cat /proc/_**PID**_/limits |grep "Max open files"
3. Identifique o número total de arquivos abertos do processo do Systems Manager:
$ sudo lsof -p _**PID**_ |wc -l
4. Compare os resultados entre as etapas 2 e 3. Se o número total de arquivos abertos estiver próximo do limite rígido, isso pode estar impedindo a abertura de novos arquivos. Para resolver esse problema, realize uma das ações a seguir:
- Reinicie o SSM Agent.
- Defina um valor maior para o limite rígido nos arquivos de startup do SSM Agent:
Observação: substitua todas as strings de exemplo pelos seus valores.
Upstart: Amazon Linux 1, Ubuntu 14.04 e Ubuntu 16.04 com pacote .deb
echo "limit nofile example-hard-limit" >> /etc/init/amazon-ssm-agent.override
Systemd: Amazon Linux 2, RHEL 7.x e RHEL 8.x
$ sudo systemctl edit amazon-ssm-agent [Service] LimitNOFILE=example-hard-limit
Systemd: Ubuntu 22.04 LTS, 20.10 STR e 20.04, 18.04 (usando snap)
$ sudo systemctl edit snap.amazon-ssm-agent.amazon-ssm-agent [Service] LimitNOFILE=example-hard-limit
5. Reinicie o serviço SSM Agent.
Observação: ao atualizar o limite rígido, revise os requisitos da sua aplicação, incluindo o número de usuários simultâneos, conexões de rede e operações de arquivo. Para evitar abusos e esgotamento de recursos, os limites rígidos padrão são baixos. Certifique-se de testar o estresse do novo limite rígido. Monitore o limite rígido e ajuste-o, se necessário.
Verifique os logs de processamento
Para consultar os logs de processamento, conclua as seguintes etapas:
1. Visualize os logs do SSM Agent. O SSM Agent mantém as informações nos seguintes arquivos:
Observação: para entender os arquivos de log disponíveis e sua finalidade, é uma prática recomendada consultar a documentação oficial do sistema operacional que você usa.
- Linux - /var/log/amazon/ssm/amazon-ssm-agent.log
- Linux - /var/log/amazon/ssm/errors.log
- Windows - %PROGRAMDATA%\Amazon\SSM\Logs\amazon-ssm-agent.log
- Windows - %PROGRAMDATA%\Amazon\SSM\Logs\errors.log
2. Verifique os logs no nível do sistema operacional em busca de problemas de software ou kernel:
- Windows - C:\Windows\System32\winevt\Logs
- Ubuntu/ Debian - /var/log/syslog
- Amazon Linux/ CentOS/ RHEL - /var/log/messages
- Suse - /var/log/messages
3. Atualize o arquivo seelog.xml para permitir o registro em log de depuração do SSM Agent.
Observação: o registro em log de depuração do SSM Agent gera grandes quantidades de dados de log que podem afetar o armazenamento do sistema. Depois de concluir a solução de problemas, é uma prática recomendada desativar o registro em log de depuração.
Informações relacionadas
Solução de problemas do SSM Agent