rsyslog 網路流量監測 Syslog Cacti 告警

Cacti整合Syslog日誌 隨時監控掌握設備資訊

2016-10-06
Cacti透過外掛Syslog,將能夠結合rsyslog,把系統收到的Syslog訊息先存放至資料庫,然後再呈現在Cacti頁面中,讓網路管理員能夠隨時掌握設備當下的運作狀況。
執行完畢,再檢查「syslog」資料庫是否已建立,並且在該資料庫中是否已有Table,如圖1所示:


▲圖1 檢查資料庫「syslog」是否已建立。

確認資料表正確後,繼續安裝rsyslog,並修改其設定檔使之能寫入資料庫。

然後,使用apt-get命令來安裝rsyslog。如果讀者使用的是較舊版的Ubuntu,需要自行下載編譯安裝rsyslog,才能夠支援MySQL的功能。rsyslog安裝指令為:


這裡刻意只輸入rsyslog-mysql這個程式,apt-get會自動詢問是否安裝其他相關的程式,因此已加上-y這個參數,將所有問題都回答「yes」,這樣就會自動安裝所有相關程式。

在安裝過程中,會詢問MySQL的管理者密碼,此外也會詢問rsyslog這個資料庫使用者的密碼,若輸入空白,會自動產生新密碼。

接著修改其設定檔,編輯rsyslog的設定檔「/etc/rsyslog.conf」,新增以下內容:


隨後輸入以下內容讓rsyslog支援MySQL的功能:


此內容為同一行,因排版需求被斷行。在此宣告一個名為「cacti_syslog」的Template,以便之後呼叫使用。其功能為寫入syslog_incoming這個資料表:


cactiuser指的是有該資料庫寫入權限的帳號,password為該用戶的密碼。最後的cacti_syslog指的是在上一行設定的template cacti_syslog。這一行的意思是把所有收到的資料「*.*」(可自行設定其等級)全部寫入資料庫,語法使用cacti_syslog這個Template:


接著開啟UDP Port,讓Syslog訊息可以透過UDP的方式寫入:


這裡指定UDP Port使用514,此為Syslog的慣用Port。

一般來說,Syslog Daemon預設開在UDP 514 Port,若有使用TCP協定或使用其他Port的需求,可查詢rsyslog官方網站(http://www.rsyslog.com/doc/master/configuration/modules/imtcp.html)的說明。

修改設定檔後存檔離開,並啟用rsyslog(若本來已啟用,記得改用「restart」命令重新啟動):


接著,如圖2所示使用netstat指令確認rsyslog是否正常啟動並占用UDP 514 Port,


▲圖2 確認rsyslog是否正常啟動並占用UDP 514通訊埠。

確認rsyslog已使用UDP 514 Port,並在執行中。

然後,如圖3所示檢查資料是否寫入syslog檔案中,代表rsyslog能夠收到Syslog訊息:


▲圖3 檢查資料是否寫入syslog檔案。

最後,檢查是否已有資料成功寫入資料庫,如圖4所示:


▲圖4 檢查資料是否已經成功寫入資料庫。

若有看到資料,就代表這階段的設定已經完成。確定rsyslog能夠正確運作後,記得把它加入開機時自動啟用的清單:


接下來,回頭修改Cacti的Syslog Plugin的相關設定。

設定及安裝Cacti套件

一開始必須調整Syslog的資料庫存取設定,先切換至設定所在目錄:


接著編輯「config.php」,找到以下字串,進行修改:


這裡指的是否共用Cacti的資料庫,由於這裡希望使用獨立資料庫的方式執行,因此將修改為「false」。

以下內容必須修改username和password,修改成之前所建立的能讀寫「syslog」此資料庫的使用者及其密碼:



追蹤我們Featrue us

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

我知道了!