Linux日志管理和时钟同步配置指南
日志管理和时钟同步配置指南
一、日志管理系统
1. 日志服务对比
服务 | 存储方式 | 持久性 | 配置文件 |
---|---|---|---|
systemd-journald | 内存/临时文件 | 重启后丢失 | 无独立配置文件 |
rsyslog | 磁盘文件 | 永久保存 | /etc/rsyslog.conf |
2. 日志文件分类
类型 | 说明 | 关键文件 |
---|---|---|
内核及系统日志 | 系统启动、内核事件 | /var/log/messages |
用户日志 | 用户登录/注销记录 | /var/log/lastlog , /var/log/wtmp |
程序日志 | 应用程序运行记录 | /var/log/程序名.log |
补充日志 | ||
/var/log/dmesg | 系统引导过程事件 | |
/var/log/btmp | 失败登录尝试记录 |
3. 日志优先级(RFC5424标准)
优先级 | 关键字 | 说明 |
---|---|---|
0 (最高) | emerg | 系统不可用 |
1 | alert | 需立即处理 |
2 | crit | 严重错误 |
3 | err | 一般错误 |
4 | warning | 警告事件 |
5 | notice | 需注意但非错误 |
6 | info | 常规信息 |
7 (最低) | debug | 调试信息 |
✅ 优先级过滤示例
journalctl -p err
显示err
及以上级别日志(含crit
,alert
,emerg
)
4. 日志分析工具
命令 | 功能 | 示例 |
---|---|---|
tail -f | 实时监控日志文件 | tail -f /var/log/messages |
journalctl -n [行数] | 查看最新日志(默认10条) | journalctl -n 20 |
journalctl -f | 实时滚动显示日志 | |
journalctl --since | 按时间范围过滤 | journalctl --since "2023-01-01 09:00" --until "2023-01-01 10:00" |
journalctl -o verbose | 显示详细日志字段 | journalctl _COMM=sshd -o verbose |
常用过滤字段:
_COMM
:进程名(如sshd
)_PID
:进程ID_UID
:用户ID_SYSTEMD_UNIT
:systemd服务单元
日志记录格式:
- 时间标签:消息发出的日期和时间
- 主机名:生成消息的主机名称
- 子系统名称:发出消息的应用程序名称或者进程名和PID编号
- 消息:消息具体的内容
5. 用户登录日志
命令 | 数据源 | 功能 |
---|---|---|
last | /var/log/wtmp | 查看成功访问过服务器的用户信息 |
lastb | /var/log/btmp | 查看失败访问过服务器的用户信息 |
lastlog | /var/log/lastlog | 查看用户最近登录时间 |
users | /var/run/utmp | 查看系统中被使用用户的次数 |
who /w | /var/run/utmp | 查看哪台机器在哪个时间的哪个终端登录的哪个用户/以及显示正在操作的命令 |
6. 远程日志收集(Rsyslog)
服务端配置 (/etc/rsyslog.conf
):
# 接收所有远程日志
module(load="imudp") # UDP协议
input(type="imudp" port="514")module(load="imtcp") # TCP协议
input(type="imtcp" port="514")# 存储到指定文件
$template RemoteLogs,"/var/log/remote/%HOSTNAME%.log"
*.* ?RemoteLogs
systemctl restart rsyslog
firewall-cmd --add-port=514/{tcp,udp} --permanent
firewall-cmd --reload
客户端配置:
*.* @192.168.1.100:514 # UDP发送
*.* @@192.168.1.100:514 # TCP发送
二、时钟同步(Chrony)
1. 基础命令
timedatectl # 查看当前时间/时区/NTP状态
timedatectl list-timezones # 列出时区
timedatectl set-timezone Asia/Shanghai # 设置时区
timedatectl set-time "2023-01-01 12:00:00" # 修改系统时间
2. Chrony服务部署
角色 | 配置步骤 |
---|---|
服务端 | 1. 安装:yum install chrony |
2. 编辑 /etc/chrony.conf : local stratum 10 (本地作为层级10的时间源) allow 192.168.1.0/24 (允许客户端网段) | |
3. 启动:systemctl restart chronyd systemctl enable chronyd | |
4. 防火墙:firewall-cmd --add-service=ntp --permanent firewall-cmd --reload | |
客户端 | 1. 安装:yum install chrony |
2. 编辑 /etc/chrony.conf : server ntp-server-ip iburst | |
3. 启动:systemctl restart chronyd systemctl enable chronyd | |
4. 同步硬件时钟:hwclock -w |
3. 客户端验证命令
chronyc sources # 查看同步源
chronyc tracking # 检查同步状态
chronyc sourcestats -v # 详细同步统计
⚠️ 注意:
- Chrony 与 NTPd 不可同时运行
iburst
参数加速初始同步