利用 Cacti 架設 Log Server
.K.T. | 2008 年 04 月 29 日 | 下午 9:36用 Cacti(註:1) 已經一段時間了
雖然還是有很多地方還沒摸熟
但是
它已經在工作上幫了我很多很多
我的工作中
必須要管理多台 Server
所以
我用之前所介紹過的 Cacti 架設網管伺服器
監看各 Server 的情形
Cacti 最主要的功能是利用 SNMP(註:2) 監看網路設備的流量
像是進階版的 MRTG(註:3)
不過
我不是只拿來看網路流量而已
利用它的 Plugin(註:4)
可以幫我更了解 Server 的運作情形
目前我有安裝的 Plugin 有:Device Monitoring(註:5) 、Thresholds(註:6) 、PHP Network Weathermap(註:7) …等等
今天要介紹的
是其中一個 Plugin - syslog
因為我管的 Server 不只一台
所以
光看各台 Server 的 Log(註:8) 就會花我不少時間
所以我就想做一個 Log Server(註:9)
看到 Cacti 有 syslog 這個 Plugin
我立刻就將它裝了上去
可是裝了之後
它一點反應也沒有
上網查了才發現
還有不少東西需要設定
因為網路上的教學大多都是英文的
所以我在這裡分享一下我的設定過程
我架 Cacti 所用的作業系統是 Fedora Core 8
它預設是利用 RSyslog 來紀錄系統 Log
而 Cacti 的 syslog plugin
網路上的教學都是利用 syslog-ng 來做
因為我不想改用 syslog-ng
所以花了不少時間研究
以下是我的操作程序
首先
先安裝好 Cacti 的 syslog plugin(這一部份的教學就略過好了)
Cacti 的資料庫中就會出現 syslog、syslog_incoming …等資料表
因為我用的是 RSyslog
所以必須先安裝 rsyslog-mysql 這個 Module
才有辦法連到 MySQL 資料庫
安裝十分簡單
只要下
yum install rsyslog-mysql
安裝完成後
接著修改 RSyslog 的設定檔
vi /etc/rsyslog.conf
在 rsyslog.conf 的開頭加上
將連結 MySQL 的 Module 載入
並且在下一行
加上一個 Insert 資料進資料庫的 Template
其中
要 Insert 進 syslog_incoming 的 seq 及 status 這兩個欄位我留空白
seq 看起來像是會自動增加的流水號
而 status 我不知道是什麼
看了一下 syslog 這個資料表也沒有這個欄位
所以就留空白(如果有人知道做什麼用的再跟我說吧!)
在 rsyslog.conf 中再加上
其中的主機、資料庫、帳號及密碼依各自的環境做修改
而 *.* 可以依需求作改變
如改成 *.emerg 只記錄嚴重的事件
或改成 mail.* 只記錄 Mail 相關事件
最後
再重新啟動 RSyslog
service rsyslog restart
接下來
只要看到資料庫中的 syslog 資料表有資料進來
就大功告成了
其實
在過程中我還遇到的 SELinux 的問題
這些下次有空再分享出來好了
註:
- Cacti:一個好用的網管工具,跟 MRTG 類似,但是功能更為強大(也更難搞)! [↩]
- SNMP:是簡易網路管理通信協定(Simple NetworkManagement Protocol)的簡稱,也是網際網路的標準之一,它讓網路上不同的設備,產生具有共通標準,且可供網路管理的資料。 [↩]
- MRTG:MRTG(Multi Router Traffic Grapher)是一套可用來繪出網路流量圖的軟體。 [↩]
- Plugin:其實就是外掛啦! [↩]
- Device Monitoring:Cacti Plugin 的其中之一,用來監控系統是否 Down 下來。 [↩]
- Thresholds:Cacti Plugin 的其中之一,用來監控系統流量(含 CPU 負載…等)是否超出(或低於)標準。 [↩]
- PHP Network Weathermap:Cacti Plugin 的其中之一,可以畫出網路連接圖,並依網路流量大小顯示。 [↩]
- Log:系統記錄,記錄系統所發生的各項事件。 [↩]
- Log Server:用來集中管理各台 Server Log 用的主機。 [↩]







想請教一下,這樣你這台cacti server有收集幾份syslog?
目前只有收本機、一台 Windows 的 WSUS Server 以及一台防火牆的 Log。
請問這樣架設起來之後
想要filtering 紀錄檔有辦法嗎?
因為防火牆的紀錄檔欄位這麼多~
Cacti的欄位可以客製化嗎?
好奇一問~
這裡是用 RSyslog 作為 Log Server,所收的 Log 是標準的 Syslog,Syslog 的格式在相關的 RFC 裡有明確的定義,Cacti 所做的只是提供一個網頁介面方便查看而已。
如果想要收防火牆的 Log,現今的防火牆設備應該都有專屬的收 Log 程式可使用,如果要專為防火牆客製欄位,恐怕就難以符合 RFC 的定義,我個人是覺得不太適宜啦!