内容简介:服务器应用日志越来越大,而且服务器越来越多,排查问题很不方便,所以:其实使用rsyslog的imfile模块就能解决问题,而且是系统内核就支持的,并不low,自己学到的也只是九牛一毛。1:由于imfile模块会用到通配符,而rsyslog 8.25以上才支持,所以需要升级
服务器应用日志越来越大,而且服务器越来越多,排查问题很不方便,所以:
- 将服务器应用日志汇总到一台机器上,排查问题方便
- 轮转应用日志(轮转系统软件日志更简单,比如Nginx日志),压缩后容量会小很多
其实使用rsyslog的imfile模块就能解决问题,而且是系统内核就支持的,并不low,自己学到的也只是九牛一毛。
1:由于imfile模块会用到通配符,而rsyslog 8.25以上才支持,所以需要升级
cd /etc/yum.repos.d/ wget http://rpms.adiscon.com/v8-stable/rsyslog.repo yum install rsyslog rsyslogd -v service rsyslog restart
2:服务器端配置
由于所有客户端需要通过UDP传递数据到服务器端,所以服务器端配置:
vim /etc/rsyslog.conf # Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514
3:客户端配置imfle模块
配置 /etc/rsyslog.d/phplog.conf
input(type="imfile" File="/var/logs/api/time*" Tag="phplog-api-debug" Severity="debug" Facility="local6") input(type="imfile" File="/var/logs/mobile/mobile.2*.log" Tag="phplog-mobile-request" Severity="notice" Facility="local6") local6.* @remoteip:514
为避免local6.*进入/var/log/message文件,配置:
vim /etc/rsyslog.conf cron.none;local6.none /var/log/messages
其中File表示源文件,Severity表示信息等级,Facility表示自定义信息,tag类似日志名称(会在服务器端日志信息中显示),然后我们要将local6的所有日志发送到远端rsyslog机器上。
4:服务器端配置
将客户端传递过来的日志保存到一个目录下,配置:
vim /etc/rsyslog.conf local6.=info /var/logs/phplog/apirequest.log local6.=debug /var/logs/phplog/apidebug.log
注意local6.=info 和 local6.info的区别,.info会包含其他级别的信息。
5:在服务器端轮转日志
/var/logs/phplog/*.log { daily rotate 15 missingok dateext compress notifempty sharedscripts create 0640 nobody root postrotate systemctl kill -s HUP rsyslog.service endscript }
注意要重启rsyslog服务,同时改变当前文件的权限,否则是root
测试是否生效,运行:
logrotate -vf /etc/logrotate.conf
6:几个问题
(1)如果rsyslog既当服务器端,又当客户端,在测试的时候发现服务器端日志增长特别快,cpu负载很高,实际上客户端上,需要去除local6.* @remoteip:514配置,否则会死循环。
(2)配置查看是否生效,也可以查看/var/log/messages,比如:
too long (26744) with configured size 8096, begin of message is
(3)有的时候配置不生效,且服务器端日志增加非常快,有点死循环的意思。
参考:
- https://www.rsyslog.com/doc/v8-stable/configuration/modules/imfile.html
- https://www.rsyslog.com/rsyslog-configuration-builder
以上所述就是小编给大家介绍的《rsyslog,并不落伍的汇总日志利器》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。