外观
3.3 日志查看与告警演练
约 504 字
监控日志
本页对应「三、操作步骤」的 3.3,完成日志查看与告警演练。返回上级:站点监控配置说明。
前置条件
- 3.1 与 3.2 已完成,检测与告警均已生效。
- nginx、应用与数据库日志按规范落盘,journald 保留期不少于 7 天。
- 已获准在低峰时段进行一次停服演练,并已通知相关方。
操作步骤
- 按时间窗口查看服务日志,先定位首次异常时间。
sudo journalctl -u nginx --since '2026-06-08 09:00' --until '2026-06-08 09:30' --no-pager
sudo journalctl -u axis-api --since '-30 min' --no-pager- 统计状态码分布,判断是单点异常还是全站异常。
sudo awk '{print $9}' /var/log/nginx/example.access.log | sort | uniq -c | sort -rn | head
sudo grep -c ' 502 ' /var/log/nginx/example.access.log- 用请求标识把 Nginx 日志与应用日志串起来。
sudo grep -m 20 '2026-06-08T09:1' /var/log/nginx/example.error.log
sudo grep -m 20 '<request_id>' /srv/axis/logs/app.log- 执行告警演练:停服、等待一个检测周期、恢复服务。
sudo systemctl stop nginx
sleep 120
sudo systemctl start nginx
systemctl is-active nginx- 登记演练结果,形成可追溯的时间线。
echo "$(date -Is) drill: stop nginx 120s, alert received, recovered" | sudo tee -a /srv/axis/logs/drill.log
sudo tail -n 3 /srv/axis/logs/drill.log结果确认
- journalctl 输出中能定位到第一条 ERROR 及其时间,与告警时间相差不超过 1 分钟。
- 状态码统计可量化 5xx 数量,能说明影响范围。
- 演练中收到告警与恢复通知各一条,时间线完整。
- 演练记录已写入
/srv/axis/logs/drill.log,含起止时间与结论。
注意事项
- 查询大文件时先用
--since与grep -m限制范围,避免一次读取整月日志。 - 应用日志中的敏感字段在对外提供前必须脱敏。
- 演练选择低峰时段并提前通知,避免与真实故障混淆。
- 演练后确认检测项状态回到正常,不要遗留停服的服务。