使用 journalctl 命令(Systemd 日志管理核心工具)
journalctl 是 CentOS Stream 8 中查看系统、内核及服务日志的主要工具,支持按时间、服务、优先级、用户等多维度过滤,功能强大且高效。
journalctl,默认显示本次系统启动以来的所有日志。-f 参数可实时跟踪日志更新(类似 tail -f),适合监控系统实时状态(如服务异常时的日志输出)。-n 指定数量,如 journalctl -n 50 查看最近50条日志;或结合 --since/--until 按时间过滤,例如 journalctl --since "2025-10-01" --until "2025-10-09" 查看10月1日至9日的日志,或 journalctl --since "2 hours ago" 查看2小时内的日志。-u 参数指定服务名,如 journalctl -u sshd 查看SSH服务日志,journalctl -u nginx 查看Nginx服务日志,帮助快速定位服务相关问题。-p 参数指定日志级别(0-7,数字越小优先级越高),如 journalctl -p err 查看错误级别及以上日志(包含 error、critical、alert、emerg),快速定位严重问题。-k 参数可过滤出内核启动及运行时的日志(等同于传统 /var/log/kern.log),适合排查硬件或内核模块问题。查看传统 /var/log 目录日志
CentOS Stream 8 仍保留传统日志文件,位于 /var/log 目录下,适合查看应用程序或遗留系统的日志:
cat /var/log/messages 或用 less /var/log/messages 分页查看(包含系统启动、服务启动等通用信息)。cat /var/log/secure(包含用户认证、sudo 使用、SSH 登录等安全事件,如密码错误、登录失败记录)。/var/log 下的对应目录,例如 cat /var/log/nginx/access.log 查看Nginx访问日志(记录用户请求)、cat /var/log/httpd/error_log 查看Apache错误日志(记录Web服务异常)。常用辅助命令
grep 筛选特定内容,如 journalctl | grep "error" 查找所有包含“error”的日志条目,或 grep 'fail' /var/log/secure 查看安全日志中的失败记录。last 命令显示用户登录/注销记录(包括登录时间、IP 地址),last reboot 查看系统重启记录。