Linux服务器系统日志查看与管理指南
一、核心日志文件位置
/var/log/messages
cat /var/log/messages
/var/log/syslog
tail -f /var/log/syslog
/var/log/auth.log
grep \"Failed\" /var/log/auth.log
/var/log/kern.log
journalctl -k
/var/log/boot.log
cat /var/log/boot.log
/var/log/nginx/*
tail -f /var/log/nginx/access.log
二、基础查看方法
-
实时监控日志
bash
复制
下载
tail -f /var/log/syslog # 持续输出新日志
-
按时间筛选
bash
复制
下载
journalctl --since \"2024-05-20 09:00:00\" --until \"2024-05-20 18:00:00\"
-
关键词过滤
bash
复制
下载
grep -i \"error\" /var/log/messages # 筛选错误信息
三、高级分析技巧
-
统计HTTP状态码(Nginx示例)
bash
复制
下载
awk \'{print $9}\' /var/log/nginx/access.log | sort | uniq -c | sort -rn
-
检测暴力破解尝试
bash
复制
下载
awk \'/Failed password/{print $11}\' /var/log/auth.log | sort | uniq -c | sort -n
-
日志时间范围提取
bash
复制
下载
sed -n \'/May 20 10:00:00/,/May 20 11:00:00/p\' /var/log/syslog
四、日志轮转配置
-
查看当前配置
bash
复制
下载
cat /etc/logrotate.confls /etc/logrotate.d/
-
自定义Nginx日志轮转
bash
复制
下载
sudo nano /etc/logrotate.d/nginx
conf
复制
下载
/var/log/nginx/*.log { daily missingok rotate 30 compress delaycompress notifempty create 0640 www-data adm sharedscripts postrotate /usr/sbin/nginx -s reload endscript}
五、系统日志服务(journalctl)
-
基本用法
bash
复制
下载
journalctl -xe # 查看详细系统日志journalctl -u nginx.service # 查看指定服务日志
-
导出日志到文件
bash
复制
下载
journalctl --since \"1 hour ago\" > recent_logs.txt
六、安全审计日志
-
启用auditd服务
bash
复制
下载
sudo systemctl start auditdsudo auditctl -l # 查看当前规则
-
监控文件修改
bash
复制
下载
sudo auditctl -w /etc/passwd -p wa -k passwd_changesausearch -k passwd_changes # 查询记录
七、日志分析工具推荐
sudo apt install goaccess
sudo apt install logwatch
八、关键故障排查场景
-
服务器突然重启
bash
复制
下载
grep -i \"shutdown\" /var/log/messageslast reboot # 查看重启历史
-
磁盘空间不足
bash
复制
下载
grep \"disk full\" /var/log/syslogdf -h # 检查磁盘使用
-
服务启动失败
bash
复制
下载
journalctl -u mysql --no-pager -n 50 # 查看MySQL最后50条日志
九、日志归档策略
-
自动清理旧日志
bash
复制
下载
sudo find /var/log -type f -name \"*.log\" -mtime +30 -delete
-
远程日志备份(rsync示例)
bash
复制
下载
rsync -avz /var/log/ backup-server:/backups/$(hostname)-logs/
十、最佳实践建议
-
统一收集:使用Fluentd/Filebeat集中管理多服务器日志
-
敏感信息过滤:配置日志系统不记录密码等隐私数据
-
监控告警:设置Logcheck检测异常日志模式
通过系统化日志管理,可快速定位80%以上的服务器问题。建议对关键服务(如数据库)建立单独的日志分析流程。