Linux日志
日志记录过程
- 内核生成日志并写入内核环形缓冲区(内存中):dmesg 直接读取此处
- 系统日志服务(如rsyslog)从缓冲区捕获日志,并转发到/var/log/进行持久化存储
- r、Reliable:可靠的
- 启动时,内核缓冲区的初始内容会被保存到/var/log/dmesg
1、rsyslog日志系统(传统、rsyslog.service)
基本使用:tail -fn 1000 /var/log/celery/celery.log
- 存储路径:/var/log/
- /var/log/boot.log:系统启动过程的详细信息(服务初始化状态)
- /var/log/celery/celery.log:记录Celery分布式系统(用于服务器多盘测试)运行日志
- /var/log/cron:计划任务(cron)的执行记录(成功/失败)
- /var/log/firewalld:防火墙日志
- /var/log/messages:通用系统消息、非内核级别的系统消息(服务、用户登录、应用程序)
- Redhat系默认为messages
- Debian系默认为syslog
#解决Ubuntu没有messages(messages信息会更全) vim /etc/rsyslog.d/50-default.conf #增加一行 *.info;mail.none;authpriv.none;cron.none /var/log/messages #重启rsyslog日志系统 systemctl restart rsyslog.service
- /var/log/kern.log:内核事件(硬件驱动、内核错误等)---需要手动开启
- vim /etc/rsyslog.conf

- /var/log/secure:安全认证日志(SSH、sudo等)
2、dmesg命令(实时调试硬件或内核问题)
- 作用:直接读取内核环形缓冲区中的实时日志,主要记录内核启动过程、硬件设备检测、驱动加载、内核错误等信息
- dmesg -C:清除消息
- dmesg -Tw:实时查看消息(-T:显示时间戳 -w:实时查看 )
3、systemd journal(现代、systemd-journald.service、/ˈdʒɜːnl/)
- d:daemon、守护进程
- 命令:journalctl
- 基本使用:journalctl -u sshd --since today -o short-iso -f
3.1 基本查看命令
- journalctl:查看完整日志
- journalctl -f:实时查看日志
- journalctl -n 50:查看后50行的日志
- journalctl --since "2025-12-10 09:00:00" --until "2025-12-10 17:00:00":查看指定时间的日志
- journalctl --since today:查看今天的日志
3.2 按优先级过滤(priority)
- journalctl -p err :只看错误级别
- journalctl -p 3:优先级3及以上(0=紧急, 3=错误, 6=信息)
- 日志等级:3: err、4: warning、5: notice、6: info、7: debug
3.3 查看启动日志
- journalctl -b:查看本次启动日志
- journalctl -b -1:查看上次启动日志
3.4 按服单元过滤(Unit,包括服务、设备、挂载点等)
- journalctl -u sshd:SSH服务日志
- journalctl -u celery_worker:celery日志
3.5 按进程ID或用户过滤
- journalctl _PID=653631:指定进程ID
- journalctl _UID=0:指定用户ID
- journalctl _COMM=sshd:指定命令名称

3.6 结构化输出(便于阅读和处理)
- journalctl -o json-pretty:美化JSON格式
- journalctl -o short-iso:显示完整的时间戳
本文来自博客园,作者:Fēngwèi,转载请注明原文链接:https://www.cnblogs.com/fengwei-blogs/p/18844939

浙公网安备 33010602011771号