Linux运维监控核心是建立“可观测闭环”:日志记录事件、指标反映状态,二者交叉验证定位问题;分层聚焦系统级/服务级日志与CPU、内存、磁盘I/O、网络、负载五大指标;需结合journalctl、atop、sar、vmstat等工具按场景协同分析,并可通过rsyslog+atop+lnav或Grafana+Prometheus轻量落地。

Linux 运维监控不是堆工具,而是建立“可观测闭环”:日志记录发生了什么,指标说明状态是否异常,二者交叉验证才能准确定位问题。关键不在全量采集,而在分层聚焦——系统级日志看稳定性,服务级日志看业务逻辑,指标则聚焦 CPU、内存、磁盘 I/O、网络和负载这五大核心维度。
系统日志定位要快而准
日常排查优先查 /var/log/syslog(Debian/Ubuntu)或 /var/log/messages(RHEL/CentOS),配合 journalctl 统一管理 systemd 日志:
-
实时跟踪:用
journalctl -f -u nginx.service查指定服务最新日志;tail -f /var/log/auth.log监控 SSH 登录行为 -
时间范围过滤:比如查昨天凌晨的异常
journalctl --since "2026-06-14 02:00:00" --until "2026-06-14 04:00:00" | grep -i "failed" -
结构化提取:用
awk '{print $1,$2,$3,$NF}' /var/log/syslog快速抓取时间、主机、最后字段(常为错误码或进程ID)
性能指标监控要分场景选工具
不同目标对应不同工具,避免“一个 top 走天下”:
-
实时交互诊断:用 atop —— 它能同时看 CPU、内存、磁盘、网络,并支持回溯历史(
atop -r /var/log/atop/atop_20260614)。按 C 排 CPU、M 排内存、d 切磁盘视图,比 top 更直观 -
历史趋势分析:用 sar(sysstat 包)——
sar -u 1 5看 CPU 实时采样,sar -r查内存使用率,sar -d看磁盘 I/O,数据默认存于/var/log/sysstat/ -
深度瓶颈挖掘:当发现高上下文切换或内核态 CPU 占比异常,用 vmstat 1 观察
cs(上下文切换)、si/so(swap 活动),再结合 perf 抓热点函数
日志与指标协同分析才有效
单看日志难判断影响范围,只看指标不知具体原因。典型协同方式:
- 发现 sar -u 显示某时段 %iowait 飙升 → 立即查 atop -r 对应时间点,按 d 视图找 I/O 最高的进程 → 再用
journalctl --since ... --until ...查该进程日志,确认是否在刷写日志或处理大文件 - 看到 auth.log 中大量 SSH 失败记录 → 结合 netstat -tuln | grep :22 和 ss -s 看连接数是否异常 → 再用 iftop -P 22 确认是否有暴力扫描流量
- 应用报“Connection refused” → 先
systemctl status app.service看服务状态 → 若已退出,查 journalctl -u app.service -n 50 最后 50 行日志 → 同时用 free -h 和 df -h 排查内存或磁盘是否耗尽
轻量级集中监控可快速落地
不一定要上 ELK 才算监控。小团队或单机环境推荐组合:
- 日志归集:用 rsyslog 将各服务日志按规则路由到统一文件,或转发至远程 syslog 服务器
-
指标采集:启用 atop 的定时采集(
systemctl enable atop),日志自动存入/var/log/atop/ - 可视化入口:用 lnav(命令行日志分析器)打开多日志文件联动搜索;或部署轻量 Grafana + Prometheus Node Exporter,5 分钟即可看到 CPU、内存、磁盘等基础仪表板


















