0

0

Linux 日志异常排查与案例

舞姬之光

舞姬之光

发布时间:2026-02-19 15:19:03

|

293人浏览过

|

来源于php中文网

原创

journalctl查不到服务日志需依次确认unit名称正确、服务已启用、日志未被轮转清理;检查journald存储配置(storage=none则日志仅存内存);排查终端编码与字符集匹配问题;结合dmesg和coredump定位崩溃详情;用时间范围和字段过滤高效检索。

linux 日志异常排查与案例

journalctl 查不到服务日志?先确认 unit 名称和日志留存策略

systemd 服务日志默认由 journalctl 管理,但查不到不等于没输出——常见原因是 unit 名称写错、服务未启用、或日志已被轮转清理。

  • journalctl --list-units --type=service 看服务是否在 systemd 中注册(注意拼写,比如 nginx.service 不是 nginx
  • 刚启动的服务可能还没刷入 journal,加 -o json-pretty--since "1 minute ago" 缩小范围
  • journalctl --disk-usage 查当前日志占多少空间;若为 0 或极小,说明 Storage=none/etc/systemd/journald.conf 中被设了,日志只存在内存里,重启即丢
  • 临时启用持久化:改 Storage=persistent,再运行 sudo systemctl kill --signal=SIGUSR1 systemd-journald 重载配置

grep 出来全是乱码或空行?终端编码和 journal 字符集不匹配

日志里含中文、emoji 或特殊符号时,journalctl 默认按 UTF-8 解析,但终端 locale 或管道处理会破坏原始字节流。

  • 先检查 locale 输出是否含 UTF-8(如 LANG=en_US.UTF-8),不是就临时设:LANG=C.UTF-8 journalctl -u nginx.service
  • 避免用 grep 直接筛二进制内容:加 --all 参数确保显示所有字段(包括 _HOSTNAME、_PID),再用 awkjq 处理更稳
  • 如果日志本身含控制字符(比如某些 Python logging 配置用了 \r 刷屏),加 --no-hostname --no-pager 防止终端渲染干扰

服务明明 crash 了,journalctl 却没看到 segfault 或 exit code?得看内核日志和 coredump

用户态进程崩溃时,systemd 可能只记录 “main process exited, code=killed, status=11/SEGV”,但具体堆栈不在 journal 里——它被内核或 systemd-coredump 拦截了。

Ink For All
Ink For All

AI写作和营销助手,精心设计的 UI

下载
  • 查内核消息:dmesg -T | grep -i "segfault\|killed process",注意时间戳是否比 journal 早几秒
  • 确认 coredump 是否启用:systemctl is-enabled systemd-coredump;若为 disabled,sudo systemctl enable systemd-coredump 并检查 /proc/sys/kernel/core_pattern
  • core 文件默认存于 /var/lib/systemd/coredump/,用 coredumpctl info <code>your-binary-name 直接读取上下文,比翻日志快得多
  • 某些容器化部署会禁用 coredump(如 Docker 的 --ulimit core=0),这时只能靠 strace -f -e trace=signal 提前挂载抓信号

日志量太大卡住 terminal?别硬翻,用 time-range + field filter 快速定位

线上服务跑几天后,journalctl -u xxx 可能返回几十万行,less 都卡死。关键是跳过“全量拉取”这个动作。

  • --since "2024-05-20 14:30:00"--until "2024-05-20 14:35:00" 锁定故障窗口,哪怕只差一分钟,数据量常差两个数量级
  • 过滤特定字段比 grep 更准:journalctl _PID=12345 PRIORITY=3(3 是 ERR 级别),避免正则误匹配
  • 导出结构化数据:journalctl -u nginx --output=json | jq 'select(.MESSAGE | contains("502"))',比 shell 管道稳定,且支持嵌套字段筛选
  • 如果频繁要查,把常用组合做成 alias,比如 alias jnerr='journalctl -p 3 --since "1 hour ago"'

真正难的不是查哪条日志,而是判断该信哪条——比如同一时间点,kernel 日志说 OOM killer 杀了进程,而应用日志却报 “connection timeout”,这时候得看谁先发生,而不是谁声音大。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

240

2023.07.27

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

516

2023.08.04

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

566

2023.08.04

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

242

2024.02.23

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

520

2024.07.09

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

3606

2024.08.07

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

49

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

66

2026.01.13

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

660

2026.02.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 9.3万人学习

Git 教程
Git 教程

共21课时 | 3.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号