Linux基礎_系統日誌管理rsyslog
系統日誌是程式在執行時自己產生的,而rsyslog只是將這些日誌採集下來,進行管理,系統日誌是非常重要的,可以通過對日誌的分析進行排錯。在實際生產中,如果需要對日誌進行操作,最好還是先將日誌進行備份。本篇文章講解的是rsyslog這個軟體採集日誌的格式,及其配置,希望可以對你有用。
1.日誌格式
通常系統產生的日誌記錄在/var/log這個目錄中,常見的有以下五個檔案:
[[email protected] mnt]# cat /var/log/messages #常規資訊的日誌,日誌級別info
[[email protected] mnt]# cat /var/log/secure #認證資訊的日誌
[
可以通過編輯rsyslog的配置檔案/etc/rsyslog.conf,控制檔案的採集方式,如下圖:
在/etc/rsyslog.conf檔案中添加了紅框中的內容,其中包含三部分內容,“.”之前表示日誌的內容,“.”之後表示日誌的級別,“*”表示所有,後面的/var/log/westos表示記錄日誌的檔案。所以,所新增的內容表示所有型別的所有級別的日誌都記錄在/var/log/westos檔案中。
日誌型別:
auth ##pam產生的日誌 authpriv #ssh,ftp等登陸資訊的驗證資訊 cron #時間任務相關 kern #核心 lpr #列印 mail #郵件 mark(syslog)-rsyslog #服務內部的資訊,時間標示 news #新聞組 user #使用者程式產生的相關資訊 uucp #unix to unix copy,unix主機之間相關的通訊 local 1~7 #自定義的日誌裝置
日誌級別:(從上到下,級別從低到高,記錄的資訊越少): debug ##有調式資訊的,日誌資訊最多 info #一般資訊的日誌,最常用 notice #最具有重要性的普通條件資訊 warning #警告級別 err #錯誤級別,阻止某個功能或模組不能正常工作的資訊 crit #嚴重級別,阻止整個系統或者整個軟體不能正常工作的資訊 alert #需要立刻修改的資訊 emerg #核心崩潰等嚴重資訊 none #什麼都不記錄
重啟rsyslog服務之後,就會產生/var/log/westos檔案,如下圖:
westos檔案中就記錄了所有的日誌資訊,用其他的主機ssh連線node2主機,westos就會產生相應的日誌,如下圖:
> /var/log/westos是清空該檔案,為了檢視方便,所以將日誌清空。如果現在不讓rsyslog採集認證資訊的日誌,可以在/var/rsyslog.conf檔案中繼續編輯,如下:
“;”後面的內容就是除了認證資訊,其他型別的日誌都採集到/var/log/westos檔案中,重啟服務後,再次用其他主機ssh連線node2,westos檔案中就不會記錄此次認證日誌,如下:
2.日誌的遠端傳送
在生產環境中,可能會出現一個管理員需要對多臺主機上的日誌進行分析,為了高效就要將多臺主機的日誌傳送到一臺主機上進行分析。現在有兩臺主機node1和node2,需要將node2主機上產生的日誌傳送到node1主機上,所以就需要對兩臺主機的rsyslog進行配置。
node2作為傳送端,編輯resyslog的主配置檔案,重啟服務。如下:
表示將自己產生的所有日誌通過udp協議傳送給172.25.254.160(node1)這臺主機,“@”表示使用UDP協議,“@@”表示使用TCP協議。
node1作為接收端,要對rsyslog的主配置檔案進行配置,如下圖:
如果傳送端使用的是UDP協議傳送日誌,去掉15,16行的“#”,如果傳送端是TCP協議傳送日誌,去掉19,20行的日誌,然後重啟服務關閉火牆,也可以對火牆進行配置,如下:
在node2端使用以下命令產生日誌:
在node1端對/var/log/messages檔案進行監控,會顯示node2端的日誌:
3.定義日誌採集格式
上面的圖中日誌顯示的格式都是固定的,我們可以自己定義日誌的採集格式,編輯rsyslog的主配置檔案,如下圖:
重啟服務後,日誌的採集格式就和定義的格式相同,如下: