Amazon SSM Agent注册成功但连接丢失且启动失败问题求解
从你给出的错误日志来看,主要有两个核心问题:seelog配置文件缺失和IPC健康通道地址被占用,咱们一步步来解决:
1. 修复缺失的seelog.xml配置文件
错误里提到open /etc/amazon/ssm/seelog.xml: no such file or directory,这个文件是SSM Agent的日志配置文件,缺失会导致Agent初始化异常。可以通过以下方式恢复:
方式一:从默认模板复制生成
大部分Linux发行版的SSM Agent安装包会自带配置模板,通常在/etc/amazon/ssm/seelog.xml.template路径。执行以下命令复制模板并设置正确权限:sudo cp /etc/amazon/ssm/seelog.xml.template /etc/amazon/ssm/seelog.xml sudo chown root:root /etc/amazon/ssm/seelog.xml sudo chmod 644 /etc/amazon/ssm/seelog.xml方式二:重新安装SSM Agent
如果模板文件也不存在,说明Agent安装可能不完整。以Amazon Linux 2为例,重新安装命令如下:sudo yum remove -y amazon-ssm-agent sudo yum install -y amazon-ssm-agentUbuntu等其他发行版可替换为
apt等对应包管理器执行类似操作。
2. 释放被占用的IPC健康通道地址
错误日志显示failed to listen on the channel: ipc:///var/lib/amazon/ssm/ipc/health, address in use,这说明有残留的SSM Agent进程或其他进程占用了该IPC套接字。
步骤1:定位占用进程
使用lsof命令查找使用该套接字的进程:sudo lsof /var/lib/amazon/ssm/ipc/health若返回结果,记下
PID列的进程ID。步骤2:终止残留进程或删除套接字文件
强制杀掉找到的进程:sudo kill -9 <PID>如果
lsof未找到进程,可以直接删除套接字文件(重启Agent后会自动重建):sudo rm -f /var/lib/amazon/ssm/ipc/health
3. 重启Agent并验证状态
完成上述修复后,重启Agent并检查运行状态:
sudo systemctl restart amazon-ssm-agent sudo systemctl status amazon-ssm-agent
如果状态显示active (running),再去SSM托管实例控制台刷新连接状态,应该就能恢复正常了。
内容的提问来源于stack exchange,提问作者LewlSauce

