目录:
(一)日志的管理
(二)日志服务器的配置


(一)日志的管理
在Linux系统操作的过程中,难免会遇到错误,此时我们应该学会查看系统日志,通过查看日志能够快速的定位错误并迅速的解决问题。
(1.1)日志通常是存放在/var/log/目录下的,不同的文件中存放着不同的错误日志
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.2)例如查看用户的登录日志,可以在secure文件中查看。
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.3)想要查看用户的邮件相关日志,可以在maillog文件中查看。
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.4)想要查看系统启动过程中的相关日志,可以在boot.log文件中查看。
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.5)想要查看计划任务相关的日志信息,可以在cron文件中查看。
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.6)在我们的系统中日志是统一由rsyslog服务管理的,即使在最小化安装的系统中,默认也是启动的。日志服务的配置文件是在/etc/rsyslog.conf当中。
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.7)ModLoad代表的是模块信息,在系统中启用的模块就有相关的功能,没有启用的模块就没有相关的功能。
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.8)WorkDirectory代表的是工作目录、ActionFileDefaultTemplate表示的是时间戳、IncludeConfig表示加载的文件包含的内容。
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.9)RULES代表的是日志收集的规则
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.10)事件类型的格式与常见种类
【讲清楚,说明白!】Linux平台日志管理系统详解
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.11)和验证有关的事件发生了,不管是什么级别的,都记录到/var/log/secure文件中。
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.12)和计划任务相关的事件发生了,不管是什么级别,都记录到/var/log/cron文件中。
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.13)不管是什么事件发生了,只要级别是大于emerg恐慌状态,都会在所有的终端发送消息。
【讲清楚,说明白!】Linux平台日志管理系统详解
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.14)任何事件只要级别大于info,但是不包括所有的mail事件,不包括所有的验证事件,不包括所有的计划任务事件只要发生了,都写入到/var/log/messages文件中。
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.15)mail邮件相关的事件发生了,不管级别是什么,都将使用异步传输的方式记录到/var/log/maillog文件中。由于邮件量一般会很大,所以使用异步传输的方式记录数据,使用内存临时的保存一部分数据,可以提高系统传输数据的效率。
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.16)定义一个local5的事件,当事件发生的级别大于debug的时候,都会记录到/var/log/xx.log文件中。但是这个事件是不会记录到/var/log/messages文件中,因为debug级别要比info级别低。
【讲清楚,说明白!】Linux平台日志管理系统详解
【讲清楚,说明白!】Linux平台日志管理系统详解
【讲清楚,说明白!】Linux平台日志管理系统详解
(1.17)当我们在vms002主机上产生local5事件,并且级别为info时,此时事件的消息不仅记录在/var/log/xx.log中,也记录在/var/log/messages文件中。
【讲清楚,说明白!】Linux平台日志管理系统详解
【讲清楚,说明白!】Linux平台日志管理系统详解


(二)日志服务器的配置
有时候在企业内部会有上百台服务器需要管理,如果服务器产生的日志记录都在对应的各个服务器上,需要一台台登录服务器去查询会非常的繁琐。此时我们可以配置中央日志服务器解决问题,为了方便对每台服务器的管理,我们需要对每台服务器设置将各自服务器上的日志统一发送到中央日志服务器。这样以后管理或者查看服务器状态时,我们只需要登录中央日志服务器进行查看,就可以了解系统的整体情况,会方便许多。
【讲清楚,说明白!】Linux平台日志管理系统详解
(2.1)我们设定vms001主机为中央日志服务器,vms002主机为被管理的集群服务器之一。我们在vms002主机的/etc/rsyslog.conf配置文件中的local5.debug事件定义:如果事件产生则发送到192.168.26.101主机上。
【讲清楚,说明白!】Linux平台日志管理系统详解
【讲清楚,说明白!】Linux平台日志管理系统详解
(2.2)同时我们在vms001主机上的/etc/rsyslog.conf配置文件设置接收local5.debug事件,并保存在/var/log/vms002.log的文件中。同时将MODULES模块中设置允许远端的TCP和UDP数据传输过来。
【讲清楚,说明白!】Linux平台日志管理系统详解
【讲清楚,说明白!】Linux平台日志管理系统详解
【讲清楚,说明白!】Linux平台日志管理系统详解
(2.3)此时在vms002主机上发送一个local5.debug事件,会发现在vms001主机的/var/log/目录下产生了vms002.log的日志。
【讲清楚,说明白!】Linux平台日志管理系统详解
【讲清楚,说明白!】Linux平台日志管理系统详解
(2.4)如果从多台集群服务器中发送了info以上级别的事件,那么事件不仅会记录在每台服务器自己专有的文件夹中,还同时会记录到/var/log/messages文件中,这样数据量就会非常庞大且不易管理。由于在RULES中的匹配规则是从上往下进行匹配,所以我们可以添加如下的两行条目。
【讲清楚,说明白!】Linux平台日志管理系统详解
【讲清楚,说明白!】Linux平台日志管理系统详解
(2.5)此时在vms002主机上发送一个local5.err级别的事件,发现在vms001主机的日志messages和vms002.log文件中都没有产生local5.err的事件,只有在vms002host.log文件中才会记录local5.err的事件。
【讲清楚,说明白!】Linux平台日志管理系统详解
【讲清楚,说明白!】Linux平台日志管理系统详解
(2.6)平时我们需要查看系统的相关日志时可以使用journalctl -f命令进行查询。
【讲清楚,说明白!】Linux平台日志管理系统详解
(2.7)例如查询网络信息报错日志的时候也可以使用systemctl status network -l进行查询。
【讲清楚,说明白!】Linux平台日志管理系统详解
(2.8)如果需要查询网络报错时的更详细的信息,可以使用journalctl -u network.service命令进行查看。
【讲清楚,说明白!】Linux平台日志管理系统详解
(2.9)如果想要查看某个级别以上的日志,则可以使用journalctl -p err进行查询。
【讲清楚,说明白!】Linux平台日志管理系统详解
(2.10)如果需要查询某个时间段的日志信息,则可以指定时间段进行查询。
# journalctl --since "2019-9-10 18:00:00" --until "2019-9-10 19:00:00"
【讲清楚,说明白!】Linux平台日志管理系统详解