2010年12月4日 星期六

Cacti 仙人掌 - 取代你的 MRTG 統計系統資源使用率

http://www.cacti.net/images/cacti.png

   Cacti 仙人掌 - 這個名字取的真好,像是站在沙漠裡面的隨時能幫你救命的能源一樣。

官方網站: http://www.cacti.net/











我想大部分都知道 MRTG 這套系統資源統計軟體,很多主機商都會提供的流量、系統資源使用率報表都是由 MRTG 產生。但因 MRTG 太過老舊而且有功能美中不足,所以原作者又開發了 RRDTool ,一個比 MRTG 更強大的系統資源分析軟體,但由於 RRDTool  比較複雜使用較為不易,而 Cacti 就是一套建立在 RRDTool 上的分析軟體,可以讓你很容易的使用 RRDTool 上的圖形數據,而且他是由 PHP 程式加上 MySQL 資料庫撰寫而成,除了利用 RRDtool 的數據產生圖形報表,還多了多用戶使用功能。

官方 Cacti 0.8.6 版本說明



系統需求:
PHP 4.3.6+
MySQL 4.1.x or 5.x
RRDTool 1.0.49+ or 1.2.x
NET-SNMP 5.1.2+
 支援作業系統:
Redhat Enterprize Linux
Fedora Core 4
Fedora Core 5
Fedora Core 6
FreeBSD 4.2
FreeBSD 4.8
FreeBSD 5.x
Windows 2000 Professional/Server
Windows XP Professional
Windows 2003 Professional/Server
Slackware 8.0
Debian Linux
SuSE Linux
AIX 4.3
AIX 5.x
Solaris 9
Solaris 10

安裝前準備 BUILDING DEPENDENCIES

您必須具備 Apache + PHP + MySQL 環境,另外別忘了 Cacti 需配合 rrdtoolnet-snmp

 1) 安裝 rrdtool

看起來滿簡單的,但是別忘了 Cacti 是建立在 RRDTool 上,所以安裝  RRDTool 才是重點工作,而且安裝 RRDTool 的前置工作挺多的,不過也是必須的工作,請參考前一篇的「安裝 RRDTool 改變你對 MRTG 的舊觀念

2) 安裝  net-snmp
2.1 檢查系統上是否有安裝 net-snmp

rpm -qa | grep net-snmp
net-snmp
net-snmp.devel
net-snmp.utils (如果沒有安裝,會無法執行 snmpwalk)

如果尚未安裝,也可以透過手動安裝:
wget http://sourceforge.net/projects/net-snmp/files/net-snmp/5.6/net-snmp-5.6.tar.gz/download
tar xzvf net-snmp-5.6.tar.gz
cd net-snmp-5.6
./configure
make
make install
2.2 確認 PHP 是否支援 snmp
rpm -qa | grep php-snmp
2.3 測試 snmp 是否安裝及運作

snmpwalk -c public -v 1 localhost system

-c public 指定 community ,public 是預設值,如果更改了 snmp.conf community 設定,需更換成自己的設定值(相關說明請參閱:CentOS 5.x 之簡易 snmp 設定)。
 2.4 設定 snmpd.conf
由於預設只有監測路由器,如果想監測本機流量需做一些修改

打開 /etc/snmp/snmpd.conf
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.2   <-- 加入這一行
view    systemview    included   .1.3.6.1.2.1.25.1.1
修改完成後記得重新啟動 snmp。


開始安裝 INSTALL

下載  cacti-0.8.7g.tar.gz (最新的版本請注意 Cacti 官方網站 的發佈)

 tar xzvf cacti-0.8.7g.tar.gz
 cd cacti-0.8.7g

1) 首先建立 MySQL 資料庫及使用者權限

首先需要先建立一個 cacti 專用的 MySQL 資料庫名稱、及資料庫使用者。
以下範例假設您已經建立:

MySQL Database: cacti
MySQL User: cacti_user
MySQL Password: cacti_password

2) 匯入 cacti.sql 資料檔

將解壓縮的目錄下 cacti-0.8.7g/cacti.sql 匯入您的 MySQL 資料庫中(例如上面的 MySQL Database: cacti  <-- 資料庫名稱)


3) 設定 Apache 網頁路徑及目錄安全設定
如果您解壓縮的目錄為 /your/path,則您必須在 Apach 設定檔(httpd.conf)中設定站台相關設定。


Alias /cacti /your/path

<Directory /your/path>
AllowOverride None
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Options Indexes Includes FollowSymLinks
</Directory>

<Directory /your/path/cli>
Order Deny,Allow
Deny from All
Allow from None
</Directory>

4) 設定 config.php

如果您解壓縮的目錄為 /your/path,需修改目錄中 config.php 檔案中有關 MySQL 連線的相關設定:

$database_type = 'mysql';
$database_default = 'cacti';        <-- MySQL 資料庫名稱
$database_hostname = 'localhost';   <-- MySQL 主機名稱
$database_username = 'cacti_user';  <-- MySQL 使用者
$database_password = 'cacti_password';  <-- MySQL 使用者密碼

5) 更改目錄權限
官方的安裝說明有特別提醒這一個步驟,就是在 /your/path 下的 rralog 兩個目錄夾需要設定適當的權限。

建議您建立一個沒有登入權限的 User名稱(例如: cactiuser)提供給分析軟體使用。

 6) 設定 crontab 定時執行
將 poller.php 加入 /etc/crontab 讓 Cacti 可以定時取得分析資訊。

vi /etc/crontab

*/5 * * * * cactiuser php /your/path/poller.php > /dev/null 2>&1

安裝完成測試看看吧

第一次安裝應該花了滿多時間了吧,現在就是來看看安裝成果嘍,預設安裝好的路徑還記得嗎?在上面的 Apache 設定中有 Alias /cacti /your/path,/cacti 為虛擬路徑,只要在你的伺服器名稱後面加上 /cacti 就可以開始 Cacti 仙人掌 之旅。

例如:http://your-server/cacti/


預設的 username/password 皆為 admin,記得登入後修改預設帳號密碼後就完成嘍!!

沒有留言: