在Linux系统中,主要的日志文件通常位于以下位置:
/var/log/messages
- 常规系统消息/var/log/syslog
- 系统日志/var/log/auth.log
- 认证相关日志/var/log/kern.log
- 内核日志/var/log/dmesg
- 内核环形缓冲区日志/var/log/boot.log
- 系统启动日志/var/log/maillog
- 邮件服务器日志/var/log/httpd/
- Apache Web服务器日志/var/log/mysql.log
- MySQL数据库日志最基本的实时日志查看方式:
tail -f /var/log/syslog
可以同时监控多个日志文件:
multitail /var/log/syslog /var/log/auth.log
高级日志文件查看器,支持语法高亮和日志格式检测:
lnav /var/log/syslog
对于使用systemd的系统:
# 实时查看所有日志
journalctl -f
# 查看特定服务的日志
journalctl -u nginx.service -f
# 查找包含"error"的日志条目
grep -i "error" /var/log/syslog
# 查找特定时间段的日志
sed -n '/May 20 10:00:00/,/May 20 10:15:00/p' /var/log/syslog
# 统计日志中不同IP的出现次数
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr
系统日志分析报告工具:
logwatch --detail High
实时Web日志分析器:
goaccess /var/log/nginx/access.log -a
完整的日志收集、分析和可视化解决方案:
开源的日志管理平台,提供强大的搜索、告警和分析功能。
主要用于指标监控,但也可以与日志系统集成。
Linux通常使用logrotate管理日志轮转:
# 查看logrotate配置
cat /etc/logrotate.conf
ls /etc/logrotate.d/
# 手动执行轮转
logrotate -vf /etc/logrotate.d/nginx
通过合理配置这些工具和技术,您可以有效地监控和分析Linux系统中的日志,及时发现并解决问题。