天天看點

cacti

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

繼續閱讀