天天看點

Rsyslog-legacy(舊版本文法)配置說明及舉例

Rsyslog-legacy(舊版本文法)配置說明及舉例

1、 RULES-書寫規則

格式:日志裝置(類型).日志級别             日志處理方式

(1)日志類型分類

auth pam産生的日志
authpriv ssh,ftp等登入資訊的驗證資訊
cron 時間任務相關
kern 核心
lpr 列印
mail 郵件
mark(syslog) rsyslog服務内部的資訊,時間辨別
news 新聞討論區
user 使用者程式産生的相關資訊
uucp unix主機之間相關的通訊
local 1~7 自定義的日志裝置(類型)

(2)日志級别分類

debug 有調試資訊的,日志資訊最多
info 一般資訊的日志,最常用
notice 最具有重要性的普通條件的資訊
warning 警告級别
err 錯誤級别,阻止某個功能或子產品不能正常工作的資訊
crit 嚴重級别,阻止整個系統或整個軟體不能正常工作的資訊
alert 需要立即修改的資訊
emerg 核心崩潰等嚴重資訊
none 什麼都不記錄

 備注:從上到小,級别由低到高,記錄的資訊也越來越少。

(3)連接配接符号

.xxx 表示大于等于xxx級别的資訊
.=xxx 表示等于xxx級别的資訊
.!xxx 表示在xxx之外的等級的資訊

(4)示範

記錄到普通檔案或裝置檔案

*.*   /var/log/file.log                                #絕對路徑

*.*   /dev/pts/0

轉發到遠端

*.*   @192.168.0.1                                   #UDP

*.*   @@192.168.0.1:10514                   #TCP

發送給使用者(線上使用者才生效)

*.*    root

*.*    root,test                                            #多個使用者使用英文逗号分開

*.*    *                                                         #*表示所有線上使用者

忽略,丢棄 local3.*   ~                  #忽略所有local3類型的所有級别的日志        
執行腳本

local3.*   ^/tmp/a.sh          #^後跟可執行腳本或程式的絕對路徑

                                                                     #日志内容可作為腳本的第一個參數

觸發報警 .. note::

備注:日志記錄的順序有先後關系

2、執行個體

(1)過濾日志,由:号開頭

:msg,contains,       "error"     /var/log/error.log               
:msg,contains,        "error"    ~
:msg,contains,        "user vicky"     ~
:msg, contains,       "module-alsa-sink.c: ALSA woke us up to write new data to the device, but there was actually nothing to write"    ~
local3.*                   ~
&                             ~                  #忽略所有日志

 (2)使用模闆來定義日志格式

  • 預設模闆格式:
$template myFormat, "%rawmsg%\n"      
  • 定義模闆格式:

  詳見文檔rsyslog的模闆

  • 為規則使用模闆:
cron.*          /var/log/cron;myFormat          #分号後面添加模闆名      

(3)遠端發送和接收

*.*   @192.168.0.1                          #UDP

*.*   @@192.168.0.1:10514                   #TCP      

client端:配置發送到哪裡,有無端口,使用什麼協定發送

server端:配置使用什麼協定監聽哪個端口,收到的日志儲存到哪裡

(4)作為server端,将不同client端發送過來的日志儲存到不同的檔案

:FROMHOST-IP,isequal,          "192.168.0.3"                   /var/log/host3.log

:FROMHOST-IP,isequal,          "192.168.0.133"               /var/log/host133.log

:FROMHOST-IP,startwith,      "192.168.1."                      /var/log/network1.log

:FROMHOST-IP,startwith,      "192.168.2."                      /var/log/network2.log      

勿忘初心,放得始終

繼續閱讀