http://aaronw.me/static/90.html
cacti是一套PHP程式,它運用snmpget采集資料,使用rrdtool繪圖。使用Cacti能統計網絡裝置的流量
、CPU、系統負載等參數,也可以自定義監測的名額。
所有的軟體都放在/opt目錄下
1、安裝apache
[root@script opt]# # tar vxzf httpd-2.0.54.tar.gz
[root@script opt]# cd httpd-2.0.54
[root@script httpd-2.0.54]# ./configure –prefix=/usr/local/apache –enable-so
[root@script httpd-2.0.54]# make && make install
[root@script httpd-2.0.54]# /usr/local/apache/bin/apachectl start
[root@script httpd-2.0.54]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
[root@script httpd-2.0.54]# chmod a+x /etc/init.d/httpd
[root@script httpd-2.0.54]# vi /etc/init.d/httpd
在第三行加入如下兩行:
# chkconfig: 345 85 15
# description: Starts and stops the Apache HTTP Server.
儲存退出:wq
[root@script httpd-2.0.54]# chkconfig –add httpd
2、安裝mysql
[root@script opt]# tar vxzf mysql-4.0.18.tar.gz
[root@script opt]# cd mysql-4.0.18
[root@script mysql-4.0.18]# ./configure –prefix=/usr/local/mysql
[root@script mysql-4.0.18]# make && makeinstall
[root@script mysql-4.0.18]# ./scripts/mysql_install_db
[root@script mysql-4.0.18]# /usr/local/mysql/bin/mysqld_safe –user=root &
[root@script mysql-4.0.18]# /usr/local/mysql/bin/mysqladmin -u root password 888888
[root@script mysql-4.0.18]# cp /usr/local/mysql/share/mysql/mysql.server
/etc/rc.d/init.d/mysqld
[root@script mysql-4.0.18]# chkconfig –add mysqld
3、安裝php
[root@script opt]# tar vxzf php-4.4.2.tar.gz
[root@script opt]# cd php-4.4.2
[root@script php-4.4.2]# ./configure –prefix=/usr/local/php \
–with-apxs2=/usr/local/apache/bin/apxs \
–with-config-file-path=/usr/local/php \
–with-mysql=/usr/local/mysql \
–with-zlib-dir=/usr/include \
–enable-sockets \
–with-gd
最後可能會提示缺少libxml,就需要下載下傳回來安裝,很簡單 ./configure 然後 make && make
install
[root@script php-4.4.2]# make && make install
[root@script php-4.4.2]# cp php.ini-dist /usr/local/php/php.ini
[root@script php-4.4.2]# vi /usr/local/apache/conf/httpd.conf
按 I 鍵添加
AddType application/x-tar .tgz
AddType application/x-httpd-php .php
AddType p_w_picpath/x-icon .ico
DirectoryIndex index.php index.html index.html.var
儲存退出 :wq
[root@script php-4.4.2]# /usr/local/apache/bin/apachectl restart
4、設定mysql
[root@script opt]# /usr/local/mysql/bin/mysql -uroot -p888888
mysql> create database cacti;
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY ‘cactipwd’;
mysql> flush privileges;
注:以上語句輸出 Query OK, 0 rows affected (0.01 sec) 表示成功
mysql> exit
5、檢查apache+php+mysql
[root@script opt]# cd /usr/local/apache/htdocs
[root@script htdocs]# touch test.php
[root@script htdocs]# vi test.php
<?
phpinfo( );
?>
儲存退出 :wq
[root@script htdocs]# touch mysqltest.php
[root@script htdocs]# vi mysqltest.php
<html>
<body>
<?
$link=mysql_connect(‘localhost’,'root’,’888888′);
mysql_select_db(‘mysql’);
$str=”select * from user;”;
$result=mysql_query($str,$link);
$show=mysql_num_rows($result);
mysql_close($link);
for ($i=0;$i < $show;$i++)
{
$arr[$i]=mysql_fetch_array($result);
};
?>
<table align=center border=1>
<tr align=center>
<td>Host</td>
<td>User</td>
<td>Password</td>
</tr>
<?for ($i=0;$i<$show;$i++){?>
<tr>
<td><?echo $arr[$i][Host]?></td>
<td><?echo $arr[$i][User]?></td>
<td><?echo $arr[$i][Password]?></td>
</tr>
<?};?>
</body>
</html>
重新開機mysql + apache 服務
[root@script htdocs]# service mysql restart
[root@script htdocs]# service httpd restart
進入浏覽器檢查
http://localhost/test.php 和 http://localhost/mysqltest.php
6、安裝rrtool
與mrtg相比,rrdtool自帶了gd庫,是以不用先安裝gd庫。(不過由于rrdtool自帶的gd庫不支援中文,
是以rrdtool畫出來的圖也不能有中文,否則會出現亂碼)。
注意:rrdtool1.2的版本由于已經不再自帶外部的lib庫(如cgilib,zlib等),是以需要從
http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs/下載下傳這些庫來安裝。建議還是使用
1.0的版本,比較友善。
[root@script opt]# tar vxzf rrdtool-1.0.50.tar.gz
[root@script local]# cd rrdtool-1.0.50
[root@script rrdtool-1.0.50]# ./configure –prefix=/usr/local/rrdtool
[root@script rrdtool-1.0.50]# make && make install
7、安裝net-snmp、snmpwalk和snmpget指令
[root@script opt]# rpm -qa | grep net-snmp
net-snmp-5.0.9-2.30E.15
net-snmp-devel-5.0.9-2.30E.15
net-snmp-libs-5.0.9-2.30E.15
net-snmp-utils-5.0.9-2.30E.15
[root@script opt]# vi /etc/snmp/snmpd.conf
更改 com2sec notConfigUser default public
改為 com2sec notConfigUser 127.0.0.1 public
更改 access notConfigGroup “” any noauth exact systemview none
none
改為 access notConfigGroup “” any noauth exact all none
将 #view all included .1 80 前面的 # 注釋去掉
儲存退出 :wq
[root@script opt]# service snmpd restart
注:如果你機器内沒有snmpwalk和snmpge指令,請到安裝盤裡查找 net-snmp-utils 包,執行 rpm -
ivh net-snmp-utils-5.0.9-2.30E.15.i386.rpm 之後這兩個指令就在系統裡了。其他包也都在安裝盤
裡 確定安裝這四個包就OK
8、安裝配置cacti
[root@script opt]# cp cacti-0.8.6g.tar.gz /usr/local/apache/htdocs/
[root@script opt]# cd /usr/local/apache/htdocs/
[root@script htdocs]# tar vxzf cacti-0.8.6g.tar.gz
[root@script htdocs]# mv cacti-0.8.6g cacti
[root@script htdocs]# cd cacti
[root@script cd cacti]# /usr/local/mysql/bin/mysql -uroot -p888888 cacti < cacti.sql
[root@script cd cacti]# cd scripts
[root@script cd scripts]# vi /usr/local/apache/htdocs/cacti/include/config.php
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cactiuser”;
$database_password = “cactipwd”;
更改使用者、密碼 等項 與上面給出的對應 儲存退出
[root@script cd scripts]# vi /etc/crontab
加入
*/5 * * * * root /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php >
/dev/null 2>&1
儲存退出:wq