Mailgraph - 分析 Mail Log 流量圖表化

1、前言

mailgraph 為一非常簡單電子郵件統計套件,透過 RRDtool 及您的 MTA (ex. Sendmail、Postfix...) 統計出每日、週、月、年的郵件紀錄,並以圖表顯示郵件的收、送、拒絕、病毒、廣告信等流量。






文章目錄

1、前言
2、實作環境
3、安裝及設定
          步驟1.安裝 mailgraph 套件
          步驟2.啟動 mailgraph 服務
          步驟3.觀看 mailgraph 分析結果
          步驟4.修改系統 Log 設定檔 (newsyslog.conf)
4、參考
5、Me FAQ
          Q1.mailgraph 服務無法啟動並出現錯誤訊息?





2、實作環境

  • FreeBSD 5.2-RELEASE
  • rrdtool-1.0.47
  • mailgraph-1.8 





3、安裝及設定

步驟1.安裝 mailgraph 套件

切換至 Ports Tree 路徑安裝 mailgraph 套件,預設安裝於 /usr/local/www/cgi-bin 目錄下 mailgraph.pl、mailgraph.cgi 為了使後續 Web Service 服務 (www) 能順利讀取及執行這二個檔案,因此請將 owner:group 變更為 www
cd /usr/ports/mail/mailgraph    //切換至安裝路徑
make install clean               //安裝並清除暫存檔案
cd /usr/local/www/cgi-bin       //切換至設定檔路徑
chown www:www mailgraph.pl      //變更擁有人及群組
chown www:www mailgraph.cgi     //變更擁有人及群組




步驟2.啟動 mailgraph 服務

請依如下步驟複製範例服務檔並啟動 mailgraph 服務若啟動成功則會產生 RRDTool (*.rrd) 的分析檔。
cp mailgraph.sh.sample mailgraph.sh      //複製預設檔以便修改
/usr/local/etc/rc.d/mailgraph.sh start   //啟動 mailgraph 服務
ps ax |grep mailgraph                      //確定服務是否啟動
 36225  p0  I      0:00.01 su -c cd /usr/local/www/cgi-bin; ./mailgraph.pl -l /v
 36226  p0  S      0:01.30 /usr/bin/perl -w ./mailgraph.pl -l /var/log/maillog




步驟3.觀看 mailgraph 分析結果




步驟4.修改系統 Log 設定檔 (newsyslog.conf)

由於 mailgraph.sh 執行為使用 Web Service 的 www 這個帳號,但 /var/log/maillog 預設產生的 owner:group 是 root:wheel 所以我們必須更改 group 為 www 或權限改為 644 以便 mailgraph 服務讀取 Mail Log,否則當 /var/log/maillog 產生新的 Log 時 mailgraph 會因為沒有權限讀取 Mail Log 而導致無法分析圖表,有關此設定檔詳細內容可參考站內文章 newsyslog.conf
vi /etc/newsyslog.conf          //修改 newsyslog.conf (請依個人喜好擇一即可)







4、參考






5、Me FAQ

Q1.mailgraph 服務無法啟動並出現錯誤訊息?

Error Message:
執行指令 /usr/local/etc/rc.d/mailgraph.sh start 欲啟動 mailgraph 服務時卻出現如下錯誤訊息?
Error opening /var/log/maillog: Permission denied at ./mailgraph.pl line 308
Ans:
請檢查 maillog 檔案權限是否正確,因為 mailgraph 是使用 www 這個帳號所以 other 的權限要為 r (read)。