1. 程式人生 > >cacti漢化版+rrdtool1.2+apache+php+mysql+lib

cacti漢化版+rrdtool1.2+apache+php+mysql+lib

 以下基於Centos5.0 下,完整教程,其中有可能省略瞭解壓縮包的命令,
假如是,希望大家自己弄,就不用我說了吧。
這個過程是我2007年9月-10月間,自己通過找教程弄來的,
按這個過程走100%能夠完成安裝,並畫出中文圖
前言,安裝centos
安裝時一般最小安裝,但gcc等工具要裝上,更有 snmp 軟體包,這樣避免裝完以後再yum安裝,而且據說yum等安裝的snmp很多時候不是很好用,具體不知。
安裝完以後,一般只留以下服務即可,並關閉防火牆。
crond
httpd //以後裝的
iptables
kudzu
mysqld //以後裝的
network
sendmail
snmpd
snmptrapd
sshd
yum-updatesd
使用軟體如下
cacti-0.8.6j-cn.tar.gz
freetype-2.3.5.tar.gz
httpd-2.2.6.tar.gz
libart_lgpl-2.3.17.tar.gz
libpng-1.2.18.tar.gz
zlib-1.2.3.tar.gz
mysql-5.0.45-linux-i686-glibc23.tar.gz
php-5.1.6.tar.gz
rrdtool-1.2.23.tar.gz
fonts-chinese-3.02-9.6.el5.noarch.rpm
一,安裝 Mysql
1. 從
http://www.mysql.com


下載二進位制版的Mysql安裝包 //這個MYSQL是二進位制版的,不用編譯
2.將mysql的壓縮包複製到/usr/local/ 目錄
# cp mysql-standard-5.0.15-linux-gnu-i686-glibc23.tar.gz /usr/local
3. 解壓縮到/usr/ocal/下並改名為mysql,併為了節省空間,刪除mysql安裝包
# tar xzvf mysql-standard-5.0.15-linux-gnu-i686-glibc23.tar.gz
# mv mysql-standard-5.0.15-linux-gnu-i686-glibc23 mysql
# rm mysql-standard-5.0.15-linux-gnu-i686-glibc23
4.建立mysql組,建立mysql使用者並且加入到mysql組中
# groupadd mysql
# useradd mysql -g mysql
5. 覆蓋/etc/my.cnf
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
6. 進入mysql目錄初試化表並且規定用mysql使用者來訪問。初始化表以後就開始給mysql和root使用者設定訪問許可權
# cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql               
7. 設定root能訪問/usr/local/mysql
# chown -R root .
8. 設定mysql使用者能訪問/usr/local/mysql/data ,裡面存的是mysql的資料庫文件.這個目錄是在/etc/my.cnf中有配置,在mysql_install_db時產生
# chown -R mysql data
9. 設定mysql使用者能訪問/usr/local/mysql/data/mysql下的任何文件
# chown -R mysql data/.
10.設定mysql組能夠訪問/usr/local/mysql
# chgrp -R mysql .
11. 執行mysql,假如沒有問題的話,應該會出現類似這樣的提示:
[1] 42264
Starting mysqld daemon with databases from /usr/local/mysql/var
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
假如出現 mysql ended這樣的語句,表示Mysql沒有正常啟動,您能夠到log中查詢問題,Log文件的通常在/etc/my.cnf中配置。大多數問題是許可權配置不正確引起的。
12. 用如下命令修改MYSQL密
# /usr/local/mysql/bin/mysqladmin -u root password yourpassword
13. copy編譯目錄的一個指令碼,配置使mysql每次啟動都能自動執行
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 700 /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on
14. 啟動mysqld服務
# service mysqld start
二,編譯Apache
# ./configure --prefix=/usr/local/apache --enable-so
# make
# make install
# cp /usr/local/apache/bin/* /usr/bin/
# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
使用編輯器開啟httpd文件,並在第一行#!/bin/sh下增加兩行文字如下
# chkconfig: 345 80 15
# description: Apache
接著註冊該服務
#chkconfig --add httpd
三,編譯 PHP
注:直接複製以下程式碼,有可能因為空格及回車問題導致不完整,請仔細驗證
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-mysqli=/usr/local/mysql/bin/mysql_config --with-xmlpc --enable-sockets --enable-mbstring --with-pcre-regex
# make
# make install
# cp /usr/local/php/bin/* /usr/bin
# cp php.ini-dist /usr/local/php/lib/php.ini
# vi /usr/local/apach/conf/httpd.conf
新增如下2行:(添在AddType *** 之後,自己看)
AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps
四,編譯安裝libpng,freetype,libart_lgpl,zlib
編譯 zlib
#./configure --prefix=/usr
#make
#make install
編譯 libpng
#cp scripts/makefile.gcmmx makefile
#./configure --disable-shared --prefix=/usr
#make
#make install
編譯 freetype
#./configure --disable-shared --prefix=/usr
#make
#make install
編譯 libart_lgpl
#./configure --disable-shared --prefix=/usr
#make
#make install
五,編譯 rrdtool
解壓縮後,修改rrd_graph.c.將(行數因版本問題,可能不同,請自己看好),然後再編譯
行51: {60, 24*3600, TMT_MINUTE,30, TMT_HOUR,2, TMT_HOUR,4, 0,"%d日(%H:%M)"},
行53: {180, 24*3600, TMT_HOUR,1, TMT_HOUR,6, TMT_HOUR,12, 0,"%d日(%H:%M)"},
行55: {600, 0, TMT_HOUR,6, TMT_DAY,1, TMT_DAY,1, 24*3600,"周%a(%d日)"},
行56: {1200, 0, TMT_HOUR,6, TMT_DAY,1, TMT_DAY,1, 24*3600,"%d日"},
行57: {1800, 0, TMT_HOUR,12, TMT_DAY,1, TMT_DAY,2, 24*3600,"周%a(%d日)"},
行58: {2400, 0, TMT_HOUR,12, TMT_DAY,1, TMT_DAY,2, 24*3600,"周%a(%d日)"},
行59: {3600, 0, TMT_DAY,1, TMT_WEEK,1, TMT_WEEK,1, 7*24*3600,"%V周"},
行60: {3*3600, 0, TMT_WEEK,1, TMT_MONTH,1, TMT_WEEK,2, 7*24*3600,"%V周"},
行3065: //setlocale(LC_TIME,"");
稈3066: #ifdef HAVE_MBSTOWCS
行3067: setlocale(LC_ALL,"zh_CN");
# ./configure
# make
# make install
# cp /usr/local/rrdtool/bin/* /usr/local/bin/ //複製文件
# ln -s /usr/local/rrdtool-1.2.6 /usr/local/rrdtool //改名
六,上傳cacti,連同匯入資料庫等
按我的教程,上傳文件到 /usr/local/apache/htdocs/cacti 就能夠用ip訪問了
apache的配置和cacti的.php文件怎樣連資料庫我就不說了
1,建mysql資料庫,建議使用phpmyadmin,那些命令太煩了,但注意下圖


