CentOS 资源监控实操指南
术语澄清 “dopra”并非 CentOS 的官方发行版或通用监控工具名称,更可能是输入错误或对某个具体程序/服务的称呼。若你要监控的是“CentOS 系统资源”或某个名为“dopra”的进程/服务,均可采用下述方法完成监控与排查。
快速定位目标进程
ps -ef | grep -i dopra 或 pidof dopra。top -p $(pidof dopra)(或 htop 后用 F3 搜索 “dopra”)。lsof -p $(pidof dopra);查看进程树:ps auxf | grep -i dopra。strace -p $(pidof dopra) -T -f -o /tmp/dopra.strace。命令行即时监控
uptime、top、htop。free -h。vmstat 1 10(CPU、内存、swap、IO、系统活动)。iostat -x 1 10(关注 %util、await、svctm、r/s、w/s)。df -h;目录占用:du -sh /path。ss -tulpen、netstat -tulpen;带宽:iftop -P。dstat -c -m -d -n -l -p -y 1 10。图形化与持续观测
glances(跨平台,信息密度高)、nmon(CPU/内存/磁盘/网络一目了然)、Monitorix(轻量服务监控)。面向 dopra 的排查与告警示例
ps -ef | grep -i dopra;若无,检查服务单元 systemctl status dopra 或启动日志 journalctl -u dopra -xe。top -p $(pidof dopra) 观察 %CPU、RES;vmstat 1 10 看整体负载;iostat -x 1 10 判断是否为磁盘瓶颈。lsof -p $(pidof dopra) 检查句柄/日志/配置占用;ss -tulpen | grep $(pidof dopra) 看连接数。strace -p $(pidof dopra) -T -f -o /tmp/dopra.strace 抓取系统调用耗时。df -h、du -sh /var/log /opt/dopra(日志轮转与磁盘满常引发异常)。#!/usr/bin/env bash
PID=$(pidof dopra)
[[ -z "$PID" ]] && { echo "dopra not running"; exit 1; }
cpu=$(ps -p "$PID" -o %cpu --no-headers | awk '{print int($1)}')
mem=$(ps -p "$PID" -o rss --no-headers | awk '{print int($1/1024)}')
load=$(uptime | awk -F'load average:' '{print $2}' | awk '{print $1}' | tr -d ',')
# 阈值示例:CPU>80%,内存>500MB,系统1分钟负载>CPU核心数
cores=$(nproc)
if (( cpu > 80 )); then
echo "ALERT: dopra CPU ${cpu}% > 80%"
fi
if (( mem > 500 )); then
echo "ALERT: dopra RSS ${mem}MB > 500MB"
fi
if (( $(echo "$load > $cores" | bc -l) )); then
echo "ALERT: Load ${load} > CPU cores ${cores}"
fi
可将脚本加入 cron 定时执行并配合邮件/企业微信/钉钉 Webhook 推送告警。