linux讲日志暂停,linux – Rsyslog在日志轮换后停止向远程服务器发送数据

在我的配置中,我有rsyslog负责使用imfile跟踪/home/user/my_app/shared/log/unicorn.stderr.log的更改.使用TCP将内容发送到另一个远程日志记录服务器.

当日志文件旋转时,rsyslog会停止向远程服务器发送数据.

我尝试重新加载rsyslog,发送HUP信号并完全重新启动它,但没有任何效果.

我发现实际工作的唯一方法是脏的:

>停止服务,删除rsyslog stat文件并再次启动rsyslog.所有这些都在我的logrotate文件中的postrotate钩子中.

> kill -9 rsyslog并重新启动它.

如果没有触及rsyslog内部,我有没有正确的方法呢?

Rsyslog文件

$ModLoad immark

$ModLoad imudp

$ModLoad imtcp

$ModLoad imuxsock

$ModLoad imklog

$ModLoad imfile

$template WithoutTimeFormat,"[environment] [%syslogtag%] -- %msg%"

$WorkDirectory /var/spool/rsyslog

$InputFileName /home/user/my_app/shared/log/unicorn.stderr.log

$InputFileTag unicorn-stderr

$InputFileStateFile stat-unicorn-stderr

$InputFileSeverity info

$InputFileFacility local8

$InputFilePollInterval 1

$InputFilePersistStateInterval 1

$InputRunFileMonitor

# Forward to remote server

if $syslogtag contains 'apache-' then @@my_server:5000;WithoutTimeFormat

:syslogtag,contains,"apache-" ~

*.* @@my_server:5000;SyslFormat

Logrotate文件

/home/user/my_app/shared/log/*.log {

daily

missingok

dateext

rotate 30

compress

notifempty

extension gz

copytruncate

create 640 user user

sharedscripts

post-rotate

(stop rsyslog && rm /var/spool/rsyslog/stat-* && start rsyslog 2>&1) || true

endscript

}

仅供参考,该文件对于rsyslog用户是可读的,我的服务器是可访问的,并且在同一周期内不旋转的其他日志文件继续被正确跟踪.

我正在运行Ubuntu 12.04.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值