雨云云服务器监控告警实战:CPU、内存、磁盘与进程守护

云监控看板加自写守护脚本,让雨云云服务器出事前先告诉你
发布于
5

服务器不能“装完就忘”

前面我们把各种服务都跑上了雨云云服务器,但服务跑着跑着可能悄悄出问题:CPU 半夜被打满、磁盘慢慢写满、某个进程莫名其妙退出。等用户投诉才发现就晚了。监控告警的作用,就是让机器“不舒服”的时候主动告诉你。本文讲两套组合拳:云平台自带的监控面板,加上你自己写的轻量守护脚本。

一、云平台监控面板

雨云控制台一般提供云监控,能看到每台云服务器的 CPU、内存、带宽、磁盘的基础曲线。这是零成本的入门监控,先看整体趋势,发现某台机器长期高负载就考虑升配或优化。买机器走 jiyueip.com/link/5617 填优惠码 admin01 五折即可。

二、进程守护:别让服务悄悄死掉

最怕的是进程挂了没人管。用 systemd 保活(前面 Python 后端那篇写过)是第一层;再补一个定时探活脚本更稳。写个 /root/check_api.sh:

#!/bin/bash
if ! curl -s http://127.0.0.1:8000/health > /dev/null; then
    systemctl restart myapi
    echo "$(date) myapi restarted" >> /var/log/guard.log
fi

crontab -e 加 */2 * * * * /root/check_api.sh,每两分钟探一次,挂了就拉起,并把动作记到日志里。

三、自定义告警阈值

想更主动,可以写个监控脚本定时查指标并触发通知(比如发到你的机器人或邮件)。示例思路:

CPU=$(top -bn1 | grep 'Cpu(s)' | awk '{print $2}')
if awk "BEGIN{exit !($CPU>90)}"; then
    echo 'CPU 超 90%' | send-alert
fi

磁盘同理:df -h 取到使用率,超过 85% 就告警,避免写满导致服务崩溃。阈值别设太紧,否则正常波动也一直叫。

四、日志轮转别漏

守护脚本和应用的日志会一直涨,不处理迟早撑爆磁盘。用 logrotate 配一下:

/var/log/guard.log {
    daily
    rotate 7
    compress
    missingok
}

这样日志保留 7 天自动压缩清理,磁盘不会被日志悄悄吃光。

五、告警渠道怎么选

个人玩家用邮件或免费 IM 机器人最省事;团队可以接企业微信/钉钉。原则只有一个:告警要能真正通知到人,别配了却从来不看。

合规使用提醒

监控与告警仅用于你合法拥有的云服务器资源的健康看护,防范故障与资源滥用。不得利用监控手段窥探他人系统或从事任何违法活动。涉及用户数据的日志须按《个人信息保护法》妥善保护与定期清理。

常见问题(FAQ)

systemd 保活和探活脚本重复吗?
systemd 保活是第一层,进程挂了会自动拉起;探活脚本是第二层,定期主动检查接口是否还活着,挂了立刻重启并记日志,比单纯等 systemd 更主动。
告警阈值设多少合适?
太紧会一直误报,正常业务波动(如定时任务跑批)也会触发。一般 CPU 设 90%、磁盘设 85% 左右比较稳,具体看你的业务画像。
半夜收到告警先查什么?
先看是应用崩了还是机器资源不够。进程守护日志、云监控曲线能帮你区分:资源满了就升配或优化,进程老崩就查代码或依赖。
日志不清理会怎样?
会被日志悄悄吃光。务必用 logrotate 配轮转和保留天数,守护脚本和应用的日志都别忘,否则小问题拖成大宕机。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600