分析和存储日志(一)
1、系统日志架构
永久日志:进程和操作系统内核需要能够为发生的是事件记录日志,这些日志可用于系统审核和问题故障排除,这些日志永久存储在/var/log目录中,由rsyslog服务进行维护和管理。
临时日志:sysetemd-journald守护进程提供一种改进的日志管理服务,可收集来自内核、启动过程以及守护进程错误的消息,它将这些消息写入到一个结构化事件日志中,默认情况下不在重启后保留。系统日志消息也可由systemd-journald转发到rsyslog以做进一步处理。
系统日志文件概论
/var/log/messages 大多数系统日志记录路径
/var/log/secure 安全和身份验证相关的日志
/var/log/maillog 与邮件服务器相关的日志
/var/log/cron 与计划任务相关的日志
/var/og/boot.log 与系统启动相关的消息日志
/var/log/dmesg 硬件检测日志 dmesg查看
/var/log/yum.log yum安装日志
/var/log/wtmp 最后登录信息日志 last查看
2、查看系统日志文件
rsyslogd服务使用日志消息的设备和优先级来确定如何进行处理。这通过/etc/rsyslog.conf文件,以及/etc/rsyslog.d中的*.conf文件进行配置。管理员可以将带有.conf后缀的自定义文件放入/etc/rsyslod.d目录,已更改rsyslogd配置而不被让所有rsyslog更新所覆盖。
/etc/rsyslog.conf的####RULES####部分包含定义日志消息保存位置的相关指令。每行左侧表示与指令匹配的日志消息的设备和严重性,右侧表示要将日志消息保存到的文件。
例:
*.info;mail.none;authpriv.none;cron.none /var/log/messages
cron.* /var/log/cron 设备名.优先级.例外 文件路径
日志优先级列表
编码 优先级 严重性
0 emerg 系统不可用
1 alert 必须立即采取措施
2 crit 严重状况
3 err 非常严重的错误
4 warning 警告状况
5 notice 正常但重要的事件
6 info 信息性事件
7 debug 调试级别消息
日志文件轮询
日志通过logrotate实用工具轮转,以防止他们将包含/var/log/的文件系统填满。轮转日志文件时,会使用名称扩展对其进行重命名、名称扩展指示轮转日期。轮转原日志文件之后,会创建新日志文件,并通知对它执行写操作的服务。
轮转若干次后(通常在四周以后),丢弃原日志文件以释放磁盘空间,大多数日志文件每周轮转一次。
配置文件 /etc/logrotate.conf /etc/logrotate.d
分析系统日志条目
rsyslog所写的系统日志在文件的开头显示最旧的消息,在文件的末尾显示最新的消息,由rsyslog管理的日志文件中的所有日志信息条目都以标准的格式记录。
例:
Jan 8 14:31:25 localhost sshd[7447]: input_userauth_request: invalid user james [preauth]
记录时间 主机 程序或进程 发送的实际消息
利用tail监控日志文件
tail -f /var/log/secure 实时输出secure日志的最后10行
使用logger发送系统日志消息
logger命令可以发送消息到rsyslog服务,默认情况下,它将严重性为notcie的消息发送给设备用户,除非通过-p选项另外指定。测试对rsyslog配置的更改特别有用。
例:
logger -p user.info "Debug Message Test"