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.
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的linux讲日志暂停,linux – Rsyslog在日志轮换后停止向远程服务器发送数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql java文件导入导出_MyS
- 下一篇: linux include 编译,lin