Debian 日志管理实战指南
一 日志体系与常用路径
- 系统日志集中存放在 /var/log,常见文件与作用如下:
- /var/log/syslog:系统整体日志(服务启动、运行、停止等)。
- /var/log/auth.log:认证与授权日志(登录、sudo 等)。
- /var/log/kern.log:内核日志(驱动、硬件相关)。
- /var/log/dmesg:内核环缓冲区(启动阶段信息)。
- /var/log/dpkg.log:软件包安装、升级记录。
- /var/log/boot.log:系统启动过程日志。
- /var/log/btmp:失败登录尝试记录(二进制,用 lastb 查看)。
- 查看与实时监控常用命令:
- 实时跟踪:tail -f /var/log/syslog
- 关键字过滤:grep “error” /var/log/syslog
- 分页浏览:less /var/log/syslog
- 说明:部分系统还可能使用 /var/log/messages(视发行版与配置而定)。
二 查看与检索日志
- 使用 journalctl(systemd 日志)进行结构化查询:
- 查看本次启动日志:journalctl -b
- 按服务查看:journalctl -u nginx.service
- 按时间范围:journalctl –since “2025-12-01 00:00:00” –until “2025-12-31 23:59:59”
- 按优先级:journalctl -p err(支持 0–7 或 emerg/alert/crit/err/warning/notice/info/debug)
- 输出格式:journalctl -o json(亦可用 short/verbose/field)
- 使用 dmesg 查看内核消息:
- 查看全部:dmesg
- 按级别:dmesg –level=err
- 关键字过滤:dmesg –grep=usb
- 组合检索示例:定位某服务最近的错误
- journalctl -u nginx -p err –since today | tail -n 50。
三 日志轮转与保留策略
- 核心工具为 logrotate,主配置 /etc/logrotate.conf,服务配置在 /etc/logrotate.d/;通常由 cron 每日触发(检查 /etc/cron.daily/logrotate 是否存在且可执行)。
- 常用指令与含义:
- daily/weekly/monthly:轮转周期
- size 100M:按大小触发
- rotate 7:保留历史个数
- compress / delaycompress:压缩旧日志(后者常用于让最新归档保持可读)
- missingok / notifempty:文件缺失不报错 / 空文件不轮转
- create 644 root root:轮转后新建文件的权限与属主
- postrotate … endscript:轮转后执行的命令(如通知进程重新打开日志)
- 示例 1(按大小轮转并通知 rsyslog 重读配置):
- 新建:sudo nano /etc/logrotate.d/myapp
- 内容:
/var/log/myapp.log { size 50M rotate 5 compress delaycompress missingok notifempty create 644 root root postrotate /usr/bin/killall -HUP rsyslogd endscript }
- 示例 2(按月轮转并带日期后缀):
/var/log/myapp.log { monthly rotate 12 dateext create 644 root root postrotate /usr/bin/killall -HUP rsyslogd endscript } - 演练与强制:
- 预演(不真正轮转):logrotate -d /etc/logrotate.d/myapp
- 强制轮转:logrotate -vf /etc/logrotate.d/myapp
- 提示:若服务不响应 SIGHUP,可在 postrotate 中改用其提供的专用命令或重启服务。
四 集中化与审计扩展
- 集中式日志平台(适合多机统一检索与告警):
- Graylog:收集、处理、可视化日志;部署通常包含 Elasticsearch、MongoDB 与 Graylog Server,访问 http://服务器IP:9000 进行管理。
- 安全信息与审计:
- 审计日志:/var/log/audit/audit.log(需安装并启用 auditd),用于安全合规与细粒度追踪。
- 失败登录审计:lastb 查看 /var/log/btmp 中的失败登录记录。
- 图形化查看工具(桌面环境):
- gnomesystemlog(GNOME)、ksystemlog(KDE),便于按文件与级别浏览。
五 故障排查与维护要点
- 快速定位文件系统相关问题:
- 实时看系统日志:tail -f /var/log/syslog
- 看内核与硬件:dmesg | tail、journalctl -k
- 检查资源与进程:top、ps aux
- 异常关机后检查文件系统:fsck(需在救援/单用户环境按提示执行)
- 清理与维护建议:
- 优先通过 logrotate 策略自动清理,避免直接 rm 正在写入的日志文件;若必须手工清理,先停止写入进程或使用 truncate -s 0 文件名 清空内容,再交由 logrotate 归档。
- 定期检查磁盘与日志增长趋势,合理设置 rotate/size/compress 与保留天数,防止 /var 分区被占满导致服务异常。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1486413.html