七,配置snmp
修改 /etc/snmp/snmpd.conf
1、查詢以下欄位:
程式碼:
# sec.name source community
com2sec notConfigUser default public
將"comunity"欄位改為您要配置的密碼.比如"chinacentos".
將“default”改為您想哪臺機器能夠看到您的snmp資訊,如10.10.10.10。授權伺服器IP
2、查詢以下欄位:程式碼:
####
# Finally, grant the group read-only access to the systemview view.
# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact systemview none none
將"read"欄位改為all.
程式碼:
#access notConfigGroup "" any noauth exact all none none
3、查詢以下欄位:程式碼:
## incl/excl subtree mask
#view all included .1 80
將該行前面的"#"去掉.
4、查詢以下欄位:程式碼#
#name incl/excl subtree mask(optional)
新增一行view all included .1
變成
#name incl/excl subtree mask(optional)
view all included .1
5、查詢一下欄位:程式碼
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
將該行前面的"#"去掉.
八,配置poller.php 自動採集資料
#crontab -u root -e
然後輸入 (/5,是5分鐘執行一次的意思,能夠改您要的時間。具體用法能夠baidu一下crontab)
為什麼用root執行,簡單,假如有條件,就單獨建使用者,但是我覺得沒什麼。
假如單獨建使用者,上邊的命令就要改成 -u user -e ,假如用root來執行這個命令,還要再加一下
chown -R user catci/rra cacti/log 呵呵
*/5 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1
手工執行以上命令是
#/usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php ,也是同樣效果
這裡插一條,要安裝字型庫
# rpm -ivh fonts-chinese-3.02-9.6.el5.noarch.rpm
九,使用cacti,並配置流量圖
安裝完cacti以後,點 全域性配置-路徑
/usr/share/fonts/zh_CN/TrueType/ukai.ttf 這個是配置中文字型文件的路徑,自己修改。
點 圖象輸出 ,輸出方式為 輸出到本地
1,登陸cacti,點 新建裝置
描述,裝置名,都寫ip地址就行,好區分
裝置模板選擇 uct/net snmp 裝置
“SNMP連線字串” 這裡就是叫您改的snmpd.conf 的裡邊那個密碼
其他預設
點 建立 以後,再點 為此裝置生成影象
資料查詢 [SNMP - 介面統計] ,這裡選擇 eth0 ,就是第二個,再點 建立 ,這樣,網絡卡的流量圖就有了,等幾分鐘,就有圖了。
這個是建立網絡卡的,這個配置比較特別,假如要看cpu和記憶體的圖(使用 ucd/net 模板)
那您要先建立 資料來源
再建立 圖象
具體自己研究。。