通过SSH监控远程服务器——检查服务健康状态(PM2、systemd、Docker)、数据库状态(MongoDB、MySQL、PostgreSQL)、磁盘空间、内存以及自动重启...
服务器监视器 : 监控器和通过SSH的自动疗伤远程服务器是一项面向实际任务的技能,主要用于检查服务、 数据库、 磁盘、 内存 —— 重新启动下方的功能, 提醒错误的功能;SSH 访问目标服务器( passwo)。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
通过 SSH 监控并自动修复远程服务器。检查服务、数据库、磁盘与内存状态——对异常服务执行重启,对异常情况发出告警。
expect(仅在使用密码方式 SSH 时需要)ssh user@host "pm2 list" ssh user@host "pm2 logs --lines 20 --nostream"
# Windows
ssh user@host "net start | findstr MongoDB"
ssh user@host "powershell -Command "(Test-NetConnection -ComputerName 127.0.0.1 -Port 27017).TcpTestSucceeded""
# Linux
ssh user@host "systemctl status mongod"
ssh user@host "mongosh --eval 'db.runCommand({ping:1})' --quiet"
# Linux
ssh user@host "df -h && free -h"
# Windows
ssh user@host "powershell -Command "Get-PSDrive -PSProvider FileSystem | Select Root,Used,Free; $os=Get-CimInstance Win32_OperatingSystem; Write-Output ('RAM: '+[math]::Round(($os.TotalVisibleMemorySize-$os.FreePhysicalMemory)/1MB,1)+'GB / '+[math]::Round($os.TotalVisibleMemorySize/1MB,1)+'GB')""
pm2 restart、net start、systemctl restart)当某项服务宕机时,请按以下顺序逐一排查:
pm2 logs、journalctl -u service 或 Windows 事件查看器mongod.log 中是否包含致命错误条目("s":"F")"s":"F" — 致命错误(崩溃) "Unhandled exception" — 内部缺陷(常与 FTDC 相关) "Detected unclean shutdown" — 进程被强制终止,未执行优雅关机 "WiredTiger error" — 存储引擎损坏
pm2 restartpm2 save # 使配置在系统重启后持续生效
net stop MongoDB timeout /t 5 net start MongoDB
sudo systemctl restart mongod
如需长期持续监控,请部署随附的看门狗脚本:
scripts/mongodb-watchdog.js 复制到目标服务器npm init -y && npm install mongodbpm2 start mongodb-watchdog.js --name mongodb-watchdogpm2 save当无法使用密钥认证时:
expect -c 'set timeout 20
spawn ssh -o StrictHostKeyChecking=no user@host "COMMAND"
expect {
"password:" { send "PASSWORDr"; exp_continue }
eof
}
'
🚨 Server Alert — [hostname] ⏰ Time: [timestamp] ❌ Issue: [service] is DOWN 📋 Cause: [crash reason from logs] 🔄 Action: Auto-restarted [service] ✅ Status: [service] is back online 📊 System Health: • Memory: X GB / Y GB • Disk: Z% used • Services: N/N online
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章