首页/系统/Linux 运维命令速查/场景:应用报错的全链路关联排查
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条
日志与排查40 条
systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

场景:应用报错的全链路关联排查

应用 500 → 容器/服务日志 → journal 系统层 → dmesg 内核层:自下而上或自上而下把同一时间窗的四层证据串起来。

Linux 运维命令速查系统更新于 2026-10-12
场景应用报错需要跨层定位
层次应用 → 服务管理 → 系统 → 内核
方法同一时间窗 + 关键实体(PID/文件/端口))

第 1 层:应用日志

第 1 层:应用日志
tail -n 100 /var/log/app/app.log
grep -n 'ERROR' /var/log/app/app.log | tail

第 2 层:服务与 journal

第 2 层:服务与 journal
systemctl status myapp --no-pager | head -n 15
journalctl -u myapp --since '15 min ago' --no-pager | tail -n 40

第 3-4 层:系统与内核

第 3-4 层:系统与内核
journalctl --since '15 min ago' -p warning --no-pager | tail -n 30
sudo dmesg -T | tail -n 30            # OOM、磁盘错误、网卡异常
sudo dmesg -T | grep -Ei 'oom|i/o error|segfault' | tail
串联技巧:先拿到应用的 PID/时间点,再用 journalctl _PID= 或 --since 精确回溯,避免全量翻日志。

易错点

  • 容器内 PID 与宿主 PID 不同:_PID 过滤要换算(docker top/ps 先取宿主 PID)
  • dmesg 时间戳默认开机相对时间:加 -T 转可读时间才能与业务日志对齐

数据来源与参考

  • man 1 journalctl(_PID 字段)
  • man 1 dmesg
  • systemd 官方文档:journal 字段

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