小白成长之路-Linux日志管理
Linux日志管理
目录
Linux日志管理
一、Linux日志系统概述
1.1 日志的重要性
1.2 日志分类
二、核心日志管理工具
2.1 syslog(传统系统日志)
优先级说明
2.2 rsyslog(增强型系统日志)
2.3 journald(systemd日志系统)
2.4 logrotate(日志轮转)
三、高级日志管理方案
3.1 ELK Stack(分布式日志)
3.2 auditd(安全审计)
四、最佳实践建议
一、Linux日志系统概述
1.1 日志的重要性
-
系统状态监控
-
故障排查定位
-
安全审计分析
-
性能优化依据
-
合规性要求满足
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}/ | 各应用程序专用日志 |
二、核心日志管理工具
2.1 syslog(传统系统日志)
/etc/syslog.conf
优先级说明
优先级 | 数值 | 说明 |
---|---|---|
emerg | 0 | 系统不可用 |
alert | 1 | 需要立即采取行动 |
crit | 2 | 严重情况 |
err | 3 | 错误条件 |
warn | 4 | 警告条件 |
notice | 5 | 正常但重要的事件 |
info | 6 | 信息性消息 |
debug | 7 | 调试级信息 |
2.2 rsyslog(增强型系统日志)
/etc/rsyslog.conf
-
支持TCP/UDP传输
-
日志内容过滤
-
模板化输出
-
高性能队列处理
-
支持MySQL/PostgreSQL存储
2.3 journald(systemd日志系统)
/etc/systemd/journald.conf
-
二进制日志存储
-
结构化日志记录
-
实时日志查询
-
与systemd深度集成
2.4 logrotate(日志轮转)
/etc/logrotate.conf
或 /etc/logrotate.d/
-
防止日志文件过大
-
自动化日志归档
-
符合存储策略要求
参数 | 作用 |
---|---|
daily/weekly | 轮转周期 |
rotate N | 保留历史文件数量 |
compress | 启用gzip压缩 |
delaycompress | 延迟压缩前一个日志文件 |
size 100M | 按大小触发轮转 |
missingok | 文件不存在时不报错 |
create 0640 user group | 新日志文件权限设置 |
三、高级日志管理方案
3.1 ELK Stack(分布式日志)
-
Elasticsearch:日志存储与检索
-
Logstash:日志收集处理
-
Kibana:数据可视
3.2 auditd(安全审计)
/etc/audit/auditd.conf
四、最佳实践建议
-
日志分级存储策略
-
定期备份重要日志
-
实施日志监控告警
-
敏感信息过滤处理
-
建立日志保留策略
-
定期演练日志恢复