日志管理
日志的功能
系统和程序的“日记本”
记录系统、程序运行中发生的各种事件
通过查看日志,了解及排除故障
信息安全控制的“依据”
常见的系统日志文件
/var/log/messages 记录内核消息、各种服务的公共消息
/var/log/dmesg 记录系统启动过程的各种消息
/var/log/cron 记录与cron计划任务相关的消息
/var/log/maillog 记录邮件收发相关的消息
/var/log/secure 记录与访问限制相关的安全消息
由系统服务rsyslog(日志服务)统一记录/管理
日志消息的优先级
Linux内核定义的事件紧急程度
分为 0~7 共8种优先级别,其数值越小,表示对应事件越紧急/重要
0 EMERG(紧急) 会导致主机系统不可用的情况
1 ALERT(警告) 必须马上采取措施解决的问题
2 CRIT(严重) 比较严重的情况
3 ERR(错误) 运行出现错误
4 WARNING(提醒) 可能会影响系统功能的事件
5 NOTICE(注意) 不会影响系统但值得注意
6 INFO(信息) 一般信息
7 DEBUG(调试) 程序或系统调试信息等
日志分析
分析工具:
- tail、tailf、less、grep等文本浏览/检索命令
- awk、sed等格式化过滤工具
journalctl工具
提取由 systemd-journal 服务搜集的日志,主要包括内核/系统日志、服务日志
常见用法:
journalctl | grep 关键词
journalctl -u 服务名 [-p 优先级]
journalctl -n 消息条数
journalctl --since="yyyy-mm-dd HH:MM:SS" --until="yyyy-mm-dd HH:MM:SS"
档案分割命令 slipt
[dmtsai@study ~]$ split 选项 [要切割的文件][输出文件名]
选项与参数:
-<行数> : 指定每多少行切成一个小文件
-b<字节> : 指定每多少字节切成一个小文件
--help : 在线帮助
-C<字节> : 与参数"-b"相似,但是在切 割时将尽量维持每行的完整性
[输出文件名] : 设置切割后文件的前置文件名, split会自动在前置文件名后再加上编号
在默认情况下将按照每1000行切割成一个小文件