Centos使用Cacti監控你的網路

技術小胖子發表於2017-11-16


使用Cacti監控你的網路(二)- 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
//新增以下行
[mysqld]

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
下載地址:[url]http://httpd.apache.org/[/url]
# 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 [url]www.yourdomain.com[/url]              (或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,本文是使用rpm格式安裝的最新版本的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下載地址:[url]http://www.php.net/downloads.php#v5[/url]
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
 
在瀏覽器中輸入:[url]http://www.yourdomain.com[/url]/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
安裝RRDTool部分請參考本blog的NAGIOS部分中有一篇RRDTool安裝。
 
2.安裝net-snmp
yum install net-snmp*
使用yum可以將net-snmp相關聯的包都自動安裝為最新版本
 
3.安裝Cacti
Cacti官方網站:[url]www.cacti.net/[/url]
# 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).在瀏覽器中輸入:[url]http://www.yourdomain.com/cacti/[/url]
預設使用者名稱: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 檢視計劃任務中是否執行了




     本文轉自fine102 51CTO部落格,原文連結:http://blog.51cto.com/gzmaster/73121,如需轉載請自行聯絡原作者





 


相關文章