在Linux系統下監控系統性能工具很多,Cacti是在大型網絡中較常見的性能監測軟體,可以對CPU負載、記憶體占用、運作程序數、磁盤空間、網卡流量等各種資料資訊進行監控。
Cacti是基于PHP語言編寫的一個管理套件,需要使用Net-SNMP工具采集監測資料,并結合RRDtool(輪詢資料庫工具)記錄資料及繪制圖檔,然後通過Web頁面的形式展現給管理者使用者。接下來開始建構Cacti監測系統:
Cacti和RRDtool工具可以分别從以下兩個站點下載下傳:
<a href="http://oss.oetiker.ch/rrdtool/">http://oss.oetiker.ch/rrdtool/</a>
<a href="http://www.cacti.net/">http://www.cacti.net</a>
一.配置監測服務端(192.168.0.66):
配置Cacti監測服務端需要AMP(Apache、Mysql、PHP)平台的支援,另外也需要安裝gd、zlib等軟體包。AMP平台可以采用編譯安裝源碼包的方式建構,也可以采用RPM軟體包來建構,為節約時間,本文采用安裝RHEL5系統CD光牒自帶RPM包方式來建構AMP平台。
1.分别安裝建構APM平台需要的RPM軟體包:(安裝過程略)
httpd-2.2.3-31.el5
mysql-5.0.77-3.el5、mysql-connector-odbc-3.51.26r1127-1.el5、mysql-server-5.0.77-3.el5
php-common-5.1.6-23.2.el5_3、php-pdo-5.1.6-23.2.el5_3、php-5.1.6-23.2.el5_3
php-mysql-5.1.6-23.2.el5_3
安裝完成後分别啟動各服務。
2.使用rpm-qa |grep gd、rpm -qa |grep zlib指令檢視軟體包是否安裝,如未安裝就挂載RHEL5CD光牒進行安裝。
3.安裝net-snmp-utils軟體包:
分别安裝lm_sensors、net-snmp、net-snmp-utils三個軟體包:
[root@linux5234 ~]#rpm -ivh lm_sensors
[root@linux5234 ~]#rpm -ivh net-snmp
[root@linux5234 ~]#rpm -ivh net-snmp-utils
4.安裝rrdtool軟體包:
[root@linux5234 ~]#tar zxf rrdtool-1.2.27.tar.gz
[root@linux5234 ~]#cd rrdtool-1.2.27
[root@linux5234 ~]#.configure --prefix=/usr/local
[root@linux5234 ~]#make && make install
5.安裝配置Cacti伺服器套件:(使用 tar zxf /media/6/cacti-0.8.7b-cn-utf8.tar.gz
中文軟體包)
1>安裝Cacti軟體包:先挂載安裝軟體包,然後解壓至Web伺服器網頁目錄,同時添加用于讀寫監測資料的使用者cacti。
[root@linux5234 ~]# mount /dev/cdrom /media/
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@linux5234 ~]# cd /media/6/
[root@linux5234 6]# cd /var/www/html/
[root@linux5234 html]# tar zxf /media/6/cacti-0.8.7b-cn-utf8.tar.gz
[root@linux5234 html]# mv cacti-0.8.7b-cn-utf8 cacti
[root@linux5234 html]# useradd cacti
[root@linux5234 html]# chown -R cacti.cacti cacti/rra/ cacti/log/
2>設定監測資料庫:建立儲存監測資料的資料庫、表,設定好授權通路資料庫的使用者和密碼。
[root@linux5234 html]# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.77 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database cactidb default character set utf8; //建立資料庫并設定預設字元集
Query OK, 1 row affected (0.00 sec)
mysql> grant all on cactidb.* to cacti@localhost identified by 'pwd@123';
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
[root@linux5234 html]# mysql -u cacti -p cactidb < cacti/cacti.sql //導入資料表
Enter password: //輸入密碼後導入成功
3>修改Cacti配置檔案:
[root@linux5234 html]# cd cacti/
[root@linux5234 cacti]# vi include/config.php //需要修改的内容如下
$database_type = "mysql";
$database_default = "cactidb"; //要通路的資料庫名
$database_hostname = "localhost"; //資料庫伺服器的位址
$database_username = "cacti"; //授權通路資料庫的使用者
$database_port = "3306"; //mysql資料庫服務的端口
$config['url_path'] = "/"; //指定Cacti目錄相對于網站根目錄的位置
6.修改httpd.conf配置檔案,使其支援php網頁,并将utf-8作為預設的中文頁面字元集:
[root@linux5234 cacti]# vi /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html/cacti" //設定網站檔案根目錄
<Directory "/var/www/html/cacti"> //設定目錄權限
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
DirectoryIndex index.php index.html //設定預設的索引頁
AddDefaultCharset UTF-8 //設定網頁預設的字元集
重新啟動httpd服務:service httpd restart
二.配置被監測的Linux伺服器(192.168.0.77):
1.安裝net-snmp軟體包:
[root@localhost ~]# mount /dev/cdrom /media/
[root@localhost ~]# cd /media/Server/
[root@localhost Server]# rpm -ivh lm_sensors-2.10.7-4.el5.i386.rpm
[root@localhost Server]# rpm -ivh net-snmp-5.3.2.2-7.el5.i386.rpm
2.修改snmpd服務配置檔案及啟動服務:
[root@localhost ~]# vi /etc/snmp/snmpd.conf
41行
com2sec notConfigUser 192.168.0.66 public //192.168.0.66為Cacti監測伺服器的IP位址
62行
access notConfigGroup "" any noauth exact all none none //将SystemViem 修改為all或read,提供通路權限
85行
view all included .1 80 //去掉此行前面的#号
啟動服務并設定服務自啟動:
[root@localhost ~]# service snmpd start
[root@localhost ~]# chkconfig --level 35 snmpd on
三.初始化Cacti系統:
在用戶端Web浏覽器通路Cacti伺服器(192.168.0.66),第一次通路cacti界面,頁面将跳轉至Cacti的初始化安裝向導界面:
點選“下一步”即可:
選擇“全新安裝”,點選“下一步”即可。
設定各種工具指令的路徑,如果沒有找到,需要手動修改。此時需要注意,如果是編譯安裝的AMP平台,有些路徑需要作對應改變。
四.使用Cacti監測系統:
1.登入管理平台,完成Cacti初始化安裝之後,直接進入web登入界面,如下圖所示,輸入預設的管理者使用者名和密碼(admin/admin):
2.首次登入強制要求更改密碼,更改完成後儲存就可以進入管理界面了:
3.設定RRDtool工具的版本和字型的路徑:在Cacti的控制台界面中,點選左側欄的“設定”,打開Cacti的系統設定界面,确認“正常”标簽頁中的“RRDtool應用程式版本”設定為“RRDtool1.2.x”。
找到“路徑”頁籤中的“RRDtool預設字型路徑”,将字型路徑設定為“/usr/share/fonts/zh_TW/TrueType/bsmi00lp.ttf”:
4.添加被監測的裝置或主機:(本實驗添加一台Linux ftp伺服器為監控對象)
連接配接主機,在Cacti控制台中,點選左側欄“管理”下的“裝置”,然後單擊上方的“添加”按鈕,進入添加新裝置的頁面:
本實驗添加的裝置為“Linux Vsftp伺服器”,裝置IP位址為“192.168.0.77",裝置模闆選擇“ucd/net SNMP裝置”,“SNMP版本”選擇“版本1”,然後擊“建立”完成添加并進行初次連接配接:
指定監測項目:成功連接配接被監測的主機(192.168.0.77)後,可以看到“儲存成功”的提示資訊,可以在頁面下方看到預設監測的項目,另外可以根據實際需要自行添加需要圖像模闆和資料查詢名稱:
然後儲存設定:
5.生成監控圖像:
建立圖像,點選Cacti控制台左側欄的“建立圖像”,進入圖像建立頁面,在“裝置”下拉菜單處指定需要繪制圖像的主機,勾選需要建立圖像的監測項目上,最後點選頁面右下方的“建立”,在出現的頁面中再次單擊“建立”按鈕即可完成:
添加圖像至監測樹:
單擊Cacti控制台左側欄“管理”下的“圖像樹”,在右側點選“預設”,可以對預設的監測樹進行管理,點選右側的“添加”,可以為預設監測樹添加“樹枝”節點項目,有“裝置”、“圖像”、“标頭”三類,本實驗添加“裝置”節點,最後單周“建立”:
6.在Cacti監控服務端執行首次初始化并添加計劃任務,定期采集監控資料:
[root@linux5234 cacti]# su - cacti
[cacti@linux5234 ~]$ php /var/www/html/cacti/poller.php //執行首次初化必須使用cacti使用者,出現以下資料,表示初始化成功,可以檢視到監控圖像,如果沒有以下資料,将不會看到正常的監控圖像
OK u:0.00 s:0.14 r:2.82
OK u:0.00 s:0.14 r:2.83
OK u:0.00 s:0.15 r:2.85
OK u:0.00 s:0.18 r:2.89
OK u:0.00 s:0.18 r:4.85
OK u:0.00 s:0.18 r:5.93
OK u:0.00 s:0.18 r:5.94
OK u:0.00 s:0.18 r:5.99
OK u:0.00 s:0.18 r:6.00
OK u:0.00 s:0.18 r:7.04
OK u:0.00 s:0.19 r:7.04
OK u:0.00 s:0.19 r:7.05
10/21/2010 11:42:31 AM - SYSTEM STATS: Time:9.2262 Method:cmd.php Processes:1 Threads:N/A Hosts:3 HostsPerProcess:3 DataSources:25 RRDsProcessed:21
OK u:0.00 s:0.19 r:8.11
OK u:0.01 s:0.19 r:8.11
[cacti@linux5234 ~]$ crontab -e //添加計劃任務
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php &> /dev/null
[cacti@linux5234 ~]$ exit
[root@linux5234 cacti]# service crond start
[root@linux5234 cacti]# chkconfig --level 35 crond on
7.檢視監測的結果:(監控圖像界面)
單擊Cacti控制台上方的“檢視圖像”标簽,然後展開左側欄的“預設”監測樹,點選需要檢視的裝置(“Linux Vsftp伺服器”),檢視到監測項目的圖示清單資訊:
Cacti到此為止,配置已經完成,另外就是Cacti的使用,根據實際需要進行設定,另外還可以添加一些Cacti支援的插件,獲得一些擴充的服務。
本文轉自 kk5234 51CTO部落格,原文連結:http://blog.51cto.com/kk5234/408628,如需轉載請自行聯系原作者