rsyslog Log 日誌

活用rsyslog結合MySQL 實現日誌集中控管

2012-08-09
俗話說:「魔鬼都藏在細節裡。」這句話對系統管理而言尤為貼切,因為所有的關鍵線索都存在主機的Log資訊中,如何管理並快速分析Log檔案內的蛛絲馬跡,將是IT人員的首要工作目標。本文介紹如何利用開放原始碼套件rsyslog來建立一個中央控管式的Log儲存方案,有效地減輕管理人員的負擔,讓系統運作更順暢。
當系統發生問題時,管理人員第一件事即是查詢相關系統的資訊,期望從中找尋珠絲馬跡來釐清問題的所在。在入侵事件發生後,Log的記錄更是唯一能夠建構出事件來龍去脈的唯一線索,因此Log資訊的管理就成為系統管理上很重要的一個管理活動。

在一般系統內,Log資訊均是以檔案的形式儲存在本機上,如此不但在應用Log分析上會有很大的侷限,在實務上,駭客在入侵系統後通常會將相關的Log檔案清除,以隱藏入侵的相關資訊,讓系統管理者在後續追查上產生極大的困擾。

解決方案所需的套件

為此,本文將提供一個中央控管式記錄儲存方案,利用中央資料庫來儲存Log資訊,一旦系統產生Log資訊後,即會將相關Log資訊傳遞到後端的Log伺服器進行保存,以保證不會被惡意清除,並能提供更有效率的Log分析。

在本解決方案中,還提供一個Web管理介面軟體,幫助管理者更方便地管理Log資訊,其系統架構圖如下圖所示,而解決方案所需的套件則列於上頁表格之中。


▲rsyslog解決方案架構圖。

什麼是syslog

syslog通常被稱為系統日誌,這是一種用來在網際網路協定(TCP/IP)的網路中傳遞記錄檔訊息的標準。syslog協定是一種主從式的架構(Client-Server),syslog Client端利用傳送出一個小的文字訊息(小於1,024位元組)到syslog Server端(通常為syslogd程式)。

syslog系統日誌訊息可以利用UDP協定和TCP協定來傳送。基本上,相關系統日誌資料是以明碼型態傳送。syslog的格式如下所示:


syslog格式定義共分為四個欄位:

1. 記錄欄位事件發生的日期與時間。
2. 記錄發生此事件的主機名稱(如上述的Spampc)。
3. 記錄啟動此事件的服務名稱(如上述的sshd)。
4. 記錄訊息的實際資料內容。

在說明過syslog的格式後,接著說明Linux系統下常見的Log檔案,如下表所示。

Linux系統內常見的Log檔案


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!