文章目录
- 一、Linux日志系统概述
-
- 二、核心日志管理工具
- 1、syslog(传统系统日志)
- (1)配置文件
- (2)配置语法
- (3)优先级说明
- (4)应用场景
- 2、rsyslog(增强型系统日志)
- (1)核心特性
- (2)配置文件结构
- (3)高级功能配置示例
- (4)应用场景
- 3、journald(systemd日志系统)
- (1)核心特性
- (2)配置文件
- (3)常用配置参数
- (4)常用命令
- (5)应用场景
- 4、logrotate(日志轮转)
- (1)配置文件
- (2)典型配置示例
- (3)核心参数说明
- (4)手动执行
- (5)应用场景
一、Linux日志系统概述
1、日志的重要性
- 系统状态监控
- 故障排查定位
- 安全审计分析
- 性能优化依据
- 合规性要求满足
2、日志分类
型 | 存储位置 | 典型内容 |
---|
系统日志 | /var/log/messages | 内核、系统服务通用日志 |
认证日志 | /var/log/secure | 用户登录、sudo操作记录 |
启动日志 | /var/log/boot.log | 系统启动过程记录 |
内核日志 | /var/log/kern.log | 内核相关事件 |
计划任务日志 | /var/log/cron | cron任务执行记录 |
邮件日志 | /var/log/maillog | 邮件系统相关操作 |
应用程序日志 | /var/log/{application}/ | 各应用程序专用日志 |
二、核心日志管理工具
1、syslog(传统系统日志)
(1)配置文件
/etc/syslog.conf
(2)配置语法
auth.* /var/log/auth.log
*.emerg *
mail.err /var/log/mail.err
(3)优先级说明
优先级 | 数值 | 说明 |
---|
emerg | 0 | 系统不可用 |
alert | 1 | 需要立即采取行动 |
crit | 2 | 严重情况 |
err | 3 | 错误条件 |
warn | 4 | 警告条件 |
notice | 5 | 正常但重要的事件 |
info | 6 | 信息性消息 |
debug | 7 | 调试级信息 |
(4)应用场景
- 传统Linux系统日志管理
- 兼容性要求高的环境
- 简单日志收集需求
2、rsyslog(增强型系统日志)
(1)核心特性
- 支持TCP/UDP传输
- 日志内容过滤
- 模板化输出
- 高性能队列处理
- 支持MySQL/PostgreSQL存储
(2)配置文件结构
/etc/rsyslog.con
$ModLoad imuxsock
$ModLoad imklog
$template MyTemplate,"%timestamp% %hostname% %syslogtag% %msg%\n"
*.info;mail.none;authpriv.none /var/log/messages
authpriv.* /var/log/secure
*.* @192.168.1.100:514
(3)高级功能配置示例
- 日志存储到MySQL:
$ModLoad ommysql
*.* :ommysql:localhost,Syslog,rsyslog,password
- 日志文件切割:
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
(4)应用场景
- 企业级日志集中管理
- 需要结构化存储的环境
- 高并发日志处理场景
3、journald(systemd日志系统)
(1)核心特性
- 二进制日志存储
- 结构化日志记录
- 实时日志查询
- 与systemd深度集成
(2)配置文件
/etc/systemd/journald.conf
(3)常用配置参数
[Journal]
Storage=persistent
Compress=yes
SystemMaxUse=1G
SystemMaxFileSize=100M
MaxRetentionSec=1month
(4)常用命令
journalctl -f
journalctl -u nginx.service
journalctl -o json-pretty
journalctl --since "2023-07-01" --until "2023-07-10"
(5)应用场景
- 使用systemd的系统
- 需要结构化日志分析
- 实时日志监控需求
4、logrotate(日志轮转)
(1)配置文件
/etc/logrotate.conf
应用特定配置:/etc/logrotate.d/
(2)典型配置示例
/var/log/firewalld {weeklymissingokrotate 4copytruncateminsize 1M
}
(3)核心参数说明
| 作用 |
---|
daily/weekly | 轮转周期 |
rotate N | 保留历史文件数量 |
compress | 启用gzip压缩 |
delaycompress | 延迟压缩前一个日志文件 |
size 100M | 按大小触发轮转 |
missingok | 文件不存在时不报错 |
create 0640 user group | 新日志文件权限设置 |
(4)手动执行
logrotate -vf /etc/logrotate.d/bgubx
(5)应用场景