centos虚拟机日志查看与管理
小樊
31
2025-11-29 16:27:01
CentOS 虚拟机日志查看与管理
一 核心查看命令
- 使用 journalctl(适用于 CentOS 7+ 的 systemd 系统):
- 查看全部日志并按时间倒序到末尾:journalctl -xe
- 查看最近 N 条:journalctl -n 100
- 实时跟踪:journalctl -f
- 按服务查看:journalctl -u nginx.service -f
- 按时间范围:journalctl --since “2025-06-01” --until “2025-06-02”
- 按启动轮次:journalctl -b(本次启动)、journalctl -b -1(上一次启动)
- 按优先级:journalctl -p err -b(本次启动的错误级别)
- 导出日志:journalctl -u sshd > sshd.log
- 使用传统日志文件(位于 /var/log):
- 常规系统消息:less /var/log/messages
- 安全认证:sudo less /var/log/secure
- 定时任务:less /var/log/cron
- 启动引导:less /var/log/boot.log
- 内核环缓冲:dmesg | less;实时内核日志:dmesg -w
- 邮件服务:less /var/log/maillog
- 审计日志:sudo less /var/log/audit/audit.log
- 过滤与检索:
- 关键字过滤:grep “error” /var/log/messages
- 实时过滤:journalctl -f | grep “error”
- 按用户过滤:journalctl _UID=1000
- 登录类日志与工具:
- 查看登录历史:last -f /var/log/wtmp
- 查看失败登录:lastb -f /var/log/btmp
- 查看所有用户最近登录:lastlog
二 日志文件与作用速查
| 路径 |
作用 |
| /var/log/messages |
常规系统消息(内核与服务) |
| /var/log/secure |
认证、登录、sudo 等安全事件 |
| /var/log/cron |
定时任务执行记录 |
| /var/log/boot.log |
系统引导过程日志 |
| /var/log/dmesg |
内核环缓冲(驱动/硬件相关) |
| /var/log/maillog |
邮件服务日志 |
| /var/log/audit/audit.log |
审计子系统日志 |
| /var/log/wtmp |
登录/注销历史(配合 last) |
| /var/log/btmp |
失败登录尝试(配合 lastb) |
| /var/log/lastlog |
所有用户最近一次登录信息 |
| /var/log/yum.log |
YUM 包管理日志 |
| /var/log/httpd/ |
Apache 访问与错误日志(若安装) |
| /var/log/mysqld.log |
MySQL 日志(若安装) |
三 日志轮转与空间清理
- 查看 systemd 日志占用:journalctl --disk-usage
- 按时间保留日志(如保留最近 7 天):journalctl --vacuum-time=7d
- 按体积保留日志(如保留最大 500M):journalctl --vacuum-size=500M
- 清空单个传统日志文件(谨慎):truncate -s 0 /var/log/messages
- 使用 logrotate 进行轮转(默认配置 /etc/logrotate.conf,应用配置在 /etc/logrotate.d/):
- 常用策略示例:按周轮转、保留 4 份、压缩、日期后缀
- 调试与强制执行:logrotate -d /etc/logrotate.conf(演练)、logrotate -f /etc/logrotate.conf(强制执行)
- 安全加固(可选):对关键日志设置只追加属性,防止被篡改:chattr +a /var/log/messages;恢复:chattr -a /var/log/messages
四 集中化与审计增强
- 远程日志(rsyslog 到远程服务器,UDP 示例):
- 服务端:在 /etc/rsyslog.conf 或 /etc/rsyslog.d/ 添加规则如:authpriv. @192.0.2.10:514*,重启服务:systemctl restart rsyslog
- 客户端:将需要集中采集的日志按同样规则发送至服务器
- 审计框架 auditd:
- 启用与规则:编辑 /etc/audit/audit.rules,按需添加系统调用/文件监控规则,重启 auditd 生效
- 日志位置:/var/log/audit/audit.log,用于安全合规与入侵排查
- 可视化与检索(可选):搭建 ELK Stack(Elasticsearch + Logstash + Kibana) 或采用 lnav 等工具进行多文件高亮与交互式分析
五 VirtualBox 宿主机侧日志
- 在 VirtualBox 管理器中选中虚拟机 → 设置 → 日志,可直接查看虚拟机的启动、错误等日志,用于定位虚拟化层面的问题(与来宾系统内日志互补)