背景
国庆期间,我老大反馈说日志服务器收集的日志不完整,我吓得马上去看,日志嘛很重要,发现出现不完整的日志都是数据量过大,还是nginx日志
验证
为了验证是nginx的问题还是rsyslog的问题,我通过nginx重新定义一份日志写本地,接下来静静的等,等长日志出现
不出意外,竟然是rsyslog的问题
我第一直觉告诉我,是rsyslog传输的日志大小问题
我马上上网查了一下,还真对了,不过关于这类问题的博文还是太少了
解决
rsyslog默认的单条日志传输大小为(2k/4k),网上的有人说是2k,有人说是4k,有可能是版本问题
那么这算什么问题,直接加大,给个128k(开玩笑,还是得按公司实际业务来给,在这里我就直接写128k了,看到这括号内容的大佬们可以假装没看到)
rsyslog控制单条日志传输大小是用:$MaxMessageSize
参数
那么就简单了
vim /etc/rsyslog.conf
$MaxMessageSize 128k #直接干
注意哦:
- 参数最好写在:
#### GLOBAL DIRECTIVES ####
下面 - 服务端以及客户端都得加,需要重启!!!