linux配置日志服务器-简单高效

简单来说就是把若干台服务器的日志信息 统一写入到某一台里面,这样就不用一台一台登陆查看日志了
linux配置日志服务器-简单高效
根据需求有2种方式,一种是服务器数量少比如就一两台服务器需要配置到*服务器中,则可以用第一种较为简单的方式。 如果较多服务器需要写到*服务器,则需要使用第二种方式,多几个步骤。

第一种方式:
如:我现在要把A服务器的日志文件配置到*日志服务器中,则先在A服务器中指定*服务器ip:vi /etc/rsyslog.conf
linux配置日志服务器-简单高效
然后到*服务器中接收A服务器日志:vi /etc/rsyslog.conf
linux配置日志服务器-简单高效
*服务器配置好其他服务器传送过来的目录后,需要开启2个模块(把#去掉) 并且需要关闭防火墙:firewall-cmd --set-default-zone=trusted
linux配置日志服务器-简单高效
测试:在A服务器上 生成一个事件,然后去*服务器查看是否有相应日志生成:logger -p local6.info ‘test1234567’
linux配置日志服务器-简单高效
*服务器查看:
linux配置日志服务器-简单高效
添加多台方法一样,只需要在配置文件里自定义*服务器接收的名字一样即可,如上图中的local6.* 。 但是 这样有一个弊端,就是 如果匹配了多个服务器,全部写在里面会很乱,不容易查看对应服务器的日志信息:
linux配置日志服务器-简单高效
所以如果服务器多了日志应该分类,a服务器的日志放在a服务器主机名目录下,b服务器放在b服务器主机名下:所以需要用第二种方式

第二种方式:

首先,设置日志的服务器必须能互相解析,然后吧服务器ip和主机名信息添加到*服务器/etc/hosts 中。主机名hostname查看
linux配置日志服务器-简单高效
然后在*服务器/etc/rsyslog.conf中日志存放目录顶端添加存放信息, :fromhost,isequal,“controller” /var/log/controller (日志信息来自controller的存放到该目录下,前提是必须添加解析),如果只添加这一行,虽然日志会如期存放到该目录下,但如果是info级别的,也会存放到*服务器的messages等目录中,这显然是不希望发生的,所以还需要在添加一行,:fromhost,isequal,“controller” ~ (就是说匹配到这以后就停止往下匹配,也就不会写入到中与服务器的日志目录了)
linux配置日志服务器-简单高效
测试:在服务器中 自定义事件,看*服务器能否正常录入日志信息:[[email protected] ~]# logger -p local6.info ‘fadsfdsagz1123’ ; [[email protected] ~]# logger -p local6.info ‘test123dfgasf1’
linux配置日志服务器-简单高效