<b>問題:</b>
<b> 在将應用程式日志通過rsyslog服務推送到遠端日志伺服器上時,在幾小時之後發現磁盤大量消耗,并發現/var/log/messages 檔案超過10g。會什麼會這樣呢?</b>
<b></b>
配置如下:

注意最後兩行的發送規則:
programname == '${app_name}' then @@xxx:port;logline_${app_name}
if \$programname == '${app_name}' then stop
實驗發現if \$programname == '${app_name}' then stop 他會不停的将access_log.log檔案内容寫入到/var/log/messages(centos),導緻系統日志檔案不停增長。
<b>解決辦法:</b>
将最後一條規則修改:
将if \$programname == '${app_name}' then stop
修改為:
if \$programname == '${app_name}' then ~ (注意“~”中文字元)
在rsyslog中"~" 表示将比對到的項目字元丢棄,不會被再次記錄到系統日志檔案中。
配置修改後需重新開機rsyslog服務。