Rsyslog:
本篇文章更多参考(如有需要,可直接参阅原文):
http://zm10.sm-img2.com/?src=http%3A%2F%2Fw.gdu.me%2Fwiki%2FLinux%2Frsyslog_logrotate.html&uid=841f32121bbc0a168eee69bf5ffa880b&hid=6af25f4f8c2beab005677505e0e448b7&pos=8&cid=9&time=1426647358140&from=click&restype=1&pagetype=0000000000000402&uc_param_str=pidi
补充:rsyslog为了在使用上能够和syslog保持一致,很多地方可直接参考syslog。。
目前RHEL6+已經使用的是rsyslog,是syslogd的多线程增强版。
rsyslog负责写入日志,logrotate负责备份和删除旧日志,以及更新日志文件/日志分割等。。
測試環境:centos 6.5
1 | #rsyslogd -v |
rsyslog:
1 | #service rsyslog status 默认是开启的 |
配置文件:
/etc/sysconfig/rsyslog
/etc/rsyslog.conf
/etc/sysconfig/rsyslog
rsyslog处理大量日志接收时,总是会延迟,说有dns解析的问题。然后man了下rsyslogd,发现有-Q -x参数可以屏蔽dns解析。改下启动脚本
SYSLOGD_OPTIONS=”-c 5 -Q -x”
-Q do not resolve hostnames during ACL processing(需要说明,这个可以直接参考syslog,不过在这有个好奇,就是在syslog文章中指出为了不进行解析,使用-x选项,man rsyslogd 得到-Q解释,不知其意义何在,如有幸得告知,请留言说明,谢谢。)
/etc/rsyslog.conf
Provides UDP syslog reception
允许514端口接收使用UDP协议转发过来的日志
$ModLoad imudp.so
$UDPServerRun 514
Provides TCP syslog reception
允许514端口接收使用TCP协议转发过来的日志
$ModLoad imtcp.so
$InputTCPServerRun 514
@@表示通过tcp协议发送 @表示通过udp进行转发
实例: remote log 远程发送与接收
只要在rsyslog.conf中加入
1 | *.* @192.168.0.10 |
- 參考一:关于rsyslog队列介绍及配置
http://blog.chinaunix.net/uid-773723-id-3900229.html - 参考二:rsyslog日志服务安装与写入到MySQL数据库
http://www.linuxidc.com/Linux/2014-06/103364.htm
logrotate:
/etc/logrotate.conf
logrotate服务
rotate 轮换,日志切换
logrotate是一个日志管理程序,用来把旧的日志文件删除(备份),并创建新的日志文件,这个过程称为”转储”。我们可以根据日志的大小,或者根据其使用的天数来转储。
logrotate启动方式
logrotate 的执行由crond服务实现。在/etc/cron.daily目录中,有个文件logrotate,它实际上是个shell script,用来启动logrotate。logrotate程序每天由cron在指定的时间(/etc/crontab)启动。
因此,使用ps是无法查看到logrotate的。如果它没有起来,就要查看一下crond服务有没有在运行。
在执行logrotate时,需要指定其配置文件/etc/logrotate.conf
这个配置文件的注释写得很清楚,没有必要再罗嗦了。只想强调下面这行,它的作用包含存放在/etc/logrotate.d目录下面的配置文件,不可或缺。如果你安装了一个新的服务,它的日志转储的规则可以建立一个专门的配置文件,放在/etc/logrotate.d下面。它其实也因为下面的这句话,在 logrotate服务启动时被读取。
每个存放在/etc/logrotate.d目录里的文件,都有上面格式的配置信息。在{}中定义的规则,如果与logrotate.conf中的冲突,以/etc/logrotatate.d/中的文件定义的为准。
logrotate启动脚本放在 /etc/cron.daily/logrotate 中,可人工执行命令进行测试:
/usr/sbin/logrotate-f /etc/logrotate.conf
dateext表示转储文件会以日期来结束*
1 |
|
范例一:
sample logrotate configuration file
1 | compress # 全局设置, 压缩 |