修改rsyslog客户端传输日志路径后,不再传输给服务端
在修改php慢日志处理系统的架构时,修改php服务生成的php慢日志到另外一个路径,然后修改rsyslog配置文件,将换过路径后的日志传输到服务端。
but,只是修改了一个文件路径而已,重启客户端的rsyslog之后,就不再传输给服务端了,经过一番努力,以及斗神的提示,对rsyslog -dn处理,输出debug日志,查看日志,竟然有/tmp/php-slow.log这种字样出现,tmp下存放的是老的日志,配置文件已经更新到了/opt/log下,但是启动后貌似并没有生效,找到这个imfile模块的state文件,state里边还是显示之前的文件路径,删除state文件,重启rsyslog,解决!!
state文件路径查看rsyslog主配置文件:

查看状态文件:
root@wscn-web1:/var/spool/rsyslog# cat phpslow.state
<Obj:1:strm:1:
+iCurrFNum:2:1:1:
+pszFName:1:21:/opt/log/php-slow.log: #这就是为什么debug的时候日志出现俩文件地址,因为state没有修改。
+iMaxFiles:2:1:0:
+bDeleteOnClose:2:1:0:
+sType:2:1:2:
+tOperationsMode:2:1:1:
+tOpenMode:2:3:384:
+iCurrOffs:2:7:2376009:
+inode:2:7:9961494:
>End
.
注意:正常修改配置文件步骤,首先将rsyslog stop,然后再修改配置文件,然后重启。
浙公网安备 33010602011771号