一、系统日志架构:
1、什么是日志?如何查看日志?处理日志消息的服务是哪些?
(1)日志是记录进程和操作系统内核发生过的事件,可方便后面系统审核和故障排除。
(2)日志通常保存在/var/log目录中,系统日志保留在/run/log/journal目录中。
(3)rsyslog服务用以处理syslog消息,systemd-journald服务是操作系统事件日志架构的核心,但是rsyslog服务会从日志中读取systemd-journald收到的syslog消息,并且rsyslog服务会对syslog消息根据优先级进行排序。
2、系统日志文件:
日志文件 | 存储的信息 |
/var/log/messages | 大多数系统日志消息,包括身份验证、电子邮件处理和调度作业执行相关的消息 |
/var/log/secure | 与安全性和身份验证事件相关的syslog消息 |
/var/log/maillog | 与邮件服务相关的syslog消息 |
/var/log/cron | 与调度作业执行相关的syslog消息 |
/var/log/boot.log | 与系统启动相关的非syslog控制台消息 |
二、日志优先级以及编辑系统日志优先级:
1、八个标准syslog优先级(代码数字越小优先级越高):
代码 | 优先级 | 重要性 |
0 | emerg | 系统不可用 |
1 | alert | 必须立即采取措施 |
4 | warning | 警告 |
5 | notice | 正常但重要的事件 |
7 | debug | 调试级别消息 |
2、rsyslog服务配置日志消息的优先级规则:
(1)vim编辑位于/etc/rsyslog.conf文件和/etc/rsyslog.d目录中扩展名为.conf的文件。
(2)编辑时可使用星号(*)通配符匹配。
例如:将优先级为debug的消息保存到/var/log/secure文件中
*.debug /var/log/secure
三、查看和分析syslog条目、监控日志:
1、journalctl命令:从日志中检索日志消息,列出所有日志条目。优先级为notice和warning的消息显示为粗体文本。优先级为error或以上的消息则显示为红色文本。
(添加-n选项可指定要显示的日志条目数,默认情况显示10个日志条目;添加-f选项可实时显示最后10行日志消息,ctrl+c可退出;添加-p 优先级选项可显示该优先级以上的日志消息)
2、日志消息在文件开头显示之前旧的消息,末尾显示最新的消息。
(1)记录该日志的时间
(2)发送该日志消息的主机
(3)发送该日志消息的程序或进程名称和PID
(4)发送的消息内容
3、监控日志
tail -f命令:可输出指定文件实时最新的最后10行内容。
四、手动发送日志消息:
logger命令:发送消息到rsyslog服务,默认情况下会将优先级为notice的消息发给设备
(添加-p选项可指定优先级)
例如:向rsyslog服务发送生成设备为user优先级为notice的消息并记录在/var/log/boot.log中。
logger -p user.notice "Log entry created on host"
五、配置持久系统日志:
默认情况下,/etc/systemd/journald.conf文件中的storage参数决定系统日志的存储方式。通常分为persistent(重启后持久保留)、volatile(易失性目录)、auto(如果/var/log/journal目录存在则为持久存储,否则为易失性存储)
配置持久系统目录:
(1)vim /etc/systemd/journald.conf
(2)修改storage参数为persistent
(3)systemctl restart systemd-journald重新启动服务