CentOS Minimal系统日志管理指南
CentOS Minimal系统的日志管理依赖三个核心工具:
/var/log/messages),支持日志转发至远程服务器。journalctl是查看systemd管理日志的便捷工具,常用命令如下:
journalctl(需root权限)。journalctl -n 100。journalctl -f(类似tail -f)。journalctl -u sshd。journalctl -b;查看上一次启动的日志:journalctl -b -1。journalctl --since "today";按关键词搜索(如“error”):journalctl | grep 'error'。CentOS Minimal的日志仍存储在/var/log目录下,常见文件及用途:
/var/log/messages:系统一般信息日志(如内核消息、服务启动信息)。/var/log/secure:安全相关日志(如SSH登录尝试、权限变更)。/var/log/boot.log:系统启动过程日志。/var/log/dmesg:内核环缓冲区日志(硬件检测、驱动加载信息)。常用查看命令:
cat /var/log/messages(全量查看)、less /var/log/messages(分页查看)。tail -f /var/log/messages(适合故障排查)。grep "error" /var/log/messages(筛选特定错误信息)。日志轮转可自动管理日志文件大小,避免磁盘空间耗尽。CentOS Minimal默认已安装logrotate,配置步骤如下:
/etc/logrotate.conf(定义全局规则,如默认轮转周期、压缩方式)。/etc/logrotate.d/目录下创建新文件(如myapp),针对特定日志文件配置轮转规则。/var/log/myapp.log为例)/var/log/myapp.log {
daily # 每天轮转一次
rotate 7 # 保留7个旧日志文件
compress # 压缩旧日志(如myapp.log.1.gz)
delaycompress # 延迟压缩(下一次轮转时才压缩myapp.log.1)
missingok # 日志文件丢失时不报错
notifempty # 日志为空时不轮转
create 640 root adm # 创建新日志文件,权限640,属主root,属组adm
}
sudo logrotate -f /etc/logrotate.d/myapp(强制轮转,即使未达到条件)。tail -f /var/log/messages(监控logrotate的操作记录)。logrotate默认通过/etc/cron.daily/logrotate每天自动运行,无需额外配置。
若需将日志发送至远程服务器(如日志服务器),可编辑/etc/rsyslog.conf,取消以下行注释并修改目标服务器IP:
*.* @192.168.1.100:514 # UDP转发(514端口)
*.* @@192.168.1.100:514 # TCP转发(更可靠)
重启rsyslog服务使配置生效:sudo systemctl restart rsyslog。
sudo yum install logwatch,启动服务:sudo systemctl enable --now logwatch。若需监控系统调用、文件访问等安全事件,可安装auditd:
sudo yum install audit。sudo systemctl enable --now auditd。ausearch -m avc(查看SELinux审计日志)、aureport -i(生成审计报告)。