修改20161007
產生hostname/年/月/日.log 檔案
參考:rsyslog-configuration
版本:Red Hat 4.4.7-17, rsyslog-5.8.10-10.el6_6.x86_64
目的
1.rsyslog server已運作.2.產生log檔在 /var/log/rsyslog/${hostname}/${yesr}/${month}/${hostname}-${day}.log
外面傳來的log依照log的hostname在 /var/log/rsyslog下分開,並在分成年月資料夾,最後產生 hostname-日期.log,每天存一份.
3.使用舊式的設定,在/etc/rsyslog.d/test.conf設定兩個tamplate,一個tamplate是定義動態log檔案名稱,另一個是定義收到log message轉成文字檔時的格式.
設定
/etc/rsyslog.d/test.conf
$template DynFile,"/var/log/rsyslog/%HOSTNAME%/%$YEAR%/%$MONTH%/%HOSTNAME%-%$DAY%.log"
$template TraditionalFormat,"%timegenerated% %HOSTNAME% from ip:%fromhost-ip% %syslogtag%%msg:::drop-last-lf%\n"
*.* ?DynFile;TraditionalFormat
templatename定義template名稱,format定義路徑檔名和輸出文字檔格式.
%HOSTNAME% %$YEAR% %timegenerated%
兩個%之間使用rsyslog Properties,如果多$是指rsyslog server系統上的參數.
from ip:%fromhost-ip%
我是使用原本舊有的範本,再加入遠端丟log的設備ip
*.* ?template1;template2
*.*第一個*是指所有服務,第二個*是指所有log的等級,?後面接template,也可以?前面加 - 代表輸出的log與rsyslog server時間同步,template1指存檔的路徑和檔名,template2只輸出的文字檔格式
寫完記得重啟服務 service rsyslog restart
驗證
可以看到有四台設備,其中一台已有兩天log,並記錄log來源的ip.
Rsyslog Listen
目的
預設rsyslog不會監聽port,修改config產生監聽。實作
vim /etc/rsyslog.conf
#$ModLoad imudp
#$UDPServerRun 514
#$ModLoad imtcp
#$InputTCPServerRun 514
把註解#去掉
重新啟動 service rsyslog restart
驗證
Filtering And Forwarding
目的
篩選和轉發rsyslog的資料.
juniper 的 hostname是R6,送出syslog給centos6.7
centos6.7收到R6封包,刪掉只有下指令的log,轉發給other linux

Topology
juniper 的 hostname是R6,送出syslog給centos6.7
centos6.7收到R6封包,刪掉只有下指令的log,轉發給other linux
實作
Filtering

位置:centos6.7
centos6.7上已經可以接收R6的syslog
位置:centos6.7
: rawmsg, regex, ".*mgd.*" ~
這行代表,在rawmsg裡使用正規表示法搜尋有mgd的內容,然後刪掉
rawmsg代表整個封包接收到的內容
regex表示選擇使用正規表示法
".*mgd.*"表示正規表示法,有出現mgd都match
~表示match的都移除(如果沒有~,則只有math的會留下)
位置:juniper R6
在R6上,2016-10-07-17:33:37下show user perry指令
位置:centos6.7
可以看到時間上,沒有出現那個syslog,如果會出現就會像最後一行那樣
Forwarding
位置:centos6.7
*.* @192.168.20.199
表示轉寄給192.168.20.199
*.* 表示所有資訊所有等級
@表示使用utp,@@表示使用tcp
192.168.20.199表示轉發的ip,預設port是514,可以用192.168.20.199[:port number]
位置:other linux
可以找到R6的syslog