核心日志位置
Linux日志通常存储在 /var/log
目录:
- 系统日志:
/var/log/syslog
(Debian/Ubuntu)或/var/log/messages
(RHEL/CentOS) - 认证日志:
/var/log/auth.log
(记录登录、sudo操作) - 内核日志:
/var/log/kern.log
- 应用日志:如 Apache (
/var/log/apache2/access.log
), Nginx (/var/log/nginx/access.log
)
基础查看命令
-
cat
:快速查看小型日志cat /var/log/syslog
-
tail
:实时监控最新日志tail -f /var/log/nginx/access.log # 持续刷新尾部内容 tail -n 50 /var/log/syslog # 显示最后50行
-
less
:交互式分页查看(支持搜索)less /var/log/auth.log
- 操作:按 输入关键词搜索(如
sudo
),n
跳至下一匹配项。
- 操作:按 输入关键词搜索(如
-
grep
:关键词过滤grep "error" /var/log/syslog # 筛选含"error"的行 grep -C 3 "failed" /var/log/auth.log # 显示匹配行及前后3行上下文
高级工具与技巧
-
journalctl
:查看Systemd日志(适用于现代Linux发行版)journalctl -u nginx.service # 查看Nginx服务日志 journalctl --since "2025-10-01" --until "2025-10-02" # 按时间范围筛选 journalctl -p err..alert # 过滤错误级别日志(err到alert)
-
multitail
:多文件并行监控sudo apt install multitail # Debian/Ubuntu安装 multitail -cS apache /var/log/apache2/*.log # 彩色显示Apache日志
-
日志轮转管理
使用logrotate
配置自动分割/压缩旧日志,避免文件过大。
图形化工具(可选)
gnome-logs
:GNOME桌面环境的日志查看器(支持关键词过滤和分类)KSystemLog
:KDE桌面的高级日志分析工具- Web工具:ELK Stack(Elasticsearch, Logstash, Kibana)用于分布式日志分析
调试与故障排查示例
-
案例1:检测SSH暴力破解
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr
输出:统计尝试登录失败的IP地址及次数。
-
案例2:追踪服务启动失败
journalctl -u docker.service --since today | grep -i "fail\|error"
安全与最佳实践
- 权限控制:日志文件通常需
sudo
读取,避免随意修改。 - 隐私保护:日志中可能含敏感信息(如IP、用户名),分享前需脱敏。
- 定期归档:使用
logrotate
或自定义脚本清理旧日志,释放磁盘空间。
引用说明:
- 命令参考依据Linux man-pages(man7.org)
- Systemd日志规范详见 freedesktop.org
- 安全实践遵循Linux审计标准(IEEE Std 1003.1)
通过掌握上述方法,您可高效定位系统异常,提升运维效率,建议结合场景灵活组合命令,并善用日志级别(如 debug
, info
, warn
)优化监控策略。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5257.html