Centos使用Cacti監控你的網路

火星人 @ 2014-03-03 , reply:0


Centos使用Cacti監控你的網路

   Centos使用Cacti監控你的網路



安裝前的準備
首先要做到時間上必須準確,使用ntpdate來和網路時間伺服器對時
crontab -e
編輯自動執行文檔添加下面這一行
*/1 * * * * /usr/sbin/ntpdate time.nist.gov
上面表示每分鐘同時間伺服器進行一次同步。
接下來我們這次安裝CACTI需要使用到mysql apache php 這三個我們使用tar包來進行安裝,這樣可以使用到最新版本的
另外要使用到zlib-devel zlib libpng-devel libpng freetype-devel freetype libjpeg-devel libjpeg fontconfig-devel fontconfig libxml2-devel   libxml2 libxml2-python gd-devel gd這些庫。
卸載已經安裝好的RPM包
首先我們如果CENTOS在安裝時自帶了mysql apache php的話就要用
rpm -e --nodeps httpd
rpm -e --nodeps mysql
rpm -e --nodeps php
使用上面的命令來將rpm安裝好的刪除掉,建議如果可以上網最好使用
yum -y remove httpd mysql php
因為yum來刪除的話可以將相關聯的包也刪除掉,這樣更加完美。
刪除了上面的包后我們可以來進行安裝了,安裝順序為mysql>apache>php
首先下載mysql並進行解壓


一、Cacti的安裝

1.安裝環境:Centos 5
2.安裝 MySQL、Apache、PHP
tar -xzvf mysql-5.0.22.tar.gz
cd mysql-5.0.22
grep mysql /etc/passwd
查看是否已經有mysql用戶
useradd mysql
添加mysql用戶,用於運行mysql服務。這樣更安全,千萬不能用root來運行mysql
./configure --prefix=/usr/local/mysql
將mysql進行配置,指定安裝路徑
make
進行編譯
make install
進行安裝
cd /usr/local/mysql/
進入mysql的安裝目錄
find ./ -name "*.cnf"
查找配置文件模板
cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
將模板配置文件改名複製到/etc目錄下
/usr/local/mysql/bin/mysql_install_db --user=mysql
生成資料庫,必須指定資料庫運行的用戶名
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql
設置目錄所屬組所屬用戶
/usr/local/mysql/bin/mysqld_safe --user=mysql&
將數據服務啟動,加&是以後台方式運行,可以用jobs來查看後台運行的程序
vi /etc/rc.d/rc.local
在該文件中添加/usr/local/mysql/bin/mysqld_safe --user=mysql&讓mysql開機就啟動
/usr/local/mysql/bin/mysqladmin -u root password '123456'
設置資料庫root用戶密碼為123456
/usr/local/mysql/bin/mysql -u root -p
輸入密碼測試修改後的密碼是否為123456
/usr/local/mysql/bin/mysqladmin -uroot -p variables
查看資料庫輸出數據(最大連接數,最大連接用戶等)
//修改MySQL的最大連接數
# vi /etc/my.cnf
//添加以下行

set-variable=max_connections=1000
set-variable=max_user_connections=500
set-variable=wait_timeout=200
//max_connections設置最大連接數為1000
//max_user_connections設置每用戶最大連接數為500
//wait_timeout表示200秒后將關閉空閑(IDLE)的連接,但是對正在工作的連接不影響。
//保存退出,並重新啟動MySQL
killall mysqld
殺死mysql的進程
netstat -an |grep 3306
查看是否還有3306這個埠,沒有則表明,已經把進程殺死了
//重新啟動MySQL后使用下面的命令查看修改是否成功
# mysqladmin -uroot -p variables
Password:
//可以看到以下項說明修改成功
| max_connections                 | 1000
| max_user_connections            | 500
| wait_timeout                    | 200

(2).安裝Apache
下載地址:http://httpd.apache.org/
# tar ?zxvf httpd-2.2.4.tar.gz
# cd httpd-2.2.4
# ./configure --prefix=/usr/local/apache --enable-so
//編譯時加上載入模塊參數--enable-so
# make
# make install
#vi /usr/local/apache/conf/httpd.conf
  //修改Apache配置文件,添加ServerName www.yourdomain.com              (或ServerName 本機ip)
# vi /etc/rc.d/rc.local
  //在rc.local上加入一行/usr/local/apache/bin/apachectl ?k start,系統啟動時啟動Apache服務。
(3).安裝PHP
先安裝zlib,freetype,libpng,jpeg以便於讓PHP支持GD庫(Cacti的 WeatherMap插件必須要較新GD庫的支持)在這裡使用yum來對zlib,freetype,libpng.libjpeg等進行更新。也可以選擇tar包來安裝GD,本文是使用yum安裝的最新版本的GD

6).安裝GD
yum -y update zlib-devel zlib libpng-devel libpng freetype-devel freetype libjpeg-devel libjpeg fontconfig-devel fontconfig libxml2-devel libxml2 libxml2-python gd-devel gd

