CentOS缓存日志分析实操指南
一、先厘清“缓存”与“日志”的关系
二、快速定位日志来源与占用
free -m、vmstat 1 10sar -B 1 10(关注 pgscank/s、pgsteal/s)sudo journalctl --disk-usagesudo journalctl --vacuum-time=7d 或 --vacuum-size=100M/var/log/journal 存在并配置 Storage=persistent(编辑 /etc/systemd/journald.conf,然后重启 systemd-journald)wget https://silenceshell-1255345740.cos.ap-shanghai.myqcloud.com/hcache && chmod +x hcache && mv hcache /usr/local/bin/hcache -top 10pcstat(需安装)或 ls -lhS /var/log 辅助判断大日志文件。三、按日志类型进行分析
journalctl -fjournalctl --since "2025-12-13 00:00:00" --until "2025-12-13 12:00:00"journalctl -p err..alertjournalctl -u nginx.service -b -n 50journalctl -b -1(上一次启动)tail -f /var/log/messages、tail -f /var/log/securegrep -i "error\|fail\|timeout" /var/log/messageswc -l /var/log/messages、sort | uniq -c | sort -nrlast/utmpdump /var/log/wtmp 了解登录历史。四、常见场景与命令清单
sudo journalctl --disk-usage、确认 /var/log/journal 持久化与大小sudo journalctl --vacuum-time=7d 或 --vacuum-size=100M;必要时在 /etc/systemd/journald.conf 调整 SystemMaxUse=… 并重启 systemd-journaldtail -f /var/log/<service>.log、grep -i error … 找到异常频率与来源nginx.conf 的 log_format 中加入 $upstream_cache_status,然后在访问日志中统计:
awk '{if($NF=="\"HIT\"") hit++; total++;} END {printf "%.2f%%\n", hit/total*100}' access.logawk '{s[$NF]++; total++;} END {for(k in s) printf "%s: %.2f%%\n", k, s[k]/total*100}' access.log五、长期治理与自动化