温馨提示×

Debian日志如何开启

小樊
34
2026-07-27 01:28:41
栏目: 智能运维

在 Debian 系统中,日志功能通常由 systemd-journaldrsyslog(或 syslog-ng)等组件管理。下面按常见场景说明如何开启/配置日志


一、确认日志服务是否已开启

1. systemd 日志(journald,默认已开启)

大多数 Debian(尤其是 systemd 系统)默认已启用:

systemctl status systemd-journald

✅ 如果看到 active (running),说明已开启。

查看日志:

journalctl

2. rsyslog(传统 syslog)

Debian 通常也默认安装并启用 rsyslog。

检查状态:

systemctl status rsyslog

如果未运行:

sudo systemctl start rsyslog
sudo systemctl enable rsyslog

二、开启并配置 rsyslog 日志

1. 安装 rsyslog(如未安装)

sudo apt update
sudo apt install rsyslog

2. 主配置文件

sudo nano /etc/rsyslog.conf

常见配置项:

# 启用 UDP 接收(可选)
# module(load="imudp")
# input(type="imudp" port="514")

# 启用 TCP 接收(可选)
# module(load="imtcp")
# input(type="imtcp" port="514")

3. 自定义日志规则

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

sudo nano /etc/rsyslog.d/10-mylog.conf

示例(记录所有日志到自定义文件):

*.*    /var/log/mylog.log

重启 rsyslog:

sudo systemctl restart rsyslog

三、开启 systemd journal 持久化日志(重要)

默认 journal 日志可能只存在内存中,重启后消失。

1. 创建持久化目录

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

2. 检查是否持久化

journalctl --disk-usage

✅ 显示磁盘使用量说明已持久化。


四、查看日志位置

常见日志文件

/var/log/syslog        # 系统日志(rsyslog)
/var/log/messages      # 某些情况
/var/log/auth.log      # 认证相关
/var/log/kern.log      # 内核日志

查看:

tail -f /var/log/syslog

五、开启内核日志(dmesg)

内核日志:

dmesg

实时查看:

dmesg -w

六、常见问题排查

1. 日志为空?

  • 确认 rsyslog 或 journald 已运行
  • 确认磁盘空间足够
  • 确认没有被 logrotate 清空

2. journal 不记录?

sudo journalctl --vacuum-time=7d

七、快速总结

需求 操作
查看系统日志 journalctl/var/log/syslog
开启 rsyslog systemctl enable --now rsyslog
开启持久化 journal 创建 /var/log/journal
自定义日志规则 /etc/rsyslog.d/*.conf

如果你有具体需求(如:开启 SSH 登录日志、开启某个服务的日志、远程日志服务器、Docker 日志等),可以告诉我,我可以给你更精确的配置示例。

0