Linux ~ 日志管理。
日志管理简介。
一般,服务器出现问题,先查询日志。
在 CentOS 6.x 中日志服务已经由
rsyslogd
取代了原先的syslogd
服务。rsyslogd
日志服务更加先进,功能更多。但是不论该服务的使用,还是日志文件的格式其实都是和 syslogd 服务相兼容的。所以学习起来基本和 syslogd 服务一致。
- rsyslogd 的新特点。
- 基于 TCP 网络协议传输日志信息。
- 更安全的网络传输方式。
- 有日志消息的及时分析框架。
- 后台数据库。
- 配置文件中可以写简单的逻辑判断。
- 与 syslog 配置文件相兼容。
确定服务启动。
[root@localhost ~]# ps aux | grep rsyslogd
// 查看服务是否启动。
[root@localhost ~]# ps aux | grep rsyslpgd
root 2029 0.0 0.0 103320 880 pts/0 S- 15:11 0:00 grep rsyslpgd
chkconfig --list | grep rsyslog
// 查看服务是否自启动。
[root@localhost ~]# chkconfig --list | grep rsyslog
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
常见日志的作用。
日志文件 | 说明 |
---|---|
/var/log/cron | 记录了系统定时任务相关的日志。 |
/var/log/cups | 记录打印信息的日志。 |
/var/log/dmesg | 记录了系统在开机时内核自检的信息。也可以 使用 dmesg 命令直接查看内核自检信息。 |
/var/log/btmp | 记录错误登录的日志。这个文件是二进制文件,不能直接 vi 查看,而要使用 lastb 命令查看:[root@localhost ~]# lastb |
/var/log/lastlog | 记录系统中所有用户最后一次的登录时间。这个文件也是二进制文件,不能直接使用 vi,而要使用 lastlog 命令查看。 |
/var/log/maillog | 记录邮件信息。 |
/var/log/message | 记录系统重要信息日志。这个日志文件中会记录 Linux 系统的绝大多数重要信息。如果系统出现问题时,首先要检查的就应该是这个日志文件。 |
/var/log/secure | 记录验证和授权方面的信息。只要涉及账户和密码的程序都会记录。比如说系统的登录,ssh 的登录,su 切换用户,sudo 授权,甚至添加用户和修改密码都会记录在这个日志文件中。 |
/var/log/wtmp | 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接 vi,而需使用 last 命令来查看。 |
/var/run/utmp | 记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样这个文件不能直接 vi,而需要使用 w,who,users 等命令来查询。 |
除了系统默认的日志之外,采用 RPM 方式安装的系统服务也会默认把日志记录在 /var/log 目录中(源码包安装的服务日志是在源码包指定目录中)。不过这些日志不是由 rsyslogd 服务记录和管理的,而是各个服务使用自己的日志管理文档来记录自身日志。
rsyslogd 日志服务。
日志文件格式。
- 基本日志格式包含以下四列。
- 事件产生的时间。
- 产生事件的服务器的主机名。
- 产生事件的服务器或程序名。
- 事件的具体信息。
/etc/rsyslog.conf 配置文件。
[root@localhost ~]# cat /etc/rsyslog.conf | grep /var/log/secure
authpriv.* /var/log/secure
# 服务名称[连接符号]日志等级 ——> 日志记录位置。
# 认证相关服务.所有日志等级 ——> 记录在 /var/log/secure 日志中。