Linux : 日志的管理与时钟同步的配置
一、日志管理
1. 日志服务
服务 | 特点 | 配置文件 |
---|---|---|
journald |
临时日志(重启后丢失),二进制格式 | /etc/systemd/journald.conf |
rsyslog |
永久日志(文件存储),支持过滤转发 | /etc/rsyslog.conf |
2. 关键日志文件
文件 | 作用 |
---|---|
/var/log/messages |
通用系统日志(默认存储位置) |
/var/log/dmesg |
系统引导过程的内核事件 |
/var/log/lastlog |
用户最近登录记录(lastlog 命令查看) |
/var/log/wtmp |
成功登录事件(last 命令查看) |
/var/log/btmp |
失败登录尝试(lastb 命令查看) |
3. 日志优先级(升序)
级别 | 说明 |
---|---|
debug |
调试信息(程序内部状态) |
info |
常规事件(服务启动等) |
notice |
需注意但非错误的事件 |
warning |
可能影响功能的警告 |
err |
运行时错误(非致命) |
crit |
严重错误(服务中断等) |
alert |
需立即处理的紧急问题 |
emerg |
系统不可用(内核崩溃等) |
示例:
logger -p local7.notice "Test Message"
发送日志到local7
设施。
4. 日志分析工具
实时监控:
tail -f /var/log/messages # 跟踪文件末尾 journalctl -f # 实时跟踪systemd日志
按优先级过滤:
journalctl -p err -n 20 # 显示最近20条错误及以上日志
按时间范围查询:
journalctl --since "09:00" --until "12:00" journalctl --since -1h # 过去1小时日志
按进程/用户过滤:
journalctl _COMM=sshd # 查看SSH进程日志 journalctl _UID=1000 # 查看UID=1000的用户日志
5. 用户登录日志
命令 | 数据源 | 用途 |
---|---|---|
last |
/var/log/wtmp |
成功登录历史 |
lastb |
/var/log/btmp |
失败登录尝试 |
w |
实时进程 | 当前登录用户及操作 |
who |
/var/run/utmp |
当前登录用户 |
二、时钟同步(Chrony)
服务端配置:
修改
vim /etc/chrony.conf
:# 允许网段同步 allow 192.168.100.0/24 # 本地作为时间源 local stratum 10
重启服务并关闭防火墙:
systemctl restart chronyd systemctl stop firewalld sysytemctl disable firewalld
客户端配置:
指向服务端:
vim /etc/chrony.conf server 192.168.100.10 iburst # iburst加速初始同步
重启服务并写入硬件时钟:
systemctl restart chronyd systemctl enable chronyd # 立即同步时间 hwclock -w
诊断命令:
chronyc sources -v # 查看同步源状态
chronyc tracking # 检查时间偏移量
timedatectl # 显示时区/NTP状态
三、关键补充
时区设置:
timedatectl set-timezone Asia/Shanghai
手动修改时间:
timedatectl set-time "2025-5-01 12:00:00" # 或 date -s "2025-5-01 12:00:00"