一、系统日志服务
rsyslog:多线程,可以基于UDP、TCP、TLS协议进行远程通信,还可以将数据存储到MySQL、PGSQL、Oracle,强大的过滤器,可实现过滤日志信息中任何部分,可以自定义输出格式。
rsyslog有两个守护进程进程;syslogd:记录系统日志(用户空间的用户进程),klogd:记录内核日志。
二、日志收集时的分类:
1、facility(设施,从功能或程序上对日志进行分类):facility是系统内置
auth(认证相关)、authpriv(认证授权相关)、cron、daemon、kerl、lpr(打印系统)、mail、mark(标记相关)、news、security(安全相关)、user、uucp(unix to unix copy)、local0-local7、syslog
2、priority(级别):
debug、info、notice、warn(warning)、err(error)、crit(critical)蓝色警告、alert橙色警报、emerg(panic崩溃前的信息)
3、制定级别:
*:所有级别
none:没有级别,禁止记录
priority:此级别及更高级别的日志信息
=priority:此级别
facility.priority target(/var/log/messages)
三、程序环境
1、主程序:rsyslogd
2、配置文件:/etc/rsyslog.conf
3、自定义日级别
例如将sshd的日志记录到自定义的日志中
修改sshd的配置文件
vim /etc/ssh/sshd_config
SyslogFacility local5
vim /etc/rsyslog.conf
local7.* /var/log/sshd.log
重启sshd服务
systemctl restart sshd.service
systemctl restart rsyslog.service
登录后即可看到登录信息会记录到/var/log/sshd.log
4、target
文件路径:记录与指定的日志文件中,通常/var/log目录下:文件路径前的"-"表示异步写入
*:所有用户
日志服务器:@host
host:必须要监听在tcp或udp协议514端口(默认)上提供服务
管道:|COMMAND
mail.* -/var/log/maillog
-代表异步写入
*.emerg :omusrmsg:*
*代表该主机上的所有用户
5、文件记录的日志的格式:
事件产生的日期时间 主机 进程(pid):事件内容
有些日志记录二进制格式:/var/log/wtmp、/var/log/btmp
/var/log/wtmp:当前系统上成功登录的日志:使用last查看
/var/log/btmp:当前系统上失败的登录尝试:使用lastb查看
lastlog命令:显示当前系统上每一个用户最近登录服务器时间