温馨提示×

Debian日志怎么配置

小樊
39
2026-07-27 01:04:50
栏目: 智能运维

在 Debian 系统中,日志主要由 rsyslogsystemd-journald 以及应用自身日志组成。下面从**常见日志位置、rsyslog 配置、日志轮转(logrotate)**几个方面说明如何配置和管理 Debian 日志。


一、Debian 常见日志目录

默认日志一般位于 /var/log/

/var/log/syslog        # 系统日志(rsyslog)
/var/log/messages      # 部分系统消息
/var/log/auth.log      # 认证相关(SSH、sudo)
/var/log/kern.log      # 内核日志
/var/log/dpkg.log      # 软件包安装日志
/var/log/apt/          # apt 相关日志
/var/log/nginx/        # Nginx(如安装)

二、rsyslog 配置(传统日志系统)

1. 安装 rsyslog

sudo apt update
sudo apt install rsyslog

2. rsyslog 主配置文件

/etc/rsyslog.conf

常用配置项:

# 加载模块
module(load="imuxsock")
module(load="imjournal")

# 日志规则文件
$IncludeConfig /etc/rsyslog.d/*.conf

3. 配置日志规则(推荐方式)

/etc/rsyslog.d/ 下新建配置:

sudo vim /etc/rsyslog.d/10-custom.conf

示例:

# 所有日志写入自定义文件
*.*    /var/log/all.log

# 只记录错误
*.err  /var/log/error.log

# 忽略某些日志
mail.none

4. 重启 rsyslog

sudo systemctl restart rsyslog

三、systemd-journald 日志(journalctl)

1. 查看日志

journalctl
journalctl -xe
journalctl -u nginx
journalctl --since "2025-01-01" --until "2025-01-02"

2. journald 配置文件

/etc/systemd/journald.conf

常用配置:

[Journal]
Storage=persistent        # 持久化(默认 /var/log/journal)
Compress=yes
SystemMaxUse=500M         # 最大占用空间
RuntimeMaxUse=100M

修改后重启:

sudo systemctl restart systemd-journald

⚠️ journal 日志默认不自动轮转,靠空间限制控制。


四、日志轮转(logrotate)

1. 主配置文件

/etc/logrotate.conf

2. 应用配置目录

/etc/logrotate.d/

示例(自定义日志轮转):

/var/log/all.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
    create 0640 root adm
    postrotate
        systemctl reload rsyslog > /dev/null 2>&1 || true
    endscript
}

3. 测试配置

sudo logrotate -d /etc/logrotate.conf

五、远程日志(可选)

rsyslog 支持将日志发送到远程服务器:

*.* @@192.168.1.10:514

远程服务器需开启接收端口(TCP/UDP 514)。


六、常见排错

日志不生成?

  • rsyslog 是否运行:systemctl status rsyslog
  • 权限是否正确
  • SELinux(Debian 默认关闭)

journal 日志为空?

sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald

七、推荐配置总结

✅ 系统日志:rsyslog
✅ 服务日志:journalctl
✅ 日志轮转:logrotate
✅ 长期审计:开启 journald 持久化 + rsyslog 归档


如果你有具体需求(如:只记录 SSH 登录、Nginx 日志、Docker 日志、远程集中日志),可以告诉我,我可以给你一份可直接使用的配置示例

0