在 Jenkins 中“监控服务器状态”通常有两种理解:
下面按常见、可落地的方式给你讲,从简单到高级。
Jenkins 定时跑一个 Job → SSH 到目标服务器 → 执行命令 → 判断状态 → 失败就报警
*/5 * * * *
Execute shell 或 SSH如果是本机:
# 磁盘使用率
df -h | awk '$5+0 > 80 {print "磁盘告警:", $0}'
# 内存
free -m | awk 'NR==2 {if ($4 < 500) print "内存不足"}'
# CPU 负载
uptime
如果远程服务器,用 SSH Plugin 或 ssh 命令:
ssh user@server 'df -h | awk "$5+0>80"'
threshold=80
usage=$(ssh server 'df / | tail -1 | awk "{print $5}" | tr -d "%"')
if [ "$usage" -gt "$threshold" ]; then
echo "磁盘超过阈值"
exit 1
fi
✅ Job 失败 → Jenkins 邮件/钉钉/飞书报警
if ! systemctl is-active --quiet nginx; then
echo "Nginx 未运行"
exit 1
fi
或检查端口:
if ! nc -z localhost 80; then
echo "80端口不通"
exit 1
fi
Jenkins 自带功能:
查看:
⚠️ 注意:
Jenkins 不是专业监控系统
长期监控建议用 Prometheus + Node Exporter + Alertmanager
服务器
↓ node_exporter
Prometheus
↓
Grafana / Alertmanager
↓
钉钉 / 邮件
Jenkins(只做自动修复或巡检)
如果你愿意,可以告诉我:
我可以直接给你一套 可复制的 Jenkins Job 配置。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。