Cacti透過外掛Syslog,將能夠結合rsyslog,把系統收到的Syslog訊息先存放至資料庫,然後再呈現在Cacti頁面中,讓網路管理員能夠隨時掌握設備當下的運作狀況。
接著點選〔Alert Log〕,可以看到觸發告警的Log,Log的顏色會隨等級不同而有所差異,如圖15所示。可在Configuration裡面的Setting選擇Syslog進行調整。預設值的部分是等級越高顏色越深。(等級可在設定Rules時調整)。
|
▲圖15 發現觸發告警的Log。 |
然後修改報表的格式,先點選左方選單Configuration裡面的Settings,再點選上方的〔Syslog〕。接著,如圖16所示將「HTML Based e-Mail」選項勾選起來,最後按下右下角的〔Save〕按鈕進行存檔。
|
▲圖16 修改報表的格式。 |
緊接著,再觸發一次告警,以比照修改前後的差異,圖17是預設之HTML格式的Alert Report,清晰易讀。因此,筆者建議使用HTML的方式,可以更有條理地看出訊息的內容,讓管理者輕鬆地取得所需資訊。
|
▲圖17 預設之HTML格式的Alert Report。 |
在Message部分,筆者所修改的程式有針對Cisco和Juniper的部分設備做調整,將日期和時間由Message的資料中抽離,但不保證適用於所有的設備。若有使用筆者的程式,可以看到Message的部分日期和時間的資料已被移除,更便於閱讀,如圖18所示。
|
▲圖18 將日期和時間由Message的資料中抽離。 |
Removal Rules測試
接著,示範如何使用Removal功能。以圖19為例,發現pam_unix的訊息過多,影響正常訊息判讀。
|
▲圖19 pam_unix的訊息過多會影響正常訊息判讀。 |
所以,希望把pam_unix的訊息直接刪除,避免因訊息過多而遺漏重要的訊息。先點選Removal Rules,接著同樣點選右上角的Add,新增一個移除設定。
如圖20所示,在Removal Rule Name欄位填入「Remove pam_unix」以易於識別,而String Match Type的部分同樣改選為【Contains】,Syslog Message Match String設定則填入「pam_unix」,至於Method of Removal,可使用預設的【Deletion】,最後按下〔Create〕按鈕建立這個Rule。
|
▲圖20 新增一個移除設定。 |
設定完成之後,先檢查rsyslog Server上是否還有收到相關Log,pam_auth預設存放在「/var/log/auth.log」內。如圖21所示,先檢查是否持續有Log產生:
|
▲圖21 檢查是否持續產生Log。 |
從中可以看出每5分鐘,pam_unix就會出現2次(Cacti的定期執行與結束)。
接下來,回到Cacti使用Syslog的搜尋和過濾功能來找尋此Log。
如圖22所示,在Search欄位中輸入「pam_unix」,而Presets設定則選擇【Last Day】,Cacti會自動執行篩選功能,若無反應可按〔Enter〕按鍵或點選〔Go〕按鈕。
|
▲圖22 設定使用Syslog的搜尋及過濾功能。 |
在Cacti的Syslog中,確認此Syslog最後一次出現是在16:15,之後就無此Log,這代表在Removal Rule設定後,之後的Log在匯入資料庫時已經被自動移除。
Report Rules測試
先點選Syslog Settings裡面的Report Rules,並點選右上角的Add,新增一筆Syslog Report Filters。
如圖23所示,Report Name部分請輸入易於識別的名稱,這個名稱會出現在E-mail的主旨中。String Match Type有許多選擇,本例選擇【Contains】。在Syslog Message Match String,則輸入「LINK-3-UPDOWN」。Send Time的部分,選擇【18:00】。
|
▲圖23 新增一筆Syslog Report Filters。 |
其中的Report Body Text,則是郵件的內文,請輸入「Interface Stability Report」,在Report e-mail Addresses部分,則必須輸入要收信的收件人。設定完成之後,按下〔Create〕按鈕以建立此項規則。
Report Frequency的部分若設定為Last Day,則會收到前一日18:00至今日18:00的Alarm Log(18:00是Send Time欄位的值,可以自行調整)。如果Report Frequency設定為Last Week,則會在本週四的18:00收到上週四18:00至本週四18:00之間的Alarm Log(由於原作者未針對發信日期提供選擇功能,因此筆者僅調整至能寄送,未針對寄送日期做處理)。
緊接著,在Send Time的時間後,將會收到一封主旨開頭為「Event Report」的電子郵件,其報表內容如圖24所示(此為筆者修改後程式的輸出)。
|
▲圖24 收到主旨開頭為Event Report的電子郵件。 |
它會將剛剛設定之時段內所有的Alarm Log收集在同一報表中,滿足了預期的日報表功能。
<本文作者:丁光立,在ISP工作多年。對於Cisco設備較熟悉,除此之外也研究Linux,這幾年慢慢把觸角伸到資安的領域,並會在自己的blog(http://tiserle.blogspot.com/)分享一些實務上的經驗和測試心得。>