9).安裝PHP
PHP下載地址:http://www.php.net/downloads.php#v5
tar -zxvf  php-5.2.3.tar.gz
cd php-5.2.3
安裝之前要cp /usr/include/gd.h /usr/lib/gd.h 才可以進行後面的編譯
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-gd=/usr/lib --with-freetype-dir --with-png-dir --with-jpeg-dir --with-zlib --enable-gd-jis-conv --with-mail --enable-xml --enable-sockets
# make
# make install
# cp php.ini-recommended /usr/local/php/lib/php.ini
# ln ?s /usr/local/php5/bin/* /usr/local/bin/
# vi /usr/local/apache/conf/httpd.conf
查找AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在其下加入 AddType application/x-tar .tgz
AddType application/x-httpd-php .php
AddType image/x-icon .ico
修改DirectoryIndex 行,添加index.php
修改為DirectoryIndex index.php index.html index.html.var
# vi /usr/local/apache/htdocs/test.php
添加以下行:
//php標記(用<代替[)
[?php      
Phpinfo();
?]
wq保存退出。
# /usr/local/apache/bin/apachectl ?k stop
#/usr/local/apache/bin/apachectl ?k start
附註,有時候在訪問測試頁面,並不能出來,這裡候要將php.ini中short_open_tag設置為on
或者將測試頁的代碼寫成標準的php格式,要在第一行的?號後面加上php

在瀏覽器中輸入:http://www.yourdomain.com/test.php進行測試。

對php編譯選項的解釋:
--prefix=/usr/local/php   //指定PHP的安裝目錄
--with-apxs2=/usr/local/apache2/bin/apxs      //支持Apache模塊
--with-mysql=/usr/local/mysql    //支持MySQl
--with-gd=/usr/local/libgd     //支持GD庫
--enable-gd-native-ttf     //激活對本地 TrueType 字元串函數的支持
--with-ttf     //激活對 FreeType 1.x 的支持
--with-freetype-dir=/usr/local/freetype    //激活對 FreeType 2.x 的支持
--with-jpeg-dir=/usr/local/libjpeg //激活對 jpeg-6b 的支持
--with-png-dir=/usr   //激活對 png 的支持
--with-zlib-dir=/usr/local/zlib //激活對zlib 的支持
--enable-mbstring    //激活mbstring模塊
--enable-gd-jis-conv //使JIS-mapped可用,支持日文字體
--with-mail   //支持Mail函數
--enable-xml     //支持XML
--enable-sockets      //支持套接字
     
1.安裝RRDTool
首先將libart_lgpl-devel使用Yum安裝好(Rrdtool安裝需要)

39
yum install libart_lgpl-devel
將Cgilib解壓

143
tar -xzvf cgilib-0.5.tar.gz

144
cd cgilib-0.5
將Cgilib編譯,但不要安裝

146
make
將這兩個文件複製到庫目錄下(安裝Rrdtool時需要)

150
cp cgi.h /usr/include/

151
cp libcgi.a /usr/local/lib
將Rrdtool進行解壓

154
tar -xzvf rrdtool.tar.gz
把Rrdtool進行配置,編譯和安裝

157
./configure --prefix=/usr/local/rrdtool

158
make

159
make install


2.安裝net-snmp
yum install net-snmp*
使用yum可以將net-snmp相關聯的包都自動安裝為最新版本

3.安裝Cacti
Cacti官方網站:www.cacti.net/
# tar ?zxvf cacti-0.8.6j.tar.gz
# mv ?r cacti-0.8.6j /usr/loca/apache/htdocs/cacti
# vi /usr/local/apache/htdocs/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";

//添加cacti用戶
# useradd cacti
//將rra目錄的所有權給cacti用戶
# chown ?R cacti /usr/loca/apache/htdocs/cacti/rra
//修改cacti目錄所屬組
# chgrp ?R cacti /usr/loca/apache/htdocs/cacti
//為cacti用戶添加cron任務
# su ? cacti
# crontab ?e
*/5 * * * * /usr/local/bin/php /usr/local/apache2/htdocs/cacti/poller.php > /dev/null 2>&1
注意:首次執行poller.php時請使用cacti用戶,否則生成的rrd文件cacti將沒有寫入許可權。
     
     
5.資料庫配置
#mysql ?uroot ?p
Password:
mysql> create database cacti;
Query OK, 1 row affected (0.00 sec)

mysql> grant all on cacti.* to cacti@localhost identified by 'cacti';
Query OK, 1 row affected (0.00 sec)

mysql>exit
# cd /usr/local/apache/htdocs/cacti
# mysql ?uroot ?p cacti < cacti.sql
Password:
     
6.完成cacti的安裝
1).在瀏覽器中輸入:http://www.yourdomain.com/cacti/
默認用戶名:admin 密碼:admin
2).更改密碼
3).設置cacti用到的命令路徑
snmpwalk Binary Path          /usr/local/ bin/snmpwalk
snmpget Binary Path         /usr/local/ bin/snmpget
RRDTool Binary Path         /usr/local/ bin/rrdtool(設置成rrdtool文件所在路徑)
PHP Binary Path              /usr/local/bin/php
Cacti Log File Path           /usr/local/apache/htdocs/cacti/log/cacti.log

4).進入cacti后需確認更改以下位置:(如下圖)
Console>Settings>General
將rrdtool版本改成和安裝相匹配的版本

如果出現添加了設備,狀態為未知,可以查看cacti目錄下的rra目錄中是否有數據產生,如果沒有任何文件的話,可以切換到cacti用戶
su - cacti
再手動執行生成數據的命令
/usr/local/bin/php /usr/local/apache2/htdocs/cacti/poller.php
再正常的話會有文件生成了,前提是必須已經添加了設備

也可以使用tail -f /var/log/cron 查看計劃任務中是否執行了

《解決方案》

謝謝分享




[火星人 via ] Centos使用Cacti監控你的網路已經有349次圍觀

http://www.coctec.com/docs/service/show-post-1130.html