1、rsyslog日志服务的概述
rsyslog主要记录linux服务器上各发生的事件日志信息的,是多线程工作方式,可以通过TCP,UDP工作,也支持SSL,TLS,RELP;也支持把日志信息存储于数据库中,如MySQL,PGSQL,Oracle来实现日志存储。
syslogd —> 主要记录登录系统与网络等服务的信息
klogd —> 主要记录内核产生的各项信息
logrotate —> 主要进行日志文件的轮替功能
日志收集方:
facility :设施,从功能或程序上对日志进行分类;
auth(认证授权相关),authpriv,cron,daemon,kern,lpr(打印系统),mail,mark,news,security,user,uucp,local0-local7(用户可自定义的类别),syslog
priority
debug:调试级别;
info:仅仅是一些基本的信息说明而已;
notice:除了info外还需要注意的一些信息内容;
warn:警示的信息,可能有问题,但还不至于影响daemon的运行;
error:一些重大的错误信息,如配置文件的某些设置值造成该服务无法启动的信息说明;
crit:比error更严重的错误信息,到达临界点,已经非常严重;
alert:警告,已经很有问题的等级;
emerg:“疼痛级别”,指系统已经几乎要死机的状态了,很严重的错误信息,通常只有硬件出问题导致整个内核无法运行才会出现的等级;
*指定级别:
:所有级别
none:没有级别
priority:此级别及更高级别的日志信息
=priority:此级别
syslogd的主配置文件:
主程序:rsyslogd
配置文件:/etc/rsyslog.conf
服务脚本:/etc/rc.d/init.d/rsyslog
文件记录的日志的格式:
事件产生的日期时间 主机 进程(pid):事件内容
有些日志记录二进制格式:/var/log/wtmp,/var/log/btmp
/var/log/wtmp:当前系统上成功登录的日志;
last
/var/log/btmp:当前系统上失败的登录尝试;
lastb
lastlog命令:显示当前系统每一个用户最近一次的登录时间;
2、自定义日志存放路径
1)修改sshd配置文件的facility
# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility local2 //只需要把此处的类型改为local2用户自定即可
#LogLevel INFO
-- INSERT --
2)编辑rsyslog的主配置文件
[root@master ~]# vim /etc/rsyslog.conf
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514 //开启udp的服务端口
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514 //开启tcp的服务端口
mail.* -/var/log/maillog
# Log cron stuff
cron.* /var/log/cron
# Everybody gets emergency messages
*.emerg :omusrmsg:*
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log
local7.* /var/log/boot.log
local2.* /var/log/sshd.log ##在这里添加一个自定义的日志记录信息
3)重启sshd服务和rsyslog服务
[root@master ~]# systemctl reload sshd
[root@master ~]# systemctl restart rsyslog
[root@master ~]# netstat -tunlp | grep 514
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 2744/rsyslogd
tcp6 0 0 :::514 :::* LISTEN 2744/rsyslogd
udp 0 0 0.0.0.0:514 0.0.0.0:* 2744/rsyslogd
udp6 0 0 :::514 :::* 2744/rsyslogd
[root@master ~]#
4)开启一个新终端ssh连接,并查看日志信息
[root@master ~]# tail -f /var/log/sshd.log
Mar 21 15:04:18 master sshd[2783]: Accepted password for root from 192.168.126.1 port 12134 ssh2
//此时sshd服务相关的日志信息已经存放到自定义的日志文件目录
3、把本机日志存放于其他服务器上
1)修改rsyslog主配置文件
[root@master ~]#vim /etc/rsyslog.conf
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
#*.info;mail.none;authpriv.none;cron.none /var/log/messages
*.info;mail.none;authpriv.none;cron.none @192.168.126.129 //把当前类型的日志都发送给这个ip地址的服务器
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* -/var/log/maillog
2)编辑日志服务器的配置文件,开启端口
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
3)重启客户端与日志服务器的rsyslog服务
[root@logserver yum.repos.d]# systemctl restart rsyslog
[root@logserver yum.repos.d]# netstat -tunlp | grep 514
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 34493/rsyslogd
tcp6 0 0 :::514 :::* LISTEN 34493/rsyslogd
udp 0 0 0.0.0.0:514 0.0.0.0:* 34493/rsyslogd
udp6 0 0 :::514 :::* 34493/rsyslogd
[root@logserver yum.repos.d]#
[root@logserver yum.repos.d]#
4)在服务器端安装一个软件包测试
[root@master ~]# yum install vsftpd -y
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:3.0.2-9.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===================&#